<?php

namespace RxConnexionBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use RxConnexionBundle\Entity\Base\BaseEntity;

/**
 * TransferInventoryItemInventorySerialNoEntity
 *
 * @ORM\Table(name="transfer_inventory_item_inventory_serial_no")
 * @ORM\Entity(repositoryClass="RxConnexionBundle\Repository\TransferInventoryItemInventorySerialNoRepository")
 */
class TransferInventoryItemInventorySerialNoEntity extends BaseEntity
{
   /**
   * @ORM\ManyToOne(targetEntity="RxConnexionBundle\Entity\TransferInventoryItemEntity", inversedBy="transferInventoryItemInventorySerialNos")
   * @ORM\JoinColumn(name="transfer_inventory_item_id", referencedColumnName="id")
   */
   protected $transferInventoryItem;

   /**
   * @ORM\ManyToOne(targetEntity="RxConnexionBundle\Entity\InventorySerialNoEntity", inversedBy="transferInventoryItemInventorySerialNos")
   * @ORM\JoinColumn(name="inventory_serial_no_id", referencedColumnName="id")
   */
   protected $inventorySerialNo;

    /**
     * @ORM\OneToMany(targetEntity="TransferInventoryDeliveryItemTransferInventoryItemInvSerialNoEntity", mappedBy="transferInventoryItemInventorySerialNo", cascade={"remove"})
     */
    protected $transferInventoryDeliveryTransInvItemInvSerialNos;

    /**
     * Set transferInventoryItem
     *
     * @param \RxConnexionBundle\Entity\TransferInventoryItemEntity $transferInventoryItem
     *
     * @return TransferInventoryItemInventorySerialNoEntity
     */
    public function setTransferInventoryItem(\RxConnexionBundle\Entity\TransferInventoryItemEntity $transferInventoryItem = null)
    {
        $this->transferInventoryItem = $transferInventoryItem;

        return $this;
    }

    /**
     * Get transferInventoryItem
     *
     * @return \RxConnexionBundle\Entity\TransferInventoryItemEntity
     */
    public function getTransferInventoryItem()
    {
        return $this->transferInventoryItem;
    }

    /**
     * Set inventorySerialNo
     *
     * @param \RxConnexionBundle\Entity\InventorySerialNoEntity $inventorySerialNo
     *
     * @return TransferInventoryItemInventorySerialNoEntity
     */
    public function setInventorySerialNo(\RxConnexionBundle\Entity\InventorySerialNoEntity $inventorySerialNo = null)
    {
        $this->inventorySerialNo = $inventorySerialNo;

        return $this;
    }

    /**
     * Get inventorySerialNo
     *
     * @return \RxConnexionBundle\Entity\InventorySerialNoEntity
     */
    public function getInventorySerialNo()
    {
        return $this->inventorySerialNo;
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->transferInventoryDeliveryTransInvItemInvSerialNos = new \Doctrine\Common\Collections\ArrayCollection();
    }


    /**
     * Add transferInventoryDeliveryTransInvItemInvSerialNo
     *
     * @param \RxConnexionBundle\Entity\TransferInventoryDeliveryItemTransferInventoryItemInvSerialNoEntity $transferInventoryDeliveryTransInvItemInvSerialNo
     *
     * @return TransferInventoryItemInventorySerialNoEntity
     */
    public function addTransferInventoryDeliveryTransInvItemInvSerialNo(\RxConnexionBundle\Entity\TransferInventoryDeliveryItemTransferInventoryItemInvSerialNoEntity $transferInventoryDeliveryTransInvItemInvSerialNo)
    {
        $this->transferInventoryDeliveryTransInvItemInvSerialNos[] = $transferInventoryDeliveryTransInvItemInvSerialNo;

        return $this;
    }

    /**
     * Remove transferInventoryDeliveryTransInvItemInvSerialNo
     *
     * @param \RxConnexionBundle\Entity\TransferInventoryDeliveryItemTransferInventoryItemInvSerialNoEntity $transferInventoryDeliveryTransInvItemInvSerialNo
     */
    public function removeTransferInventoryDeliveryTransInvItemInvSerialNo(\RxConnexionBundle\Entity\TransferInventoryDeliveryItemTransferInventoryItemInvSerialNoEntity $transferInventoryDeliveryTransInvItemInvSerialNo)
    {
        $this->transferInventoryDeliveryTransInvItemInvSerialNos->removeElement($transferInventoryDeliveryTransInvItemInvSerialNo);
    }

    /**
     * Get transferInventoryDeliveryTransInvItemInvSerialNos
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getTransferInventoryDeliveryTransInvItemInvSerialNos()
    {
        return $this->transferInventoryDeliveryTransInvItemInvSerialNos;
    }
}
