<?php

namespace OfficeBrain\Bundle\PrioritizeSupplierBundle\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;


/**
 * PrioritizeSupplier
 *
 * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
 * @ORM\Table("tbl_prioritize_suppliers")
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\PrioritizeSupplierBundle\Entity\PrioritizeSupplierRepository")
 * @ORM\HasLifecycleCallbacks 
 */
class PrioritizeSupplier
{
    /**
     * @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="prioritysuppliersuer")
     * @ORM\JoinColumn(name="user_id", nullable=true)
    
     */
    protected $user;
    /**
     * Bidirectional (OWNING SIDE - FK)
     *
     * @ORM\ManyToOne(targetEntity="\OfficeBrain\Bundle\UserBundle\Entity\User", inversedBy="prioritysupplier")
     * @ORM\JoinColumn(name="supplier_id", nullable=true)
     * @Assert\NotBlank(message = "admin.eatalogue.supplier.not_blank")
     */
    protected $supplier;
    
    /**
     * @ORM\Column(type="integer", name="supplier_order", length=10, nullable=true, options={"default" = "0"})
     * @Assert\NotBlank(message="admin.not_blank")
     */
    protected $supplierOrder;
    
    /**
     * @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;
    }
	public function setId($id) {
		$this->id = $id;
		return $this;
	}
	public function getUser() {
		return $this->user;
	}
	public function setUser($user) {
		$this->user = $user;
		return $this;
	}
	public function getSupplier() {
		return $this->supplier;
	}
	public function setSupplier($supplier) {
		$this->supplier = $supplier;
		return $this;
	}
	public function getSupplierOrder() {
		return $this->supplierOrder;
	}
	public function setSupplierOrder($supplierOrder) {
		$this->supplierOrder = $supplierOrder;
		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;
	}
	
}

