<?php

namespace OfficeBrain\Bundle\QuickQuoteBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * QuickQuoteProduct
 *
 * @ORM\Table(name="tbl_quick_quote_product", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"}, indexes={
 *         @ORM\Index(columns={"user_id", "culture_id"}),
 *         @ORM\Index(columns={"product_id", "culture_product_id", "user_id", "culture_id"})
 *     },))
 * @ORM\Entity() 
 */
class QuickQuoteProduct
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", length=20, options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    
    /**
     * @var integer
     *
     * @ORM\Column(name="product_id", type="bigint", length=20, options={"unsigned"=true}, nullable=true)
     */
    protected $productId;
    
    /**
     * @var integer
     *
     * @ORM\Column(name="culture_product_id", type="bigint", length=20, options={"unsigned"=true}, nullable=true)
     */
    protected $cultureProductId ;

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

    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="bigint", length=20, options={"unsigned"=true}, nullable=true)
     */
    protected $userId;
    
    /**
     * Bidirectional (OWNING SIDE - FK).
     *
     * @ORM\ManyToOne(targetEntity="\OfficeBrain\Bundle\QuickQuoteBundle\Entity\QuickQuote", inversedBy="product")
     * @ORM\JoinColumn(name="quick_quote_id", nullable=false)
     */
     protected $quickQuote;

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

    /**
     * Set productId
     *
     * @param integer $productId
     * @return QuickQuoteProduct
     */
    public function setProductId($productId)
    {
        $this->productId = $productId;

        return $this;
    }

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

    /**
     * Set cultureProductId
     *
     * @param integer $cultureProductId
     * @return QuickQuoteProduct
     */
    public function setCultureProductId($cultureProductId)
    {
        $this->cultureProductId = $cultureProductId;

        return $this;
    }

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

    /**
     * Set cultureId
     *
     * @param integer $cultureId
     * @return QuickQuoteProduct
     */
    public function setCultureId($cultureId)
    {
        $this->cultureId = $cultureId;

        return $this;
    }

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

    /**
     * Set userId
     *
     * @param integer $userId
     * @return QuickQuoteProduct
     */
    public function setUserId($userId)
    {
        $this->userId = $userId;

        return $this;
    }

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

    /**
     * Set quickQuote
     *
     * @param \OfficeBrain\Bundle\QuickQuoteBundle\Entity\QuickQuote $quickQuote
     * @return QuickQuoteProduct
     */
    public function setQuickQuote(\OfficeBrain\Bundle\QuickQuoteBundle\Entity\QuickQuote $quickQuote)
    {
        $this->quickQuote = $quickQuote;

        return $this;
    }

    /**
     * Get quickQuote
     *
     * @return \OfficeBrain\Bundle\QuickQuoteBundle\Entity\QuickQuote 
     */
    public function getQuickQuote()
    {
        return $this->quickQuote;
    }
}
