<?php

namespace OfficeBrain\Bundle\EcatalogueBundle\Entity;

use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * PrioritizeCatalogue
 *
 * @ORM\Table(name="tbl_prioritize_ecatalogues")
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\EcatalogueBundle\Entity\PrioritizeCatalogueRepository")
 */
class PrioritizeCatalogue
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;   

    
    /**
     * Bidirectional (OWNING SIDE - FK)
     *
     * @ORM\ManyToOne(targetEntity="\OfficeBrain\Bundle\UserBundle\Entity\User", inversedBy="prioritizeEcatalogueUser")
     * @ORM\JoinColumn(name="user_id", nullable=true)
    
     */
    protected $user;
    
    /**
     * Bidirectional (OWNING SIDE - FK)
     *
     * @ORM\ManyToOne(targetEntity="ECatalogue", inversedBy="prioritizeCatalogue")
     * @ORM\JoinColumn(name="catalog_id", referencedColumnName="id")
     * 
     */
    protected $catalogue;
        
    /**
     * @ORM\Column(type="integer", name="catalogue_order", length=10, nullable=true, options={"default" = "0"})
     * 
     */
    protected $catalogueOrder;
	    
    /**
     * @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;


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

    /**
     * Set catalogueOrder
     *
     * @param integer $catalogueOrder
     *
     * @return PrioritizeCatalogue
     */
    public function setCatalogueOrder($catalogueOrder)
    {
        $this->catalogueOrder = $catalogueOrder;

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

    /**
     * Set catalogue
     *
     * @param \OfficeBrain\Bundle\EcatalogueBundle\Entity\ECatalogue $catalogue
     *
     * @return PrioritizeCatalogue
     */
    public function setCatalogue(\OfficeBrain\Bundle\EcatalogueBundle\Entity\ECatalogue $catalogue = null)
    {
        $this->catalogue = $catalogue;

        return $this;
    }

    /**
     * Get catalogue
     *
     * @return \OfficeBrain\Bundle\EcatalogueBundle\Entity\ECatalogue
     */
    public function getCatalogue()
    {
        return $this->catalogue;
    }
	public function getUser() {
		return $this->user;
	}
	public function setUser($user) {
		$this->user = $user;
		return $this;
	}
	
}
