@Override
    public int hashCode() {
        int result;
        long temp;
        result = saleId;
        result = 31 * result + itemId;
        result = 31 * result + quantityPurchased;
        result = 31 * result + (itemCostPrice != null ? itemCostPrice.hashCode() : 0);
        temp = itemUnitPrice != +0.0d ? Double.doubleToLongBits(itemUnitPrice) : 0L;
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        result = 31 * result + discountPercent;
        return result;
    }