<?php

namespace OfficeBrain\Bundle\QuoteBundle\Entity;

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

/**
 * QuoteVariationQuantity
 *
 * @ORM\Table("tbl_quote_variation_quantity", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\QuoteBundle\Entity\QuoteVariationQuantityRepository")
 */
class QuoteVariationQuantity
{
    /**
     * @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="QuoteVariationMapping", inversedBy="quoteVariationQuantity")
     * @ORM\JoinColumn(name="variation_mapping_id",referencedColumnName="id")
     */
    private $variationMappingId;

    /**
     * @var string
     *
     * @ORM\Column(name="unit_price", type="decimal",precision=11, scale=2, options={"default" = 0})
     */
    private $unitPrice;

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


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

    /**
     * Set unitPrice
     *
     * @param string $unitPrice
     * @return QuoteVariationQuantity
     */
    public function setUnitPrice($unitPrice)
    {
        $this->unitPrice = $unitPrice;

        return $this;
    }

    /**
     * Get unitPrice
     *
     * @return string 
     */
    public function getUnitPrice()
    {
        return $this->unitPrice;
    }

    /**
     * Set productQuantity
     *
     * @param integer $productQuantity
     * @return QuoteVariationQuantity
     */
    public function setProductQuantity($productQuantity)
    {
        $this->productQuantity = $productQuantity;

        return $this;
    }

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

    /**
     * Set variationMappingId
     *
     * @param \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteVariationMapping $variationMappingId
     * @return QuoteVariationQuantity
     */
    public function setVariationMappingId(\OfficeBrain\Bundle\QuoteBundle\Entity\QuoteVariationMapping $variationMappingId = null)
    {
        $this->variationMappingId = $variationMappingId;

        return $this;
    }

    /**
     * Get variationMappingId
     *
     * @return \OfficeBrain\Bundle\QuoteBundle\Entity\QuoteVariationMapping 
     */
    public function getVariationMappingId()
    {
        return $this->variationMappingId;
    }
}
