<?php
namespace App\OfficeBrain\Bundle\EcatalogueBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\ArrayCollection;
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Exclude;
use Doctrine\Common\Collections\Collection;
/**
* Ecatalogue
*
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
* @ORM\Table("tbl_virtual_catalogues")
* @ORM\Entity(repositoryClass="App\OfficeBrain\Bundle\EcatalogueBundle\Entity\EcatalogueRepository")
* @ORM\HasLifecycleCallbacks
*/
class Ecatalogue
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="country_id", type="integer")
* @Assert\NotBlank(message="Country Can not Blank")
*/
private $countryId;
/**
* @ORM\Column(type="text", name="category")
*/
protected $category;
/**
* Bidirectional (OWNING SIDE - FK)
*
* @ORM\ManyToOne(targetEntity="\App\OfficeBrain\Bundle\UserBundle\Entity\User", inversedBy="ecatalogueUser")
* @ORM\JoinColumn(name="user_id", nullable=true)
*/
protected $user;
/**
* Bidirectional (OWNING SIDE - FK)
*
* @ORM\ManyToOne(targetEntity="\App\OfficeBrain\Bundle\UserBundle\Entity\User", inversedBy="ecatalogueSupplier")
* @ORM\JoinColumn(name="supplier_id", nullable=true)
* @Assert\NotBlank(message = "admin.eatalogue.supplier.not_blank")
*/
protected $supplier;
/**
* @ORM\Column(type="string", name="user_type", length=50)
*/
protected $userType;
/**
* @ORM\OneToMany(targetEntity="EcatalogueLanguage", mappedBy="ecatalogueId", cascade={"all"})
*/
protected $ecatalogueLanguage;
/**
* @ORM\Column(type="string", name="status", length=50, options={"default" = "0"})
* @Assert\NotBlank(message="admin.not_blank")
*/
protected $status;
/**
* @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;
/**
* @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 \DateTime
*
* @ORM\Column(name="start_date", type="datetime", nullable=true)
*/
private $startDate;
/**
* @var \DateTime
*
* @ORM\Column(name="end_date", type="datetime", nullable=true)
*/
private $endDate;
/**
* Bidirectional (INVERSE SIDE)
*
* @ORM\OneToMany(targetEntity="PrioritizeCatalogue", mappedBy="catalogue", cascade={"persist", "remove"})
*
*/
private $prioritizeCatalogue;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set id
*
* @param integer $id
* @return EcatalogueId
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getCountryId() {
return $this->countryId;
}
public function setCountryId($countryId) {
$this->countryId = $countryId;
return $this;
}
public function getCategory() {
return $this->category;
}
public function setCategory($category) {
$this->category = $category;
return $this;
}
public function getUser() {
return $this->user;
}
/**
* Set userc
*
* @param \App\OfficeBrain\Bundle\UserBundle\Entity\User $user
* @return User
*/
public function setUser($user) {
$this->user = $user;
return $this;
}
public function getSupplier() {
return $this->supplier;
}
/**
* Set supplier
*
* @param \App\OfficeBrain\Bundle\UserBundle\Entity\User $supplier
* @return supplier
*/
public function setSupplier($supplier) {
$this->supplier = $supplier;
return $this;
}
public function getUserType() {
return $this->userType;
}
public function setUserType($userType) {
$this->userType = $userType;
return $this;
}
public function getEcatalogueLanguage() {
return $this->ecatalogueLanguage;
}
public function setEcatalogueLanguage($ecatalogueLanguage) {
$this->ecatalogueLanguage = $ecatalogueLanguage;
return $this;
}
public function getStatus() {
return $this->status;
}
public function setStatus($status) {
$this->status = $status;
return $this;
}
public function getCreatedAt() {
return $this->createdAt;
}
public function setCreatedAt($createdAt) {
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt() {
return $this->updatedAt;
}
public function setUpdatedAt($updatedAt) {
$this->updatedAt = $updatedAt;
return $this;
}
public function getDeletedAt() {
return $this->deletedAt;
}
public function setDeletedAt($deletedAt) {
$this->deletedAt = $deletedAt;
return $this;
}
public function getCreatedUid() {
return $this->createdUid;
}
public function setCreatedUid($createdUid) {
$this->createdUid = $createdUid;
return $this;
}
public function getUpdatedUid() {
return $this->updatedUid;
}
public function setUpdatedUid($updatedUid) {
$this->updatedUid = $updatedUid;
return $this;
}
public function getDeletedUid() {
return $this->deletedUid;
}
public function setDeletedUid($deletedUid) {
$this->deletedUid = $deletedUid;
return $this;
}
public function getInstanceId() {
return $this->instanceId;
}
public function setInstanceId($instanceId) {
$this->instanceId = $instanceId;
return $this;
}
public function getInstanceType() {
return $this->instanceType;
}
public function setInstanceType($instanceType) {
$this->instanceType = $instanceType;
return $this;
}
/**
* Constructor
*/
public function __construct()
{
$this->ecatalogueLanguage = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add ecatalogueLanguage
*
* @param \App\OfficeBrain\Bundle\EcatalogueBundle\Entity\EcatalogueLanguage $ecatalogueLanguage
* @return Ecatalogue
*/
public function addEcatalogueLanguage( $ecatalogueLanguage)
{
$this->ecatalogueLanguage[] = $ecatalogueLanguage;
return $this;
}
/**
* Remove ecatalogueLanguage
*
* @param \App\OfficeBrain\Bundle\EcatalogueBundle\Entity\EcatalogueLanguage $ecatalogueLanguage
*/
public function removeEcatalogueLanguage( $ecatalogueLanguage)
{
$this->ecatalogueLanguage->removeElement($ecatalogueLanguage);
}
public function getStartDate() {
return $this->startDate;
}
public function setStartDate(\DateTime $startDate = null) {
$this->startDate = $startDate;
return $this;
}
public function getEndDate() {
return $this->endDate;
}
public function setEndDate(\DateTime $endDate = null) {
$this->endDate = $endDate;
return $this;
}
/**
* Add prioritizeCatalogue
*
* @param \App\OfficeBrain\Bundle\EcatalogueBundle\Entity\PrioritizeCatalogue $prioritizeCatalogue
*
* @return Ecatalogue
*/
public function addPrioritizeCatalogue(\App\OfficeBrain\Bundle\EcatalogueBundle\Entity\PrioritizeCatalogue $prioritizeCatalogue)
{
$this->prioritizeCatalogue[] = $prioritizeCatalogue;
return $this;
}
/**
* Remove prioritizeCatalogue
*
* @param \App\OfficeBrain\Bundle\EcatalogueBundle\Entity\PrioritizeCatalogue $prioritizeCatalogue
*/
public function removePrioritizeCatalogue(\App\OfficeBrain\Bundle\EcatalogueBundle\Entity\PrioritizeCatalogue $prioritizeCatalogue)
{
$this->prioritizeCatalogue->removeElement($prioritizeCatalogue);
}
/**
* Get prioritizeCatalogue
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getPrioritizeCatalogue()
{
return $this->prioritizeCatalogue;
}
}