<?php
namespace App\OfficeBrain\Bundle\CompanyBundle\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;
/**
* Entity For Company @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
* @author OfficeBrain 4493
*/
/**
* Company
*
* @ORM\Table(name="tbl_company_master")
* @ORM\Entity(repositoryClass="App\OfficeBrain\Bundle\CompanyBundle\Entity\CompanyRepository")
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
* @ExclusionPolicy("none")
*/
class Company
{
/**
* @var integer
*
* @ORM\Column(name="id", type="bigint",length=20, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* Bidirectional (OWNING SIDE - FK)
* @ORM\ManyToOne(targetEntity="\App\OfficeBrain\Bundle\CompanyBundle\Entity\Company", inversedBy="child")
* @ORM\JoinColumn(name="parent_id", nullable=true)
*/
protected $parent;
/**
* Bidirectional (OWNING SIDE - FK)
* @Exclude
* @ORM\ManyToOne(targetEntity="\App\OfficeBrain\Bundle\UserBundle\Entity\User", inversedBy="company" )
* @ORM\JoinColumn(name="user_id", nullable=false)
*/
protected $userc;
/**
* @var string
* @ORM\Column(name="company_name", type="string", length=255, options={"collate"="utf8_unicode_ci"} , nullable=true)
* @Assert\NotBlank(message="admin.company.companyname.not_blank")
*/
private $companyName;
/**
* @var string
* @ORM\Column(name="company_asi_number", type="string", length=100, options={"collate"="utf8_unicode_ci"} , nullable=true)
* @Assert\NotBlank(message="admin.company.companyasi.not_blank")
*/
private $companyAsiNumber;
/**
* @var string
* @ORM\Column(name="company_number", type="string", length=100, options={"collate"="utf8_unicode_ci"} , nullable=true)
* @Assert\NotBlank(message="admin.company.companynumber.not_blank")
*/
private $companyNumber;
/**
* @var string
* @ORM\Column(name="email", type="string", length=150, options={"collate"="utf8_unicode_ci"} , nullable=true)
* @Assert\NotBlank(message="admin.company.email.not_blank")
* @Assert\Regex(
* pattern="/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/",
* match=true,
* message="admin.company.valid.invalid_email"
* )
*/
private $email;
/**
* @var string
* @ORM\Column(name="company_logo", type="string", length=255, options={"collate"="utf8_unicode_ci"},nullable=true , nullable=true)
*/
private $companyLogo;
/**
* @var string
* @ORM\Column(name="company_logo_url", type="string", length=255, options={"collate"="utf8_unicode_ci"},nullable=true , nullable=true)
*/
private $companyLogoUrl;
/**
* @var string
* @ORM\Column(name="street1", type="string", length=255, options={"collate"="utf8_unicode_ci"} , nullable=true)
* @Assert\NotBlank(message="admin.company.address.not_blank")
*/
private $street1;
/**
* @var string
* @ORM\Column(name="street2", type="string", length=255, options={"collate"="utf8_unicode_ci"},nullable=true)
*/
private $street2;
/**
* @var integer
*
* @ORM\Column(name="country_id", type="bigint" ,length=20 ,options={"unsigned"=true} , nullable=true)
* @Assert\NotBlank(message="admin.company.country.not_blank")
*/
private $countryId;
/**
* @var integer
* @ORM\Column(name="state_id", type="bigint" ,length=20 ,options={"unsigned"=true} , nullable=true)
* @Assert\NotBlank(message="admin.company.state.not_blank")
*/
private $stateId;
/**
* @var integer
* @ORM\Column(name="city_id", type="bigint" ,length=20 ,options={"unsigned"=true} , nullable=true)
* @Assert\NotBlank(message="admin.company.city.not_blank")
*/
private $cityId;
/**
* @var string
*
* @ORM\Column(name="zipcode", type="string", length=50, options={"collate"="utf8_unicode_ci"} , nullable=true)
* @Assert\NotBlank(message="admin.company.zipcode.not_blank")
*/
private $zipcode;
/**
* @var string
* @ORM\Column(name="extension", type="string", length=50, options={"collate"="utf8_unicode_ci"},nullable=true)
*/
private $extension;
/**
* @var string
* @ORM\Column(name="phone", type="string", length=50, options={"collate"="utf8_unicode_ci"},nullable=true)
* @Assert\Length(min=12, minMessage="admin.company.phone.invalid")
*/
private $phone;
/**
* @var string
* @ORM\Column(name="mobile", type="string", length=50, options={"collate"="utf8_unicode_ci"},nullable=true)
* @Assert\Length(min=12, minMessage="admin.company.mobile.invalid")
*/
private $mobile;
/**
* @var string
* @ORM\Column(name="fax", type="string", length=255, options={"collate"="utf8_unicode_ci"},nullable=true)
* @Assert\Length(min=12, minMessage="admin.company.fax.invalid")
*/
private $fax;
/**
* @var string
* @ORM\Column(name="website", type="string", length=255, options={"collate"="utf8_unicode_ci"},nullable=true)
* @Assert\Regex(pattern="/^(https?:\/\/|http?:\/\/|HTTPS?:\/\/|HTTP?:\/\/)?([\da-zA-Z\.-]+)\.([a-zA-Z\.]{2,6})([\/\w \.-]*)*\/?$/", match=true, message="admin.company.valid.invalid_website" )
*/
private $website;
/**
* @var integer
* @ORM\Column(name="erp_id", type="bigint" ,length=20 ,options={"unsigned"=true} , nullable=true)
*/
private $erpId;
/**
* @var datetime
*
* @Gedmo\Timestampable()
* @ORM\Column(name="created_at",type="datetime",nullable=true)
*/
protected $createdAt;
/**
* @var datetime
*
* @Gedmo\Timestampable()
* @ORM\Column( name="updated_at", type="datetime",nullable=true)
*/
protected $updatedAt;
/**
* @var datetime
*
* @ORM\Column(name="deleted_at",type="datetime", nullable=true)
*/
protected $deletedAt;
/**
* @var integer
* @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="deleted_uid", type="bigint" ,length=20 ,options={"unsigned"=true},nullable=true)
*/
private $deletedUid;
/**
* @Exclude
* @ORM\OneToMany(targetEntity="\App\OfficeBrain\Bundle\UserBundle\Entity\User", mappedBy="userCompany")
* @ORM\JoinColumn(nullable=false)
*/
protected $companyUser;
/**
* @Exclude
* @ORM\OneToMany(targetEntity="\App\OfficeBrain\Bundle\CompanyBundle\Entity\Company", mappedBy="parent")
* @ORM\JoinColumn(nullable=false)
*/
protected $child;
/**
* @var integer
* @ORM\Column(name="status", type="boolean",options={"default"=1},nullable=true)
*/
protected $status;
/**
* @var string
* @ORM\Column(name="tiory_customer_account_id", type="string", length=100, options={"collate"="utf8_unicode_ci"} , nullable=true)
*
*/
private $tioryCustomerAccountId;
public function getTioryCustomerAccountId()
{
return $this->tioryCustomerAccountId;
}
public function setTioryCustomerAccountId($tioryCustomerAccountId)
{
$this->tioryCustomerAccountId = $tioryCustomerAccountId;
return $this;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Constructor
*/
public function __construct()
{
$this->companyUser = new \Doctrine\Common\Collections\ArrayCollection();
$this->child = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Set companyName
*
* @param string $companyName
* @return Company
*/
public function setCompanyName($companyName)
{
$this->companyName = $companyName;
return $this;
}
/**
* Get companyName
*
* @return string
*/
public function getCompanyName()
{
return $this->companyName;
}
public function __toString()
{
return (string) $this->companyName; // Return a string representation of the entity
}
/**
* Set companyAsiNumber
*
* @param string $companyAsiNumber
* @return Company
*/
public function setCompanyAsiNumber($companyAsiNumber)
{
$this->companyAsiNumber = $companyAsiNumber;
return $this;
}
/**
* Get companyAsiNumber
*
* @return string
*/
public function getCompanyAsiNumber()
{
return $this->companyAsiNumber;
}
/**
* Set companyNumber
*
* @param string $companyNumber
* @return Company
*/
public function setCompanyNumber($companyNumber)
{
$this->companyNumber = $companyNumber;
return $this;
}
/**
* Get companyNumber
*
* @return string
*/
public function getCompanyNumber()
{
return $this->companyNumber;
}
/**
* Set email
*
* @param string $email
* @return Company
*/
public function setEmail($email)
{
$this->email = $email;
return $this;
}
/**
* Get email
*
* @return string
*/
public function getEmail()
{
return $this->email;
}
/**
* Set companyLogo
*
* @param string $companyLogo
* @return Company
*/
public function setCompanyLogo($companyLogo)
{
$this->companyLogo = $companyLogo;
return $this;
}
/**
* Get companyLogo
*
* @return string
*/
public function getCompanyLogo()
{
return $this->companyLogo;
}
/**
* Set street1
*
* @param string $street1
* @return Company
*/
public function setStreet1($street1)
{
$this->street1 = $street1;
return $this;
}
/**
* Get street1
*
* @return string
*/
public function getStreet1()
{
return $this->street1;
}
/**
* Set street2
*
* @param string $street2
* @return Company
*/
public function setStreet2($street2)
{
$this->street2 = $street2;
return $this;
}
/**
* Get street2
*
* @return string
*/
public function getStreet2()
{
return $this->street2;
}
/**
* Set countryId
*
* @param integer $countryId
* @return Company
*/
public function setCountryId($countryId)
{
$this->countryId = $countryId;
return $this;
}
/**
* Get countryId
*
* @return integer
*/
public function getCountryId()
{
return $this->countryId;
}
/**
* Set stateId
*
* @param integer $stateId
* @return Company
*/
public function setStateId($stateId)
{
$this->stateId = $stateId;
return $this;
}
/**
* Get stateId
*
* @return integer
*/
public function getStateId()
{
return $this->stateId;
}
/**
* Set cityId
*
* @param integer $cityId
* @return Company
*/
public function setCityId($cityId)
{
$this->cityId = $cityId;
return $this;
}
/**
* Get cityId
*
* @return integer
*/
public function getCityId()
{
return $this->cityId;
}
/**
* Set zipcode
*
* @param string $zipcode
* @return Company
*/
public function setZipcode($zipcode)
{
$this->zipcode = $zipcode;
return $this;
}
/**
* Get zipcode
*
* @return string
*/
public function getZipcode()
{
return $this->zipcode;
}
/**
* Set extension
*
* @param string $extension
* @return Company
*/
public function setExtension($extension)
{
$this->extension = $extension;
return $this;
}
/**
* Get extension
*
* @return string
*/
public function getExtension()
{
return $this->extension;
}
/**
* Set phone
*
* @param string $phone
* @return Company
*/
public function setPhone($phone)
{
$this->phone = $phone;
return $this;
}
/**
* Get phone
*
* @return string
*/
public function getPhone()
{
return $this->phone;
}
/**
* Set mobile
*
* @param string $mobile
* @return Company
*/
public function setMobile($mobile)
{
$this->mobile = $mobile;
return $this;
}
/**
* Get mobile
*
* @return string
*/
public function getMobile()
{
return $this->mobile;
}
/**
* Set fax
*
* @param string $fax
* @return Company
*/
public function setFax($fax)
{
$this->fax = $fax;
return $this;
}
/**
* Get fax
*
* @return string
*/
public function getFax()
{
return $this->fax;
}
/**
* Set website
*
* @param string $website
* @return Company
*/
public function setWebsite($website)
{
$this->website = $website;
return $this;
}
/**
* Get website
*
* @return string
*/
public function getWebsite()
{
return $this->website;
}
/**
* Set erpId
*
* @param integer $erpId
* @return Company
*/
public function setErpId($erpId)
{
$this->erpId = $erpId;
return $this;
}
/**
* Get erpId
*
* @return integer
*/
public function getErpId()
{
return $this->erpId;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
* @return Company
*/
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 Company
*/
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 Company
*/
public function setDeletedAt($deletedAt)
{
$this->deletedAt = $deletedAt;
return $this;
}
/**
* Get deletedAt
*
* @return \DateTime
*/
public function getDeletedAt()
{
return $this->deletedAt;
}
/**
* Set createdUid
*
* @param integer $createdUid
* @return Company
*/
public function setCreatedUid($createdUid)
{
$this->createdUid = $createdUid;
return $this;
}
/**
* Get createdUid
*
* @return integer
*/
public function getCreatedUid()
{
return $this->createdUid;
}
/**
* Set updatedUid
*
* @param integer $updatedUid
* @return Company
*/
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 Company
*/
public function setDeletedUid($deletedUid)
{
$this->deletedUid = $deletedUid;
return $this;
}
/**
* Get deletedUid
*
* @return integer
*/
public function getDeletedUid()
{
return $this->deletedUid;
}
/**
* Set userc
*
* @param \App\OfficeBrain\Bundle\UserBundle\Entity\User $userc
* @return Company
*/
public function setUserc($userc)
{
$this->userc = $userc;
return $this;
}
/**
* Get userc
*
* @return \App\OfficeBrain\Bundle\UserBundle\Entity\User
*/
public function getUserc()
{
return $this->userc;
}
/**
* Add companyUser
*
* @param \App\OfficeBrain\Bundle\UserBundle\Entity\User $companyUser
* @return Company
*/
public function addCompanyUser($companyUser)
{
$this->companyUser[] = $companyUser;
return $this;
}
/**
* Remove companyUser
*
* @param \App\OfficeBrain\Bundle\UserBundle\Entity\User $companyUser
*/
public function removeCompanyUser($companyUser)
{
$this->companyUser->removeElement($companyUser);
}
/**
* Get companyUser
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCompanyUser()
{
return $this->companyUser;
}
/**
* Add child
*
* @param \App\OfficeBrain\Bundle\CompanyBundle\Entity\Company $child
* @return Company
*/
public function addChild($child)
{
$this->child[] = $child;
return $this;
}
/**
* Remove child
*
* @param \App\OfficeBrain\Bundle\CompanyBundle\Entity\Company $child
*/
public function removeChild($child)
{
$this->child->removeElement($child);
}
/**
* Get child
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getChild()
{
return $this->child;
}
public function getStatus()
{
return $this->status;
}
public function setStatus($status)
{
$this->status = $status;
return $this;
}
/**
* Set companyLogoUrl
*
* @param string $companyLogoUrl
* @return Company
*/
public function setCompanyLogoUrl($companyLogoUrl)
{
$this->companyLogoUrl = $companyLogoUrl;
return $this;
}
/**
* Get companyLogoUrl
*
* @return string
*/
public function getCompanyLogoUrl()
{
return $this->companyLogoUrl;
}
/**
* Set parent
*
* @param \App\OfficeBrain\Bundle\CompanyBundle\Entity\Company $parent
* @return Company
*/
public function setParent(\App\OfficeBrain\Bundle\CompanyBundle\Entity\Company $parent = null)
{
$this->parent = $parent;
return $this;
}
/**
* Get parent
*
* @return \App\OfficeBrain\Bundle\CompanyBundle\Entity\Company
*/
public function getParent()
{
return $this->parent;
}
}