<?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;
/**
 * QuoteSupplierContactMapping
 *
 * @ORM\Table("tbl_quote_supplier_mapping", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\QuoteBundle\Entity\QuoteSupplierContactMappingRepository")
 * @ExclusionPolicy("none")
 */
class QuoteSupplierContactMapping
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id",type="bigint",length=20 ,options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     * @Exclude
     * @ORM\ManyToOne(targetEntity="QuoteMaster", inversedBy="quoteSupplierContactMapping")  
     * @ORM\JoinColumn(name="quote_master_id", referencedColumnName="id")
     */
    private $quoteMasterId;

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

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

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

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

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

    /**
     * @var string
     *
     * @ORM\Column(name="city_name", type="string", length=255, nullable=true)
     */
    private $cityName;
    
    /**
     * @var string
     *
     * @ORM\Column(name="city_id", type="string", length=255, nullable=true)
     */
    private $cityId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="state_name", type="string", length=255, nullable=true)
     */
    private $stateName;

    /**
     * @var string
     *
     * @ORM\Column(name="state_id", type="string", length=255, nullable=true)
     */
    private $stateId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="country_name", type="string", length=255, nullable=true)
     */
    private $countryName;

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

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

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

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

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

    /**
     * @var boolean
     *
     * @ORM\Column(name="is_image_upload", type="boolean",options={"default" = false})
     */
    private $isImageUpload = false;

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

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

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


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

    /**
     * Set quoteMasterId
     *
     * @param integer $quoteMasterId
     * @return QuoteSupplierContactMapping
     */
    public function setQuoteMasterId($quoteMasterId)
    {
        $this->quoteMasterId = $quoteMasterId;

        return $this;
    }

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

    /**
     * Set firstName
     *
     * @param string $firstName
     * @return QuoteSupplierContactMapping
     */
    public function setFirstName($firstName)
    {
        $this->firstName = $firstName;

        return $this;
    }

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

    /**
     * Set lastName
     *
     * @param string $lastName
     * @return QuoteSupplierContactMapping
     */
    public function setLastName($lastName)
    {
        $this->lastName = $lastName;

        return $this;
    }

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

    /**
     * Set email
     *
     * @param string $email
     * @return QuoteSupplierContactMapping
     */
    public function setEmail($email)
    {
        $this->email = $email;

        return $this;
    }

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

    /**
     * Set phone
     *
     * @param string $phone
     * @return QuoteSupplierContactMapping
     */
    public function setPhone($phone)
    {
        $this->phone = $phone;

        return $this;
    }

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

    /**
     * Set fax
     *
     * @param string $fax
     * @return QuoteSupplierContactMapping
     */
    public function setFax($fax)
    {
        $this->fax = $fax;

        return $this;
    }

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

    /**
     * Set cityName
     *
     * @param string $cityName
     * @return QuoteSupplierContactMapping
     */
    public function setCityName($cityName)
    {
        $this->cityName = $cityName;

        return $this;
    }

    /**
     * Get cityName
     *
     * @return string 
     */
    public function getCityName()
    {
        return $this->cityName;
    }
    
    /**
     * Set city
     *
     * @param string $city
     * @return QuoteSupplierContactMapping
     */
    public function setCity($city)
    {
    	$this->city = $city;
    
    	return $this;
    }
    
    /**
     * Get city
     *
     * @return string
     */
    public function getCity()
    {
    	return $this->city;
    }
    
    /**
     * Set stateName
     *
     * @param string $stateName
     * @return QuoteSupplierContactMapping
     */
    public function setStateName($stateName)
    {
    	$this->stateName = $stateName;
    	
    	return $this;
    }
    
    /**
     * Get stateName
     *
     * @return string
     */
    public function getStateName()
    {
    	return $this->stateName;
    }

    /**
     * Set state
     *
     * @param string $state
     * @return QuoteSupplierContactMapping
     */
    public function setState($state)
    {
        $this->state = $state;

        return $this;
    }

    /**
     * Get state
     *
     * @return string 
     */
    public function getState()
    {
        return $this->state;
    }
    
    /**
     * Set countryName
     *
     * @param string $countryName
     * @return QuoteSupplierContactMapping
     */
    public function setCountryName($countryName)
    {
    	$this->countryName = $countryName;
    	
    	return $this;
    }
    
    /**
     * Get countryName
     *
     * @return string
     */
    public function getCountryName()
    {
    	return $this->countryName;
    }

    /**
     * Set country
     *
     * @param string $country
     * @return QuoteSupplierContactMapping
     */
    public function setCountry($country)
    {
        $this->country = $country;

        return $this;
    }

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

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

        return $this;
    }

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

    /**
     * Set address
     *
     * @param string $address
     * @return QuoteSupplierContactMapping
     */
    public function setAddress($address)
    {
        $this->address = $address;

        return $this;
    }

    /**
     * Get address
     *
     * @return string 
     */
    public function getAddress()
    {
        return $this->address;
    }
    
    /**
     * Set street2
     *
     * @param string $street2
     * @return QuoteSupplierContactMapping
     */
    public function setStreet2($street2)
    {
    	$this->street2 = $street2;
    
    	return $this;
    }
    
    /**
     * Get street2
     *
     * @return string
     */
    public function getStreet2()
    {
    	return $this->street2;
    }

    /**
     * Set companyName
     *
     * @param string $companyName
     * @return QuoteSupplierContactMapping
     */
    public function setCompanyName($companyName)
    {
        $this->companyName = $companyName;

        return $this;
    }

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

    /**
     * Set website
     *
     * @param string $website
     * @return QuoteSupplierContactMapping
     */
    public function setWebsite($website)
    {
        $this->website = $website;

        return $this;
    }

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

    /**
     * Set isImageUpload
     *
     * @param boolean $isImageUpload
     * @return QuoteSupplierContactMapping
     */
    public function setIsImageUpload($isImageUpload)
    {
        $this->isImageUpload = $isImageUpload;

        return $this;
    }

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

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return QuoteSupplierContactMapping
     */
    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 QuoteSupplierContactMapping
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

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

   
    /**
     * Set confirmedAt
     *
     * @param \DateTime $confirmedAt
     * @return QuoteSupplierContactMapping
     */
    public function setConfirmedAt($confirmedAt)
    {
        $this->confirmedAt = $confirmedAt;

        return $this;
    }

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

    /**
     * Set photo
     *
     * @param string $photo
     *
     * @return QuoteSupplierContactMapping
     */
    public function setPhoto($photo)
    {
        $this->photo = $photo;

        return $this;
    }

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

    /**
     * Set cityId
     *
     * @param string $cityId
     *
     * @return QuoteSupplierContactMapping
     */
    public function setCityId($cityId)
    {
        $this->cityId = $cityId;

        return $this;
    }

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

    /**
     * Set stateId
     *
     * @param string $stateId
     *
     * @return QuoteSupplierContactMapping
     */
    public function setStateId($stateId)
    {
        $this->stateId = $stateId;

        return $this;
    }

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

    /**
     * Set countryId
     *
     * @param string $countryId
     *
     * @return QuoteSupplierContactMapping
     */
    public function setCountryId($countryId)
    {
        $this->countryId = $countryId;

        return $this;
    }

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

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

        return $this;
    }

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