<?php

namespace VGM\WOBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * WorkOrderStockAssociation
 */
class WorkOrderStockAssociation
{
    /**
     * @var integer
     */
    private $id;
    /**
     * @var integer
     */
    private $as_number;
    /**
     * @var \VGM\WOBundle\Entity\Stock
     */
    private $stock;
    /**
     * @var \VGM\WOBundle\Entity\WorkOrder
     */
    private $workorder;
    /**
     * @var \VGM\WOBundle\Entity\Client
     */
    private $client;
    /**
     * @var string
     */
    private $status;
    /**
     * @var \DateTime
     */
    private $due_date;
    /**
     * @var \DateTime
     */
    private $delivery_date;
    /**
     * @var \VGM\WOBundle\Entity\SaleType
     */
    private $saletype;
    /**
     * @var \VGM\WOBundle\Entity\WorkType
     */
    private $worktype;
    /**
     * @var string
     */
    private $origin;
    /**
     * @var \Doctrine\Common\Collections\Collection
     */
    private $invoice_refs;

    /**
     * Constructor
     */
    public function __construct()
    {
        $this->invoice_refs = new \Doctrine\Common\Collections\ArrayCollection();
    }
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
    /**
     * Set as_number
     *
     * @param integer $asNumber
     * @return WorkOrderStockAssociation
     */
    public function setAsNumber($asNumber)
    {
        $this->as_number = $asNumber;

        return $this;
    }
    /**
     * Get as_number
     *
     * @return integer 
     */
    public function getAsNumber()
    {
        return $this->as_number;
    }
    /**
     * Set stock
     *
     * @param \VGM\WOBundle\Entity\Stock $stock
     * @return WorkOrderStockAssociation
     */
    public function setStock(\VGM\WOBundle\Entity\Stock $stock = null)
    {
        $this->stock = $stock;

        return $this;
    }
    /**
     * Get stock
     *
     * @return \VGM\WOBundle\Entity\Stock 
     */
    public function getStock()
    {
        return $this->stock;
    }
    /**
     * Set workorder
     *
     * @param \VGM\WOBundle\Entity\WorkOrder $workorder
     * @return WorkOrderStockAssociation
     */
    public function setWorkorder(\VGM\WOBundle\Entity\WorkOrder $workorder = null)
    {
        $this->workorder = $workorder;

        return $this;
    }
    /**
     * Get workorder
     *
     * @return \VGM\WOBundle\Entity\WorkOrder 
     */
    public function getWorkorder()
    {
        return $this->workorder;
    }
    /**
     * Set client
     *
     * @param \VGM\WOBundle\Entity\Client $client
     * @return WorkOrderStockAssociation
     */
    public function setClient(\VGM\WOBundle\Entity\Client $client = null)
    {
        $this->client = $client;

        return $this;
    }
    /**
     * Get client
     *
     * @return \VGM\WOBundle\Entity\Client 
     */
    public function getClient()
    {
        return $this->client;
    }
    /**
     * Set status
     *
     * @param string $status
     * @return WorkOrderStockAssociation
     */
    public function setStatus($status)
    {
        $this->status = $status;

        return $this;
    }
    /**
     * Get status
     *
     * @return string 
     */
    public function getStatus()
    {
        return $this->status;
    }
    /**
     * Set deliveryDate
     *
     * @param \DateTime $deliveryDate
     *
     * @return WorkOrderStockAssociation
     */
    public function setDeliveryDate($deliveryDate)
    {
        $this->delivery_date = $deliveryDate;

        return $this;
    }
    /**
     * Get deliveryDate
     *
     * @return \DateTime
     */
    public function getDeliveryDate()
    {
        return $this->delivery_date;
    }
    /**
     * Set saletype
     *
     * @param \VGM\WOBundle\Entity\SaleType $saletype
     *
     * @return WorkOrderStockAssociation
     */
    public function setSaletype(\VGM\WOBundle\Entity\SaleType $saletype = null)
    {
        $this->saletype = $saletype;

        return $this;
    }
    /**
     * Get saletype
     *
     * @return \VGM\WOBundle\Entity\SaleType
     */
    public function getSaletype()
    {
        return $this->saletype;
    }
    /**
     * Set worktype
     *
     * @param \VGM\WOBundle\Entity\WorkType $worktype
     *
     * @return WorkOrderStockAssociation
     */
    public function setWorktype(\VGM\WOBundle\Entity\WorkType $worktype = null)
    {
        $this->worktype = $worktype;

        return $this;
    }
    /**
     * Get worktype
     *
     * @return \VGM\WOBundle\Entity\WorkType
     */
    public function getWorktype()
    {
        return $this->worktype;
    }
    /**
     * Set dueDate
     *
     * @param \DateTime $dueDate
     *
     * @return WorkOrderStockAssociation
     */
    public function setDueDate($dueDate)
    {
        $this->due_date = $dueDate;

        return $this;
    }
    /**
     * Get dueDate
     *
     * @return \DateTime
     */
    public function getDueDate()
    {
        return $this->due_date;
    }
    /**
     * Set origin
     *
     * @param string $origin
     *
     * @return WorkOrderStockAssociation
     */
    public function setOrigin($origin)
    {
        $this->origin = $origin;

        return $this;
    }
    /**
     * Get origin
     *
     * @return string
     */
    public function getOrigin()
    {
        return $this->origin;
    }
    /**
     * Add invoiceRef
     *
     * @param \VGM\WOBundle\Entity\InvoiceReference $invoiceRef
     *
     * @return WorkOrderStockAssociation
     */
    public function addInvoiceRef(\VGM\WOBundle\Entity\InvoiceReference $invoiceRef)
    {
        $this->invoice_refs[] = $invoiceRef;

        return $this;
    }
    /**
     * Remove invoiceRef
     *
     * @param \VGM\WOBundle\Entity\InvoiceReference $invoiceRef
     */
    public function removeInvoiceRef(\VGM\WOBundle\Entity\InvoiceReference $invoiceRef)
    {
        $this->invoice_refs->removeElement($invoiceRef);
    }
    /**
     * Get invoiceRefs
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getInvoiceRefs()
    {
        return $this->invoice_refs;
    }
}
