<?php

namespace OfficeBrain\CustomBundle\CmsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as GEDMO;
use Symfony\Component\Validator\Constraints as Assert;
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Exclude;

/**
 * OrderCatalog
 * 
 * @ORM\Table(name="tbl_order_catalog")
 * @ORM\Entity(repositoryClass="OfficeBrain\CustomBundle\CmsBundle\Entity\OrderCatalogRepository")
 */
class OrderCatalog
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer")
     */
    private $userId;

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

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

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

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

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

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

    /**
     * @var integer
     *
     * @ORM\Column(name="country_id", type="bigint")
     * @Assert\NotBlank(message = "user.contact_book.countryId.not_blank")
     */
    private $countryId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="country_name", type="string", length=255)
     */
    private $countryName;

    /**
     * @var integer
     *
     * @ORM\Column(name="state_id", type="bigint")
     * @Assert\NotBlank(message = "user.contact_book.stateId.not_blank")
     */
    private $stateId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="state_name", type="string", length=255)
     */
    private $stateName;

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

    /**
     * @var string
     *
     * @ORM\Column(name="zipcode", type="string", length=255)  
     * @Assert\NotBlank(message = "user.contact_book.zipcode.not_blank")
     * @Assert\Length(max = 8, maxMessage = "user.contact_book.zipcode.max_length" )
     * @Assert\Regex(pattern="/^[A-Za-z0-9\s]+$/",   match=true,   message="user.contact_book.zipcode.not_valid" )
     */
    private $zipcode;

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

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

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

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

    /**
     * @var integer
     *
     * @ORM\Column(name="instance_id", type="integer")
     */
    private $instanceId;

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

    /**
     * @var string
     *
     * @ORM\Column(name="created_uid", type="integer")
     */
    private $createdUid;

    /**
     * @var integer
     *
     * @ORM\Column(name="updated_uid", type="integer")
     */
    private $updatedUid;

    /**
     * @var integer
     *
     * @ORM\Column(name="deleted_uid", type="integer")
     */
    private $deletedUid;

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

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="updated_at", type="datetime")
     */
    private $updatedAt;

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


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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

    /**
     * Set street1
     *
     * @param string $street1
     *
     */
    public function setStreet1($street1)
    {
        $this->street1 = $street1;

        return $this;
    }

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

    /**
     * Set street2
     *
     * @param string $street2
     *
     */
    public function setStreet2($street2)
    {
        $this->street2 = $street2;

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Get countryId
     *
     * @return integer
     */
    public function getCountryId()
    {
        return $this->countryId;
    }
    
    /**
     * Set countryName
     *
     * @param string $countryName
     *
     */
    public function setCountryName($countryName)
    {
    	$this->countryName = $countryName;
    	
    	return $this;
    }
    
    /**
     * Get countryName
     *
     * @return string
     */
    public function getCountryName()
    {
    	return $this->countryName;
    }

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

        return $this;
    }

    /**
     * Get stateId
     *
     * @return integer
     */
    public function getStateId()
    {
        return $this->stateId;
    }
    
    /**
     * Set stateName
     *
     * @param string $stateName
     *
     */
    public function setStateName($stateName)
    {
    	$this->stateName = $stateName;
    	
    	return $this;
    }
    
    /**
     * Get stateName
     *
     * @return string
     */
    public function getStateName()
    {
    	return $this->stateName;
    }

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

        return $this;
    }

    /**
     * Get cityId
     *
     * @return integer
     */
    public function getCityId()
    {
        return $this->cityId;
    }
    
    /**
     * Set cityName
     *
     * @param string $cityName
     *
     */
    public function setCityName($cityName)
    {
    	$this->cityName = $cityName;
    
    	return $this;
    }
    
    /**
     * Get cityName
     *
     * @return string
     */
    public function getCityName()
    {
    	return $this->cityName;
    }

    /**
     * Set zipcode
     *
     * @param string $zipcode
     *
     */
    public function setZipcode($zipcode)
    {
        $this->zipcode = $zipcode;

        return $this;
    }

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

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

        return $this;
    }

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

    /**
     * Set catalogVersion
     *
     * @param string $catalogVersion
     *
     */
    public function setCatalogVersion($catalogVersion)
    {
        $this->catalogVersion = $catalogVersion;

        return $this;
    }

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

    /**
     * Set catalogNumber
     *
     * @param string $catalogNumber
     *
     */
    public function setCatalogNumber($catalogNumber)
    {
        $this->catalogNumber = $catalogNumber;

        return $this;
    }

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

    /**
     * Set shipperNo
     *
     * @param string $shipperNo
     *
     */
    public function setShipperNo($shipperNo)
    {
        $this->shipperNo = $shipperNo;

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

    /**
     * Set createdUid
     *
     * @param integer $createdUid
     *
     */
    public function setCreatedUid($createdUid)
    {
        $this->createdUid = $createdUid;

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

