<?php

namespace OfficeBrain\Bundle\QuoteBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\Common\Collections\ArrayCollection;
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Exclude;
use JMS\Serializer\Annotation\MaxDepth;

/**
 * QuoteMaster
 *
  * @ORM\Table(name="tbl_quote_master", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
  * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\QuoteBundle\Entity\QuoteMasterRepository")
  * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
  * @ExclusionPolicy("none")
 */


class QuoteMaster
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id",type="bigint",length=20 ,options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="instance_id", type="bigint",length=20 ,options={"unsigned"=true})
     */
    private $instanceId;

    /**
     * @var integer
     *
     * @ORM\Column(name="instance_type", type="string", length=255,nullable=true)
     */
    private $instanceType;

    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $userId;

    /**
     * @var integer
     *
     * @ORM\Column(name="user_type", type="string", length=255,nullable=true)
     */
    private $userType;

    /**
     * @var text
     *
     * @ORM\Column(name="culture", type="text", length=60, nullable=true)
     */
    private $culture = 'en_us';
    /**
     * @var string
     *
     * @ORM\Column(name="note", type="string", length=255,nullable=true)
     */
    private $note;

    /**
     * @var integer
     *
     * @ORM\Column(name="preffered_state", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $prefferedState;

    /**
     * @var integer
     *
     * @ORM\Column(name="preffered_distributor_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $prefferedDistributorId;

    /**
     * @var string
     *
     * @ORM\Column(name="zip_code", type="string", length=255,nullable=true)
     */
    private $zipCode;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="on_hand_date", type="datetime",nullable=true)
     */
    private $onHandDate;

    /**
     * @var integer
     *
     * @ORM\Column(name="coupon_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $couponId;

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_mail_sent", type="boolean",options={"default" = false},nullable=true)
     */
    private $isMailSent;

    /**
     * @var string
     *
     * @ORM\Column(name="quote_status", type="string", length=255,nullable=true)
     */
    private $quoteStatus ='draft';

    /**
     * @var string
     *
     * @ORM\Column(name="secret_key", type="string", length=255,nullable=true)
     */
    private $secretKey;

    /**
     * @var integer
     *
     * @ORM\Column(name="supplier_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $supplierId;

    /**
     * @var integer
     *
     * @ORM\Column(name="inquiry_ref_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $inquiryRefId;

    /**
     * @var string
     *
     * @ORM\Column(name="inquiry_ref_type", type="string", length=255,nullable=true)
     */
    private $inquiryRefType;

    /**
     * @var string
     *
     * @ORM\Column(name="header_text_field", type="text",nullable=true)
     */
    private $headerTextField;

    /**
     * @var string
     *
     * @ORM\Column(name="footer_text_field", type="text",nullable=true)
     */
    private $footerTextField;

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_visible_header_text", type="boolean",options={"default" = false},nullable=true)
     */
    private $isVisibleHeaderText = true;

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_visible_footer_text", type="boolean", options={"default" = false},nullable=true)
     */
    private $isVisibleFooterText = true;

    /**
     * @var string
     *
     * @ORM\Column(name="quote_title", type="string", length=255,nullable=true)
     */
    private $quoteTitle;

    /**
     * @var integer
     *
     * @ORM\Column(name="culture_code", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $cultureCode;

    /**
     * @var integer
     *
     * @ORM\Column(name="culture_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $cultureId;

    /**
     * @var integer
     *
     * @ORM\Column(name="order_master_id", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $orderMasterId;

    /**
     * @var string
     *
     * @ORM\Column(name="grand_total", type="decimal",precision=11, scale=2, options={"default" = 0.00})
     */
    private $grandTotal = '0.00';

    /**
     * @var string
     *
     * @ORM\Column(name="sub_total", type="decimal",precision=11, scale=2, options={"default" = 0.00})
     */
    private $subTotal = '0.00';

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_visible_sub_total", type="boolean",options={"default" = false}, nullable=true)
     */
    private $isVisibleSubTotal= true;

    /**
     * @var string
     *
     * @ORM\Column(name="discount", type="decimal",precision=11, scale=2, options={"default" = 0.00})
     */
    private $discount = '0.00';

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_visible_discount", type="boolean",options={"default" = false},nullable=true)
     */
    private $isVisibleDiscount= false;
	
    /**
     * @var string
     *
     * @ORM\Column(name="additional_charges_type", type="string", length=255,nullable=true)
     */
    private $additionalChargesType;
    
    /**
     * @var string
     *
     * @ORM\Column(name="additional_charges", type="decimal",precision=11, scale=3, options={"default" = 0},nullable=true)
     */
    private $additionalCharges;

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_visible_additional_charges", type="boolean",options={"default" = false},nullable=true)
     */
    private $isVisibleAdditionalCharges= false;

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_visible_grand_total", type="boolean",options={"default" = false},nullable=true)
     */
    private $isVisibleGrandTotal= false;

    /**
     * @var string
     *
     * @ORM\Column(name="sub_total_text", type="string", length=255,nullable=true)
     */
    private $subTotalText;

    /**
     * @var string
     *
     * @ORM\Column(name="additional_charges_text", type="string", length=255,nullable=true)
     */
    private $additionalChargesText;
    
    /**
     * @var string
     *
     * @ORM\Column(name="negotation_comment", type="text", nullable=true)
     */
    private $negotationComment;

    /**
     * @var string
     *
     * @ORM\Column(name="discount_text", type="string", length=255,nullable=true)
     */
    private $discountText;

    /**
     * @var string
     *
     * @ORM\Column(name="grand_total_text", type="string", length=255,nullable=true)
     */
    private $grandTotalText;

    /**
     * @var string
     *
     * @ORM\Column(name="user_comment", type="string", length=255,nullable=true)
     */
    private $userComment;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created_uid", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $createdUid;

    /**
     * @var integer
     *
     * @ORM\Column(name="updated_uid", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $updatedUid;
	
    /**
     * @var integer
     *
     * @ORM\Column(name="erp_id", type="bigint",length=20 ,options={"unsigned"=true}, nullable=true)
     */
    private $erpId;
    
    /**
     * @var integer
     *
     * @ORM\Column(name="deleted_uid", type="bigint",length=20 ,options={"unsigned"=true},nullable=true)
     */
    private $deletedUid;

    /**
     * @var \DateTime @Gedmo\Timestampable(on="create")
     * @ORM\Column(name="created_at", type="datetime",nullable=true)
     */
    private $createdAt;

    /**
      * @var \DateTime @Gedmo\Timestampable(on="update")
      * @ORM\Column(name="updated_at", type="datetime",nullable=true)
      */
    private $updatedAt;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="deleted_at", type="datetime",nullable=true)
     */
    private $deletedAt;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="expired_at", type="datetime",nullable=true)
     */
    private $expiredAt;
	
    /**
     * Bidirectional (OWNING SIDE - FK)
     * @ORM\OneToMany(targetEntity="QuoteItemLine", mappedBy="quoteMasterId", cascade={"remove"})
     */
    private $quoteItemLine;
    
    /**
     * Bidirectional (OWNING SIDE - FK)
     * @MaxDepth(1)
     * @ORM\OneToMany(targetEntity="QuoteDistributorContactMapping", mappedBy="quoteMasterId", cascade={"remove"})
     */
    private $quoteDistributorContactMapping;
    
    /**
     * * Bidirectional (OWNING SIDE - FK)
     * @ORM\OneToMany(targetEntity="QuoteSupplierContactMapping", mappedBy="quoteMasterId", cascade={"remove"})
     */
    private $quoteSupplierContactMapping;
    
    /**
     * @ORM\OneToMany(targetEntity="QuoteUserContactMapping", mappedBy="quoteMasterId", cascade={"remove"})
     */
    private $quoteUserContactMapping;
    
    /**
     * @ORM\OneToOne(targetEntity="QuoteBillingDetail", mappedBy="quoteMasterId", cascade={"remove"})
     */
    private $quoteBillingDetail;
    
    public function __construct() {
    	$this -> quoteItemLine = new ArrayCollection();
    	$this -> quoteDistributorContactMapping = new ArrayCollection();
    	$this -> quoteSupplierContactMapping = new ArrayCollection();
    	$this -> quoteUserContactMapping = new ArrayCollection();
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set instanceId
     *
     * @param integer $instanceId
     * @return QuoteMaster
     */
    public function setInstanceId($instanceId)
    {
        $this->instanceId = $instanceId;

        return $this;
    }

    /**
     * Get instanceId
     *
     * @return integer 
     */
    public function getInstanceId()
    {
        return $this->instanceId;
    }

    /**
     * Set instanceType
     *
     * @param integer $instanceType
     * @return QuoteMaster
     */
    public function setInstanceType($instanceType)
    {
        $this->instanceType = $instanceType;

        return $this;
    }

    /**
     * Get instanceType
     *
     * @return integer 
     */
    public function getInstanceType()
    {
        return $this->instanceType;
    }

    /**
     * Set userId
     *
     * @param integer $userId
     * @return QuoteMaster
     */
    public function setUserId($userId)
    {
        $this->userId = $userId;

        return $this;
    }

    /**
     * Get userId
     *
     * @return integer 
     */
    public function getUserId()
    {
        return $this->userId;
    }

    /**
     * Set userType
     *
     * @param integer $userType
     * @return QuoteMaster
     */
    public function setUserType($userType)
    {
        $this->userType = $userType;

        return $this;
    }

    /**
     * Get userType
     *
     * @return integer 
     */
    public function getUserType()
    {
        return $this->userType;
    }

    /**
     * Set note
     *
     * @param string $note
     * @return QuoteMaster
     */
    public function setNote($note)
    {
        $this->note = $note;

        return $this;
    }

    /**
     * Get note
     *
     * @return string 
     */
    public function getNote()
    {
        return $this->note;
    }

    /**
     * Set prefferedState
     *
     * @param integer $prefferedState
     * @return QuoteMaster
     */
    public function setPrefferedState($prefferedState)
    {
        $this->prefferedState = $prefferedState;

        return $this;
    }

    /**
     * Get prefferedState
     *
     * @return integer 
     */
    public function getPrefferedState()
    {
        return $this->prefferedState;
    }

    /**
     * Set prefferedDistributorId
     *
     * @param integer $prefferedDistributorId
     * @return QuoteMaster
     */
    public function setPrefferedDistributorId($prefferedDistributorId)
    {
        $this->prefferedDistributorId = $prefferedDistributorId;

        return $this;
    }

    /**
     * Get prefferedDistributorId
     *
     * @return integer 
     */
    public function getPrefferedDistributorId()
    {
        return $this->prefferedDistributorId;
    }

    /**
     * Set zipCode
     *
     * @param string $zipCode
     * @return QuoteMaster
     */
    public function setZipCode($zipCode)
    {
        $this->zipCode = $zipCode;

        return $this;
    }

    /**
     * Get zipCode
     *
     * @return string 
     */
    public function getZipCode()
    {
        return $this->zipCode;
    }

    /**
     * Set onHandDate
     *
     * @param \DateTime $onHandDate
     * @return QuoteMaster
     */
    public function setOnHandDate($onHandDate)
    {
        $this->onHandDate = $onHandDate;

        return $this;
    }

    /**
     * Get onHandDate
     *
     * @return \DateTime 
     */
    public function getOnHandDate()
    {
        return $this->onHandDate;
    }

    /**
     * Set couponId
     *
     * @param integer $couponId
     * @return QuoteMaster
     */
    public function setCouponId($couponId)
    {
        $this->couponId = $couponId;

        return $this;
    }

    /**
     * Get couponId
     *
     * @return integer 
     */
    public function getCouponId()
    {
        return $this->couponId;
    }

    /**
     * Set isMailSent
     *
     * @param boolean $isMailSent
     * @return QuoteMaster
     */
    public function setIsMailSent($isMailSent)
    {
        $this->isMailSent = $isMailSent;

        return $this;
    }

    /**
     * Get isMailSent
     *
     * @return boolean 
     */
    public function getIsMailSent()
    {
        return $this->isMailSent;
    }

    /**
     * Set quoteStatus
     *
     * @param string $quoteStatus
     * @return QuoteMaster
     */
    public function setQuoteStatus($quoteStatus)
    {
        $this->quoteStatus = $quoteStatus;

        return $this;
    }

    /**
     * Get quoteStatus
     *
     * @return string 
     */
    public function getQuoteStatus()
    {
        return $this->quoteStatus;
    }

    /**
     * Set secretKey
     *
     * @param string $secretKey
     * @return QuoteMaster
     */
    public function setSecretKey($secretKey)
    {
        $this->secretKey = $secretKey;

        return $this;
    }

    /**
     * Get secretKey
     *
     * @return string 
     */
    public function getSecretKey()
    {
        return $this->secretKey;
    }

    /**
     * Set supplierId
     *
     * @param integer $supplierId
     * @return QuoteMaster
     */
    public function setSupplierId($supplierId)
    {
        $this->supplierId = $supplierId;

        return $this;
    }

    /**
     * Get supplierId
     *
     * @return integer 
     */
    public function getSupplierId()
    {
        return $this->supplierId;
    }

    /**
     * Set inquiryRefId
     *
     * @param integer $inquiryRefId
     * @return QuoteMaster
     */
    public function setInquiryRefId($inquiryRefId)
    {
        $this->inquiryRefId = $inquiryRefId;

        return $this;
    }

    /**
     * Get inquiryRefId
     *
     * @return integer 
     */
    public function getInquiryRefId()
    {
        return $this->inquiryRefId;
    }

    /**
     * Set inquiryRefType
     *
     * @param string $inquiryRefType
     * @return QuoteMaster
     */
    public function setInquiryRefType($inquiryRefType)
    {
        $this->inquiryRefType = $inquiryRefType;

        return $this;
    }

    /**
     * Get inquiryRefType
     *
     * @return string 
     */
    public function getInquiryRefType()
    {
        return $this->inquiryRefType;
    }

    /**
     * Set headerTextField
     *
     * @param string $headerTextField
     * @return QuoteMaster
     */
    public function setHeaderTextField($headerTextField)
    {
        $this->headerTextField = $headerTextField;

        return $this;
    }

    /**
     * Get headerTextField
     *
     * @return string 
     */
    public function getHeaderTextField()
    {
        return $this->headerTextField;
    }

    /**
     * Set footerTextField
     *
     * @param string $footerTextField
     * @return QuoteMaster
     */
    public function setFooterTextField($footerTextField)
    {
        $this->footerTextField = $footerTextField;

        return $this;
    }

    /**
     * Get footerTextField
     *
     * @return string 
     */
    public function getFooterTextField()
    {
        return $this->footerTextField;
    }

    /**
     * Set isVisibleHeaderText
     *
     * @param boolean $isVisibleHeaderText
     * @return QuoteMaster
     */
    public function setIsVisibleHeaderText($isVisibleHeaderText)
    {
        $this->isVisibleHeaderText = $isVisibleHeaderText;

        return $this;
    }

    /**
     * Get isVisibleHeaderText
     *
     * @return boolean 
     */
    public function getIsVisibleHeaderText()
    {
        return $this->isVisibleHeaderText;
    }

    /**
     * Set isVisibleFooterText
     *
     * @param boolean $isVisibleFooterText
     * @return QuoteMaster
     */
    public function setIsVisibleFooterText($isVisibleFooterText)
    {
        $this->isVisibleFooterText = $isVisibleFooterText;

        return $this;
    }

    /**
     * Get isVisibleFooterText
     *
     * @return boolean 
     */
    public function getIsVisibleFooterText()
    {
        return $this->isVisibleFooterText;
    }

    /**
     * Set quoteTitle
     *
     * @param string $quoteTitle
     * @return QuoteMaster
     */
    public function setQuoteTitle($quoteTitle)
    {
        $this->quoteTitle = $quoteTitle;

        return $this;
    }

    /**
     * Get quoteTitle
     *
     * @return string 
     */
    public function getQuoteTitle()
    {
        return $this->quoteTitle;
    }

    /**
     * Set cultureCode
     *
     * @param integer $cultureCode
     * @return QuoteMaster
     */
    public function setCultureCode($cultureCode)
    {
        $this->cultureCode = $cultureCode;

        return $this;
    }

    /**
     * Get cultureCode
     *
     * @return integer 
     */
    public function getCultureCode()
    {
        return $this->cultureCode;
    }

    /**
     * Set cultureId
     *
     * @param integer $cultureId
     * @return QuoteMaster
     */
    public function setCultureId($cultureId)
    {
        $this->cultureId = $cultureId;

        return $this;
    }

    /**
     * Get cultureId
     *
     * @return integer 
     */
    public function getCultureId()
    {
        return $this->cultureId;
    }

    /**
     * Set orderMasterId
     *
     * @param integer $orderMasterId
     * @return QuoteMaster
     */
    public function setOrderMasterId($orderMasterId)
    {
        $this->orderMasterId = $orderMasterId;

        return $this;
    }

    /**
     * Get orderMasterId
     *
     * @return integer 
     */
    public function getOrderMasterId()
    {
        return $this->orderMasterId;
    }

    /**
     * Set grandTotal
     *
     * @param string $grandTotal
     * @return QuoteMaster
     */
    public function setGrandTotal($grandTotal)
    {
        $this->grandTotal = $grandTotal;

        return $this;
    }

    /**
     * Get grandTotal
     *
     * @return string 
     */
    public function getGrandTotal()
    {
        return $this->grandTotal;
    }

    /**
     * Set subTotal
     *
     * @param string $subTotal
     * @return QuoteMaster
     */
    public function setSubTotal($subTotal)
    {
        $this->subTotal = $subTotal;

        return $this;
    }

    /**
     * Get subTotal
     *
     * @return string 
     */
    public function getSubTotal()
    {
        return $this->subTotal;
    }

    /**
     * Set isVisibleSubTotal
     *
     * @param boolean $isVisibleSubTotal
     * @return QuoteMaster
     */
    public function setIsVisibleSubTotal($isVisibleSubTotal)
    {
        $this->isVisibleSubTotal = $isVisibleSubTotal;

        return $this;
    }

    /**
     * Get isVisibleSubTotal
     *
     * @return boolean 
     */
    public function getIsVisibleSubTotal()
    {
        return $this->isVisibleSubTotal;
    }

    /**
     * Set discount
     *
     * @param string $discount
     * @return QuoteMaster
     */
    public function setDiscount($discount)
    {
        $this->discount = $discount;

        return $this;
    }

    /**
     * Get discount
     *
     * @return string 
     */
    public function getDiscount()
    {
        return $this->discount;
    }

    /**
     * Set isVisibleDiscount
     *
     * @param boolean $isVisibleDiscount
     * @return QuoteMaster
     */
    public function setIsVisibleDiscount($isVisibleDiscount)
    {
        $this->isVisibleDiscount = $isVisibleDiscount;

        return $this;
    }

    /**
     * Get isVisibleDiscount
     *
     * @return boolean 
     */
    public function getIsVisibleDiscount()
    {
        return $this->isVisibleDiscount;
    }

    /**
     * Set additionalCharges
     *
     * @param string $additionalCharges
     * @return QuoteMaster
     */
    public function setAdditionalCharges($additionalCharges)
    {
        $this->additionalCharges = $additionalCharges;

        return $this;
    }

    /**
     * Get additionalCharges
     *
     * @return string 
     */
    public function getAdditionalCharges()
    {
        return $this->additionalCharges;
    }

    /**
     * Set isVisibleAdditionalCharges
     *
     * @param boolean $isVisibleAdditionalCharges
     * @return QuoteMaster
     */
    public function setIsVisibleAdditionalCharges($isVisibleAdditionalCharges)
    {
        $this->isVisibleAdditionalCharges = $isVisibleAdditionalCharges;

        return $this;
    }

    /**
     * Get isVisibleAdditionalCharges
     *
     * @return boolean 
     */
    public function getIsVisibleAdditionalCharges()
    {
        return $this->isVisibleAdditionalCharges;
    }

    /**
     * Set isVisibleGrandTotal
     *
     * @param boolean $isVisibleGrandTotal
     * @return QuoteMaster
     */
    public function setIsVisibleGrandTotal($isVisibleGrandTotal)
    {
        $this->isVisibleGrandTotal = $isVisibleGrandTotal;

        return $this;
    }

    /**
     * Get isVisibleGrandTotal
     *
     * @return boolean 
     */
    public function getIsVisibleGrandTotal()
    {
        return $this->isVisibleGrandTotal;
    }

    /**
     * Set subTotalText
     *
     * @param string $subTotalText
     * @return QuoteMaster
     */
    public function setSubTotalText($subTotalText)
    {
        $this->subTotalText = $subTotalText;

        return $this;
    }

    /**
     * Get subTotalText
     *
     * @return string 
     */
    public function getSubTotalText()
    {
        return $this->subTotalText;
    }

    /**
     * Set additionalChargesText
     *
     * @param string $additionalChargesText
     * @return QuoteMaster
     */
    public function setAdditionalChargesText($additionalChargesText)
    {
        $this->additionalChargesText = $additionalChargesText;

        return $this;
    }

    /**
     * Get additionalChargesText
     *
     * @return string 
     */
    public function getAdditionalChargesText()
    {
        return $this->additionalChargesText;
    }

    /**
     * Set discountText
     *
     * @param string $discountText
     * @return QuoteMaster
     */
    public function setDiscountText($discountText)
    {
        $this->discountText = $discountText;

        return $this;
    }

    /**
     * Get discountText
     *
     * @return string 
     */
    public function getDiscountText()
    {
        return $this->discountText;
    }

    /**
     * Set grandTotalText
     *
     * @param string $grandTotalText
     * @return QuoteMaster
     */
    public function setGrandTotalText($grandTotalText)
    {
        $this->grandTotalText = $grandTotalText;

        return $this;
    }

    /**
     * Get grandTotalText
     *
     * @return string 
     */
    public function getGrandTotalText()
    {
        return $this->grandTotalText;
    }

    /**
     * Set userComment
     *
     * @param string $userComment
     * @return QuoteMaster
     */
    public function setUserComment($userComment)
    {
        $this->userComment = $userComment;

        return $this;
    }

    /**
     * Get userComment
     *
     * @return string 
     */
    public function getUserComment()
    {
        return $this->userComment;
    }

    /**
     * Set createdUid
     *
     * @param \DateTime $createdUid
     * @return QuoteMaster
     */
    public function setCreatedUid($createdUid)
    {
        $this->createdUid = $createdUid;

        return $this;
    }

    /**
     * Get createdUid
     *
     * @return \DateTime 
     */
    public function getCreatedUid()
    {
        return $this->createdUid;
    }

    /**
     * Set updatedUid
     *
     * @param integer $updatedUid
     * @return QuoteMaster
     */
    public function setUpdatedUid($updatedUid)
    {
        $this->updatedUid = $updatedUid;

        return $this;
    }

    /**
     * Get updatedUid
     *
     * @return integer 
     */
    public function getUpdatedUid()
    {
        return $this->updatedUid;
    }

    /**
     * Set deletedUid
     *
     * @param integer $deletedUid
     * @return QuoteMaster
     */
    public function setDeletedUid($deletedUid)
    {
        $this->deletedUid = $deletedUid;

        return $this;
    }

    /**
     * Get deletedUid
     *
     * @return integer 
     */
    public function getDeletedUid()
    {
        return $this->deletedUid;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return QuoteMaster
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;

        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return QuoteMaster
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime 
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set deletedAt
     *
     * @param \DateTime $deletedAt
     * @return QuoteMaster
     */
    public function setDeletedAt($deletedAt)
    {
        $this->deletedAt = $deletedAt;

        return $this;
    }

    /**
     * Get deletedAt
     *
     * @return \DateTime 
     */
    public function getDeletedAt()
    {
        return $this->deletedAt;
    }

    /**
     * Set expiredAt
     *
     * @param \DateTime $expiredAt
     * @return QuoteMaster
     */
    public function setExpiredAt($expiredAt)
    {
        $this->expiredAt = $expiredAt;

        return $this;
    }

    /**
     * Get expiredAt
     *
     * @return \DateTime 
     */
    public function getExpiredAt()
    {
        return $this->expiredAt;
    }

    /**
     * Add quoteItemLine
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteItemLine $quoteItemLine
     * @return QuoteMaster
     */
    public function addQuoteItemLine(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteItemLine $quoteItemLine)
    {
        $this->quoteItemLine[] = $quoteItemLine;

        return $this;
    }

    /**
     * Remove quoteItemLine
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteItemLine $quoteItemLine
     */
    public function removeQuoteItemLine(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteItemLine $quoteItemLine)
    {
        $this->quoteItemLine->removeElement($quoteItemLine);
    }

    /**
     * Get quoteItemLine
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getQuoteItemLine()
    {
        return $this->quoteItemLine;
    }

    /**
     * Set quoteDistributorContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping $quoteDistributorContactMapping
     * @return QuoteMaster
     */
    public function setQuoteDistributorContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping $quoteDistributorContactMapping = null)
    {
        $this->quoteDistributorContactMapping = $quoteDistributorContactMapping;

        return $this;
    }

    /**
     * Get quoteDistributorContactMapping
     *
     * @return \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping 
     */
    public function getQuoteDistributorContactMapping()
    {
        return $this->quoteDistributorContactMapping;
    }

    /**
     * Set quoteSupplierContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping $quoteSupplierContactMapping
     * @return QuoteMaster
     */
    public function setQuoteSupplierContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping $quoteSupplierContactMapping = null)
    {
        $this->quoteSupplierContactMapping = $quoteSupplierContactMapping;

        return $this;
    }

    /**
     * Get quoteSupplierContactMapping
     *
     * @return \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping 
     */
    public function getQuoteSupplierContactMapping()
    {
        return $this->quoteSupplierContactMapping;
    }

    /**
     * Set quoteUserContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping $quoteUserContactMapping
     * @return QuoteMaster
     */
    public function setQuoteUserContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping $quoteUserContactMapping = null)
    {
        $this->quoteUserContactMapping = $quoteUserContactMapping;

        return $this;
    }

    /**
     * Get quoteUserContactMapping
     *
     * @return \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping 
     */
    public function getQuoteUserContactMapping()
    {
        return $this->quoteUserContactMapping;
    }

    /**
     * Set quoteBillingDetail
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteBillingDetail $quoteBillingDetail
     * @return QuoteMaster
     */
    public function setQuoteBillingDetail(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteBillingDetail $quoteBillingDetail = null)
    {
        $this->quoteBillingDetail = $quoteBillingDetail;

        return $this;
    }

    /**
     * Get quoteBillingDetail
     *
     * @return \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteBillingDetail 
     */
    public function getQuoteBillingDetail()
    {
        return $this->quoteBillingDetail;
    }

    /**
     * Set negotationComment
     *
     * @param string $negotationComment
     * @return QuoteMaster
     */
    public function setNegotationComment($negotationComment)
    {
        $this->negotationComment = $negotationComment;

        return $this;
    }

    /**
     * Get negotationComment
     *
     * @return string 
     */
    public function getNegotationComment()
    {
        return $this->negotationComment;
    }

    /**
     * Add quoteDistributorContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping $quoteDistributorContactMapping
     * @return QuoteMaster
     */
    public function addQuoteDistributorContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping $quoteDistributorContactMapping)
    {
        $this->quoteDistributorContactMapping[] = $quoteDistributorContactMapping;

        return $this;
    }

    /**
     * Remove quoteDistributorContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping $quoteDistributorContactMapping
     */
    public function removeQuoteDistributorContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteDistributorContactMapping $quoteDistributorContactMapping)
    {
        $this->quoteDistributorContactMapping->removeElement($quoteDistributorContactMapping);
    }

    /**
     * Add quoteSupplierContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping $quoteSupplierContactMapping
     * @return QuoteMaster
     */
    public function addQuoteSupplierContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping $quoteSupplierContactMapping)
    {
        $this->quoteSupplierContactMapping[] = $quoteSupplierContactMapping;

        return $this;
    }

    /**
     * Remove quoteSupplierContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping $quoteSupplierContactMapping
     */
    public function removeQuoteSupplierContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMapping $quoteSupplierContactMapping)
    {
        $this->quoteSupplierContactMapping->removeElement($quoteSupplierContactMapping);
    }

    /**
     * Add quoteUserContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping $quoteUserContactMapping
     * @return QuoteMaster
     */
    public function addQuoteUserContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping $quoteUserContactMapping)
    {
        $this->quoteUserContactMapping[] = $quoteUserContactMapping;

        return $this;
    }

    /**
     * Remove quoteUserContactMapping
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping $quoteUserContactMapping
     */
    public function removeQuoteUserContactMapping(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteUserContactMapping $quoteUserContactMapping)
    {
        $this->quoteUserContactMapping->removeElement($quoteUserContactMapping);
    }
    
    
    public function setfieldMethod($fieldName, $fieldValue) {
    	
    	$this->$fieldName = $fieldValue;
    	
    	return  $this->$fieldName;
    }

    /**
     * Set additionalChargesType
     *
     * @param string $additionalChargesType
     *
     * @return QuoteMaster
     */
    public function setAdditionalChargesType($additionalChargesType)
    {
        $this->additionalChargesType = $additionalChargesType;

        return $this;
    }

    /**
     * Get additionalChargesType
     *
     * @return string
     */
    public function getAdditionalChargesType()
    {
        return $this->additionalChargesType;
    }

    /**
     * Set erpId
     *
     * @param integer $erpId
     *
     * @return QuoteMaster
     */
    public function setErpId($erpId)
    {
        $this->erpId = $erpId;

        return $this;
    }

    /**
     * Get erpId
     *
     * @return integer
     */
    public function getErpId()
    {
        return $this->erpId;
    }

    /**
     * Set culture
     *
     * @param string $culture
     * @return RequestInfo
     */
    public function setCulture($culture)
    {
    	$this->culture = $culture;
    
    	return $this;
    }
    
    /**
     * Get culture
     *
     * @return string
     */
    public function getCulture()
    {
    	return $this->culture;
    }    
}
