<?php

namespace OfficeBrain\Bundle\RequestQuoteBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * RequestQuoteProductImprintArea
 *
 * @ORM\Table("tbl_request_quote_product_imprint_area", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintAreaRepository")
 */
class RequestQuoteProductImprintArea
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint",length=20 ,options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\ManyToOne(targetEntity="RequestQuoteItemLine", inversedBy="requestQuoteProductImprintArea")  
     * @ORM\JoinColumn(name="request_quote_item_line_id", referencedColumnName="id")
     */
    private $requestQuoteItemLineId;

    /**
     * @var integer
     *
     * @ORM\Column(name="imprint_area_id", type="bigint",length=20 ,options={"unsigned"=true}, nullable=true)
     */
    private $imprintAreaId;

    /**
     * @var integer
     *
     * @ORM\Column(name="imprint_area_method_id", type="bigint",length=20 ,options={"unsigned"=true}, nullable=true)
     */
    private $imprintAreaMethodId;

    /**
     * @var integer
     *
     * @ORM\Column(name="imprint_area_noof_color", type="bigint",length=20 ,options={"unsigned"=true}, nullable=true)
     */
    private $imprintAreaNoofColor;

    /**
     * @ORM\OneToMany(targetEntity="RequestQuoteProductImprintColor", mappedBy="imprintAreaRequestId")
     */
    private $requestQuoteProductImprintColor;

    /**
     * @ORM\OneToMany(targetEntity="RequestQuoteProductImprintTextArtwork", mappedBy="imprintAreaRequestId")
     */
    private $requestQuoteProductImprintTextArtwork;
    
    public function __construct() {
    	$this -> requestQuoteProductImprintColor = new ArrayCollection();
    	$this -> requestQuoteProductImprintTextArtwork = new ArrayCollection();
    }
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set requestQuoteItemLineId
     *
     * @param integer $requestQuoteItemLineId
     * @return RequestQuoteProductImprintArea
     */
    public function setRequestQuoteItemLineId($requestQuoteItemLineId)
    {
        $this->requestQuoteItemLineId = $requestQuoteItemLineId;

        return $this;
    }

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

    /**
     * Set imprintAreaId
     *
     * @param integer $imprintAreaId
     * @return RequestQuoteProductImprintArea
     */
    public function setImprintAreaId($imprintAreaId)
    {
        $this->imprintAreaId = $imprintAreaId;

        return $this;
    }

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

    /**
     * Set imprintAreaMethodId
     *
     * @param integer $imprintAreaMethodId
     * @return RequestQuoteProductImprintArea
     */
    public function setImprintAreaMethodId($imprintAreaMethodId)
    {
        $this->imprintAreaMethodId = $imprintAreaMethodId;

        return $this;
    }

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

    /**
     * Set imprintAreaNoofColor
     *
     * @param integer $imprintAreaNoofColor
     * @return RequestQuoteProductImprintArea
     */
    public function setImprintAreaNoofColor($imprintAreaNoofColor)
    {
        $this->imprintAreaNoofColor = $imprintAreaNoofColor;

        return $this;
    }

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

    /**
     * Add requestQuoteProductImprintColor
     *
     * @param \OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintColor $requestQuoteProductImprintColor
     * @return RequestQuoteProductImprintArea
     */
    public function addRequestQuoteProductImprintColor(\OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintColor $requestQuoteProductImprintColor)
    {
        $this->requestQuoteProductImprintColor[] = $requestQuoteProductImprintColor;

        return $this;
    }

    /**
     * Remove requestQuoteProductImprintColor
     *
     * @param \OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintColor $requestQuoteProductImprintColor
     */
    public function removeRequestQuoteProductImprintColor(\OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintColor $requestQuoteProductImprintColor)
    {
        $this->requestQuoteProductImprintColor->removeElement($requestQuoteProductImprintColor);
    }

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

    /**
     * Add requestQuoteProductImprintTextArtwork
     *
     * @param \OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintTextArtwork $requestQuoteProductImprintTextArtwork
     * @return RequestQuoteProductImprintArea
     */
    public function addRequestQuoteProductImprintTextArtwork(\OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintTextArtwork $requestQuoteProductImprintTextArtwork)
    {
        $this->requestQuoteProductImprintTextArtwork[] = $requestQuoteProductImprintTextArtwork;

        return $this;
    }

    /**
     * Remove requestQuoteProductImprintTextArtwork
     *
     * @param \OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintTextArtwork $requestQuoteProductImprintTextArtwork
     */
    public function removeRequestQuoteProductImprintTextArtwork(\OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteProductImprintTextArtwork $requestQuoteProductImprintTextArtwork)
    {
        $this->requestQuoteProductImprintTextArtwork->removeElement($requestQuoteProductImprintTextArtwork);
    }

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