src/Entity/Product.php line 28

Open in your IDE?
  1. <?php
  2. /**
  3.  * Product class represents model of Product entity
  4.  *
  5.  * $Project: Alliancemarkets2 $
  6.  * $Id$
  7.  *
  8.  * @package alliancemarkets2
  9.  * @author George Matyas <webexciter@yahoo.com>
  10.  * @version $Revision$
  11.  */
  12. // src/AppBundle/Entity/Product.php
  13. namespace App\Entity;
  14. use Doctrine\Common\Collections\ArrayCollection;
  15. use Doctrine\Common\Collections\Collection;
  16. use Doctrine\DBAL\Types\Types;
  17. use Doctrine\ORM\Mapping as ORM;
  18. use Gedmo\Mapping\Annotation as Gedmo;
  19. use Gedmo\Translatable\Translatable;
  20. /**
  21.  * @ORM\Entity(repositoryClass="App\EntityRepo\ProductRepo")
  22.  * @ORM\Table(name="product")
  23.  * @Gedmo\TranslationEntity(class="App\Entity\ProductTranslation")
  24.  */
  25. class Product implements Translatable
  26. {
  27.     /**
  28.      * @ORM\Column(type="integer")
  29.      * @ORM\Id
  30.      * @ORM\GeneratedValue(strategy="AUTO")
  31.      */ 
  32.     protected $productId=0;
  33.     /**
  34.      * @ORM\Column(type="string", length=255, nullable=true)
  35.      */
  36.     protected $productKey;
  37.     /**
  38.      * @ORM\Column(type="string", length=100, nullable=true)
  39.      */    
  40.     protected $EAN
  41.     /**
  42.      * @ORM\Column(type="string", length=100, nullable=true)
  43.      */    
  44.     protected $ERPKey
  45.     
  46.     /**
  47.      * Many Products have Many Prices.
  48.      * @ORM\ManyToMany(targetEntity="Price")
  49.      * @ORM\JoinTable(name="product_price",
  50.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  51.      *      inverseJoinColumns={@ORM\JoinColumn(name="price_id", referencedColumnName="price_id", unique=false)}
  52.      *      )
  53.      */
  54.     protected $prices;    
  55.     
  56.     /**
  57.      * @ORM\Column(type="integer")
  58.      */
  59.     protected $parentProductId=0
  60.     
  61.     /**
  62.      * @Gedmo\Translatable
  63.      * @ORM\Column(type="string", length=100, nullable=true)
  64.      */
  65.     protected $productName;
  66.     
  67.     /**
  68.      * @Gedmo\Translatable
  69.      * @ORM\Column(type="text", nullable=true)
  70.      */
  71.     protected $productDescription;    
  72.     
  73.     /**
  74.      * @Gedmo\Translatable
  75.      * @ORM\Column(type="string", nullable=true)
  76.      */
  77.     protected $productShortDescription;    
  78.     
  79.     /**
  80.      * Post locale
  81.      * Used locale to override Translation listener's locale
  82.      *
  83.      * @Gedmo\Locale
  84.      * 
  85.      */
  86.     protected $locale;
  87.     
  88.     /**
  89.      * Assert\Image( maxSize = "3072k", mimeTypesMessage = "Please upload a valid Image") 
  90.      * 
  91.      * @ORM\Column(type="string", length=255, nullable=true)
  92.      */
  93.     protected $image1;    
  94.     /**
  95.      * @ORM\Column(type="string", length=255, nullable=true)
  96.      */
  97.     protected $image2;    
  98.     
  99.     /**
  100.      * @ORM\Column(type="string", length=255, nullable=true)
  101.      */
  102.     protected $image3;    
  103.     
  104.     /**
  105.      * One Product has Many Galleries.
  106.      * @ORM\ManyToMany(targetEntity="Gallery")
  107.      * @ORM\JoinTable(name="product_gallery",
  108.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  109.      *      inverseJoinColumns={@ORM\JoinColumn(name="gallery_id", referencedColumnName="gallery_id", unique=false)}
  110.      *      )
  111.      */
  112.     protected $imageGallery;
  113. /*
  114. * @ORM\ManyToMany(targetEntity="Category", cascade={"remove"}, orphanRemoval=true)
  115. */
  116.     /**
  117.      * One Product has Many Categories.
  118.      * @ORM\ManyToMany(targetEntity="Category")
  119.      * @ORM\JoinTable(name="product_category",
  120.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  121.      *      inverseJoinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="category_id", unique=false)}
  122.      *      )
  123.      */
  124.     protected $categories;    
  125.     /**
  126.      * One Product has Many Product Groups.
  127.      * @ORM\ManyToMany(targetEntity="ProductGroup")
  128.      * @ORM\JoinTable(name="product_groups",
  129.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  130.      *      inverseJoinColumns={@ORM\JoinColumn(name="product_group_id", referencedColumnName="product_group_id", unique=false)}
  131.      *      )
  132.      */
  133.     protected $productGroups;     
  134.     /**
  135.      * @ORM\Column(type="boolean", options={"default":"1"})
  136.      */    
  137.     protected $isActive;  
  138.     /**
  139.      * @ORM\Column(type="datetime", nullable=true, nullable=true)
  140.      */
  141.     protected $activeFrom;    
  142.     
  143.     /**
  144.      * @ORM\Column(type="datetime", nullable=true, nullable=true)
  145.      */
  146.     protected $activeTo;  
  147.     /**
  148.      * @ORM\Column(type="string", length=255, nullable=true)
  149.      */
  150.     protected $unitName;   
  151.     /**
  152.      * @ORM\Column(type="integer", nullable=true)
  153.      */
  154.     protected $marketplaceDepartmentId=0;         
  155.     /**
  156.      * One Product has Many Departments.
  157.      * @ORM\ManyToMany(targetEntity="Department")
  158.      * @ORM\JoinTable(name="product_department",
  159.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  160.      *      inverseJoinColumns={@ORM\JoinColumn(name="department_id", referencedColumnName="department_id", unique=false)}
  161.      *      )
  162.      */
  163.     protected $departments;  
  164.     /**
  165.      * @ORM\Column(type="string", length=255, nullable=true)
  166.      */
  167.     protected $productLink
  168.     /**
  169.      * @ORM\Column(type="integer")
  170.      */
  171.     protected $viewedCount=0;    
  172.     /**
  173.      * @ORM\Column(type="integer")
  174.      */
  175.     protected $clickedCount=0;    
  176.     /**
  177.      * @ORM\Column(type="integer", nullable=true)
  178.      */
  179.     protected $productVAT;     
  180.     /**
  181.      * @ORM\Column(type="integer", nullable=true)
  182.      */
  183.     protected $stock;  
  184.     /**
  185.      * @Gedmo\Translatable
  186.      * @ORM\Column(type="string", length=255, nullable=true)
  187.      */
  188.     protected $titleSEO;            
  189.     /**
  190.      * @Gedmo\Translatable
  191.      * @ORM\Column(type="string", length=255, nullable=true)
  192.      */
  193.     protected $keywordsSEO;   
  194.     /**
  195.      * @ORM\Column(type="integer", nullable=true)
  196.      */
  197.     protected $priority=3;   
  198.     /**
  199.      * @ORM\Column(type="integer", nullable=true)
  200.      */
  201.     protected $piecesInPack
  202.     /**
  203.      * @ORM\Column(type="float", nullable=true)
  204.      */    
  205.     protected $packPrice;              
  206.     /**
  207.      * @ORM\Column(type="boolean", options={"default":false}, nullable=true)
  208.      */    
  209.     protected $isStrictPackSale;  
  210.     /**
  211.      * Many Products have Many PackagePrices.
  212.      * @ORM\ManyToMany(targetEntity="Price")
  213.      * @ORM\JoinTable(name="product_package_price",
  214.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  215.      *      inverseJoinColumns={@ORM\JoinColumn(name="price_id", referencedColumnName="price_id", unique=false)}
  216.      *      )
  217.      */
  218.     protected $packagePrices;  
  219.     /**
  220.      * @ORM\Column(type="string", length=255, nullable=true)
  221.      */
  222.     protected $productModelLink;    
  223.     /**
  224.      * @ORM\Column(type="string", length=255, nullable=true)
  225.      */
  226.     protected $manufacturer;       
  227.     
  228.     /**
  229.      * @ORM\Column(type="integer", nullable=true)
  230.      */
  231.     protected $gallery3dId=0;   
  232.     
  233.     /**
  234.      * @ORM\Column(type="integer", nullable=true)
  235.      */
  236.     protected $minimalAmount=0;        
  237.     /**
  238.      * Constructor
  239.      */
  240.     public function __construct()
  241.     {
  242.         $this->prices = new \Doctrine\Common\Collections\ArrayCollection();
  243.         $this->imageGallery = new ArrayCollection();
  244.         $this->categories = new ArrayCollection();
  245.         $this->productGroups = new ArrayCollection();
  246.         $this->departments = new ArrayCollection();
  247.         $this->packagePrices = new ArrayCollection();
  248.     }
  249.     /**
  250.      * Get productId
  251.      *
  252.      * @return integer
  253.      */
  254.     public function getProductId()
  255.     {
  256.         return $this->productId;
  257.     }
  258.     /**
  259.      * Set productKey
  260.      *
  261.      * @param string $productKey
  262.      *
  263.      * @return Product
  264.      */
  265.     public function setProductKey($productKey)
  266.     {
  267.         $this->productKey $productKey;
  268.         return $this;
  269.     }
  270.     /**
  271.      * Get productKey
  272.      *
  273.      * @return string
  274.      */
  275.     public function getProductKey()
  276.     {
  277.         return $this->productKey;
  278.     }
  279.     /**
  280.      * Set eAN
  281.      *
  282.      * @param string $eAN
  283.      *
  284.      * @return Product
  285.      */
  286.     public function setEAN($eAN)
  287.     {
  288.         $this->EAN $eAN;
  289.         return $this;
  290.     }
  291.     /**
  292.      * Get eAN
  293.      *
  294.      * @return string
  295.      */
  296.     public function getEAN()
  297.     {
  298.         return $this->EAN;
  299.     }
  300.     /**
  301.      * Set eRPKey
  302.      *
  303.      * @param string $eRPKey
  304.      *
  305.      * @return Product
  306.      */
  307.     public function setERPKey($eRPKey)
  308.     {
  309.         $this->ERPKey $eRPKey;
  310.         return $this;
  311.     }
  312.     /**
  313.      * Get eRPKey
  314.      *
  315.      * @return string
  316.      */
  317.     public function getERPKey()
  318.     {
  319.         return $this->ERPKey;
  320.     }
  321.     /**
  322.      * Set parentProductId
  323.      *
  324.      * @param integer $parentProductId
  325.      *
  326.      * @return Product
  327.      */
  328.     public function setParentProductId($parentProductId)
  329.     {
  330.         $this->parentProductId $parentProductId;
  331.         return $this;
  332.     }
  333.     /**
  334.      * Get parentProductId
  335.      *
  336.      * @return integer
  337.      */
  338.     public function getParentProductId()
  339.     {
  340.         return $this->parentProductId;
  341.     }
  342.     /**
  343.      * Set productName
  344.      *
  345.      * @param string $productName
  346.      *
  347.      * @return Product
  348.      */
  349.     public function setProductName($productName)
  350.     {
  351.         $this->productName $productName;
  352.         return $this;
  353.     }
  354.     /**
  355.      * Get productName
  356.      *
  357.      * @return string
  358.      */
  359.     public function getProductName()
  360.     {
  361.         return $this->productName;
  362.     }
  363.     /**
  364.      * Set productDescription
  365.      *
  366.      * @param string $productDescription
  367.      *
  368.      * @return Product
  369.      */
  370.     public function setProductDescription($productDescription)
  371.     {
  372.         $this->productDescription $productDescription;
  373.         return $this;
  374.     }
  375.     /**
  376.      * Get productDescription
  377.      *
  378.      * @return string
  379.      */
  380.     public function getProductDescription()
  381.     {
  382.         return $this->productDescription;
  383.     }
  384.     /**
  385.      * Set productShortDescription
  386.      *
  387.      * @param string $productShortDescription
  388.      *
  389.      * @return Product
  390.      */
  391.     public function setProductShortDescription($productShortDescription)
  392.     {
  393.         $this->productShortDescription $productShortDescription;
  394.         return $this;
  395.     }
  396.     /**
  397.      * Get productShortDescription
  398.      *
  399.      * @return string
  400.      */
  401.     public function getProductShortDescription()
  402.     {
  403.         return $this->productShortDescription;
  404.     }
  405.     /**
  406.      * Set image1
  407.      *
  408.      * @param string $image1
  409.      *
  410.      * @return Product
  411.      */
  412.     public function setImage1($image1)
  413.     {
  414.         $this->image1 $image1;
  415.         return $this;
  416.     }
  417.     /**
  418.      * Get image1
  419.      *
  420.      * @return string
  421.      */
  422.     public function getImage1()
  423.     {
  424.         return $this->image1;
  425.     }
  426.     /**
  427.      * Set image2
  428.      *
  429.      * @param string $image2
  430.      *
  431.      * @return Product
  432.      */
  433.     public function setImage2($image2)
  434.     {
  435.         $this->image2 $image2;
  436.         return $this;
  437.     }
  438.     /**
  439.      * Get image2
  440.      *
  441.      * @return string
  442.      */
  443.     public function getImage2()
  444.     {
  445.         return $this->image2;
  446.     }
  447.     /**
  448.      * Set image3
  449.      *
  450.      * @param string $image3
  451.      *
  452.      * @return Product
  453.      */
  454.     public function setImage3($image3)
  455.     {
  456.         $this->image3 $image3;
  457.         return $this;
  458.     }
  459.     /**
  460.      * Get image3
  461.      *
  462.      * @return string
  463.      */
  464.     public function getImage3()
  465.     {
  466.         return $this->image3;
  467.     }
  468.     /**
  469.      * Set isActive
  470.      *
  471.      * @param boolean $isActive
  472.      *
  473.      * @return Product
  474.      */
  475.     public function setIsActive($isActive)
  476.     {
  477.         $this->isActive $isActive;
  478.         return $this;
  479.     }
  480.     /**
  481.      * Get isActive
  482.      *
  483.      * @return boolean
  484.      */
  485.     public function getIsActive()
  486.     {
  487.         return $this->isActive;
  488.     }
  489.     /**
  490.      * Set activeFrom
  491.      *
  492.      * @param \DateTime $activeFrom
  493.      *
  494.      * @return Product
  495.      */
  496.     public function setActiveFrom($activeFrom)
  497.     {
  498.         $this->activeFrom $activeFrom;
  499.         return $this;
  500.     }
  501.     /**
  502.      * Get activeFrom
  503.      *
  504.      * @return \DateTime
  505.      */
  506.     public function getActiveFrom()
  507.     {
  508.         return $this->activeFrom;
  509.     }
  510.     /**
  511.      * Set activeTo
  512.      *
  513.      * @param \DateTime $activeTo
  514.      *
  515.      * @return Product
  516.      */
  517.     public function setActiveTo($activeTo)
  518.     {
  519.         $this->activeTo $activeTo;
  520.         return $this;
  521.     }
  522.     /**
  523.      * Get activeTo
  524.      *
  525.      * @return \DateTime
  526.      */
  527.     public function getActiveTo()
  528.     {
  529.         return $this->activeTo;
  530.     }
  531.     /**
  532.      * Set unitName
  533.      *
  534.      * @param string $unitName
  535.      *
  536.      * @return Product
  537.      */
  538.     public function setUnitName($unitName)
  539.     {
  540.         $this->unitName $unitName;
  541.         return $this;
  542.     }
  543.     /**
  544.      * Get unitName
  545.      *
  546.      * @return string
  547.      */
  548.     public function getUnitName()
  549.     {
  550.         return $this->unitName;
  551.     }
  552.     /**
  553.      * Set marketplaceDepartmentId
  554.      *
  555.      * @param integer $marketplaceDepartmentId
  556.      *
  557.      * @return Product
  558.      */
  559.     public function setMarketplaceDepartmentId($marketplaceDepartmentId)
  560.     {
  561.         $this->marketplaceDepartmentId $marketplaceDepartmentId;
  562.         return $this;
  563.     }
  564.     /**
  565.      * Get marketplaceDepartmentId
  566.      *
  567.      * @return integer
  568.      */
  569.     public function getMarketplaceDepartmentId()
  570.     {
  571.         return $this->marketplaceDepartmentId;
  572.     }
  573.     /**
  574.      * Add price
  575.      *
  576.      * @param \App\Entity\Price $price
  577.      *
  578.      * @return Product
  579.      */
  580.     public function addPrice(\App\Entity\Price $price)
  581.     {
  582.         $this->prices[] = $price;
  583.         return $this;
  584.     }
  585.     /**
  586.      * Remove price
  587.      *
  588.      * @param \App\Entity\Price $price
  589.      */
  590.     public function removePrice(\App\Entity\Price $price)
  591.     {
  592.         $this->prices->removeElement($price);
  593.     }
  594.     /**
  595.      * Get prices
  596.      *
  597.      * @return \Doctrine\Common\Collections\Collection
  598.      */
  599.     public function getPrices()
  600.     {
  601.         return $this->prices;
  602.     }
  603.     /**
  604.      * Add imageGallery
  605.      *
  606.      * @param \App\Entity\Gallery $imageGallery
  607.      *
  608.      * @return Product
  609.      */
  610.     public function addImageGallery(\App\Entity\Gallery $imageGallery)
  611.     {
  612.         $this->imageGallery[] = $imageGallery;
  613.         return $this;
  614.     }
  615.     /**
  616.      * Remove imageGallery
  617.      *
  618.      * @param \App\Entity\Gallery $imageGallery
  619.      */
  620.     public function removeImageGallery(\App\Entity\Gallery $imageGallery)
  621.     {
  622.         $this->imageGallery->removeElement($imageGallery);
  623.     }
  624.     /**
  625.      * Get imageGallery
  626.      *
  627.      * @return \Doctrine\Common\Collections\Collection
  628.      */
  629.     public function getImageGallery()
  630.     {
  631.         return $this->imageGallery;
  632.     }
  633.     /**
  634.      * Add category
  635.      *
  636.      * @param \App\Entity\Category $category
  637.      *
  638.      * @return Product
  639.      */
  640.     public function addCategory(\App\Entity\Category $category)
  641.     {
  642.         $this->categories[] = $category;
  643.         return $this;
  644.     }
  645.     /**
  646.      * Remove category
  647.      *
  648.      * @param \App\Entity\Category $category
  649.      */
  650.     public function removeCategory(\App\Entity\Category $category)
  651.     {
  652.         $this->categories->removeElement($category);
  653.     }
  654.     /**
  655.      * Get categories
  656.      *
  657.      * @return \Doctrine\Common\Collections\Collection
  658.      */
  659.     public function getCategories()
  660.     {
  661.         return $this->categories;
  662.     }
  663.     /**
  664.      * Add productGroup
  665.      *
  666.      * @param \App\Entity\ProductGroup $productGroup
  667.      *
  668.      * @return Product
  669.      */
  670.     public function addProductGroup(\App\Entity\ProductGroup $productGroup)
  671.     {
  672.         $this->productGroups[] = $productGroup;
  673.         return $this;
  674.     }
  675.     /**
  676.      * Remove productGroup
  677.      *
  678.      * @param \App\Entity\ProductGroup $productGroup
  679.      */
  680.     public function removeProductGroup(\App\Entity\ProductGroup $productGroup)
  681.     {
  682.         $this->productGroups->removeElement($productGroup);
  683.     }
  684.     /**
  685.      * Get productGroups
  686.      *
  687.      * @return \Doctrine\Common\Collections\Collection
  688.      */
  689.     public function getProductGroups()
  690.     {
  691.         return $this->productGroups;
  692.     }
  693.     /**
  694.      * Set locale
  695.      *
  696.      * @param string $locale
  697.      *
  698.      * @return Product
  699.      */
  700.     public function setLocale($locale)
  701.     {
  702.         $this->locale $locale;
  703.         return $this;
  704.     }
  705.     /**
  706.      * Get locale
  707.      *
  708.      * @return string
  709.      */
  710.     public function getLocale()
  711.     {
  712.         return $this->locale;
  713.     }    
  714.     /**
  715.      * Add department
  716.      *
  717.      * @param \App\Entity\Department $department
  718.      *
  719.      * @return Product
  720.      */
  721.     public function addDepartment(\App\Entity\Department $department)
  722.     {
  723.         $this->departments[] = $department;
  724.         return $this;
  725.     }
  726.     /**
  727.      * Remove department
  728.      *
  729.      * @param \App\Entity\Department $department
  730.      */
  731.     public function removeDepartment(\App\Entity\Department $department)
  732.     {
  733.         $this->departments->removeElement($department);
  734.     }
  735.     /**
  736.      * Get departments
  737.      *
  738.      * @return \Doctrine\Common\Collections\Collection
  739.      */
  740.     public function getDepartments()
  741.     {
  742.         return $this->departments;
  743.     }
  744.     /**
  745.      * Set productLink
  746.      *
  747.      * @param string $productLink
  748.      *
  749.      * @return Product
  750.      */
  751.     public function setProductLink($productLink)
  752.     {
  753.         $this->productLink $productLink;
  754.         return $this;
  755.     }
  756.     /**
  757.      * Get productLink
  758.      *
  759.      * @return string
  760.      */
  761.     public function getProductLink()
  762.     {
  763.         return $this->productLink;
  764.     }
  765.     /**
  766.      * Set viewedCount
  767.      *
  768.      * @param integer $viewedCount
  769.      *
  770.      * @return Product
  771.      */
  772.     public function setViewedCount($viewedCount)
  773.     {
  774.         $this->viewedCount $viewedCount;
  775.         return $this;
  776.     }
  777.     /**
  778.      * Get viewedCount
  779.      *
  780.      * @return integer
  781.      */
  782.     public function getViewedCount()
  783.     {
  784.         return $this->viewedCount;
  785.     }
  786.     /**
  787.      * Set clickedCount
  788.      *
  789.      * @param integer $clickedCount
  790.      *
  791.      * @return Product
  792.      */
  793.     public function setClickedCount($clickedCount)
  794.     {
  795.         $this->clickedCount $clickedCount;
  796.         return $this;
  797.     }
  798.     /**
  799.      * Get clickedCount
  800.      *
  801.      * @return integer
  802.      */
  803.     public function getClickedCount()
  804.     {
  805.         return $this->clickedCount;
  806.     }
  807.     /**
  808.      * Set productVAT
  809.      *
  810.      * @param integer $productVAT
  811.      *
  812.      * @return Product
  813.      */
  814.     public function setProductVAT($productVAT)
  815.     {
  816.         $this->productVAT $productVAT;
  817.         return $this;
  818.     }
  819.     /**
  820.      * Get productVAT
  821.      *
  822.      * @return integer
  823.      */
  824.     public function getProductVAT()
  825.     {
  826.         return $this->productVAT;
  827.     }
  828.     /**
  829.      * Set stock
  830.      *
  831.      * @param integer $stock
  832.      *
  833.      * @return Product
  834.      */
  835.     public function setStock($stock)
  836.     {
  837.         $this->stock $stock;
  838.         return $this;
  839.     }
  840.     /**
  841.      * Get stock
  842.      *
  843.      * @return integer
  844.      */
  845.     public function getStock()
  846.     {
  847.         return $this->stock;
  848.     }
  849.     /**
  850.      * Set titleSEO
  851.      *
  852.      * @param string $titleSEO
  853.      *
  854.      * @return Product
  855.      */
  856.     public function setTitleSEO($titleSEO)
  857.     {
  858.         $this->titleSEO $titleSEO;
  859.         return $this;
  860.     }
  861.     /**
  862.      * Get titleSEO
  863.      *
  864.      * @return string
  865.      */
  866.     public function getTitleSEO()
  867.     {
  868.         return $this->titleSEO;
  869.     }
  870.     /**
  871.      * Set keywordsSEO
  872.      *
  873.      * @param string $keywordsSEO
  874.      *
  875.      * @return Product
  876.      */
  877.     public function setKeywordsSEO($keywordsSEO)
  878.     {
  879.         $this->keywordsSEO $keywordsSEO;
  880.         return $this;
  881.     }
  882.     /**
  883.      * Get keywordsSEO
  884.      *
  885.      * @return string
  886.      */
  887.     public function getKeywordsSEO()
  888.     {
  889.         return $this->keywordsSEO;
  890.     }
  891.     /**
  892.      * Set priority
  893.      *
  894.      * @param integer $priority
  895.      *
  896.      * @return Product
  897.      */
  898.     public function setPriority($priority)
  899.     {
  900.         $this->priority $priority;
  901.         return $this;
  902.     }
  903.     /**
  904.      * Get priority
  905.      *
  906.      * @return integer
  907.      */
  908.     public function getPriority()
  909.     {
  910.         return $this->priority;
  911.     }
  912.     /**
  913.      * Set piecesInPack
  914.      *
  915.      * @param integer $piecesInPack
  916.      *
  917.      * @return Product
  918.      */
  919.     public function setPiecesInPack($piecesInPack)
  920.     {
  921.         $this->piecesInPack $piecesInPack;
  922.         return $this;
  923.     }
  924.     /**
  925.      * Get piecesInPack
  926.      *
  927.      * @return integer
  928.      */
  929.     public function getPiecesInPack()
  930.     {
  931.         return $this->piecesInPack;
  932.     }
  933.     /**
  934.      * Set packPrice
  935.      *
  936.      * @param float $packPrice
  937.      *
  938.      * @return Product
  939.      */
  940.     public function setPackPrice($packPrice)
  941.     {
  942.         $this->packPrice $packPrice;
  943.         return $this;
  944.     }
  945.     /**
  946.      * Get packPrice
  947.      *
  948.      * @return float
  949.      */
  950.     public function getPackPrice()
  951.     {
  952.         return $this->packPrice;
  953.     }
  954.     /**
  955.      * Set isStrictPackSale
  956.      *
  957.      * @param boolean $isStrictPackSale
  958.      *
  959.      * @return Product
  960.      */
  961.     public function setIsStrictPackSale($isStrictPackSale)
  962.     {
  963.         $this->isStrictPackSale $isStrictPackSale;
  964.         return $this;
  965.     }
  966.     /**
  967.      * Get isStrictPackSale
  968.      *
  969.      * @return boolean
  970.      */
  971.     public function getIsStrictPackSale()
  972.     {
  973.         return $this->isStrictPackSale;
  974.     }
  975.     /**
  976.      * Add packagePrice
  977.      *
  978.      * @param \App\Entity\Price $packagePrice
  979.      *
  980.      * @return Product
  981.      */
  982.     public function addPackagePrice(\App\Entity\Price $packagePrice)
  983.     {
  984.         $this->packagePrices[] = $packagePrice;
  985.         return $this;
  986.     }
  987.     /**
  988.      * Remove packagePrice
  989.      *
  990.      * @param \App\Entity\Price $packagePrice
  991.      */
  992.     public function removePackagePrice(\App\Entity\Price $packagePrice)
  993.     {
  994.         $this->packagePrices->removeElement($packagePrice);
  995.     }
  996.     /**
  997.      * Get packagePrices
  998.      *
  999.      * @return \Doctrine\Common\Collections\Collection
  1000.      */
  1001.     public function getPackagePrices()
  1002.     {
  1003.         return $this->packagePrices;
  1004.     }
  1005.     /**
  1006.      * Set productModelLink
  1007.      *
  1008.      * @param string $productModelLink
  1009.      *
  1010.      * @return Product
  1011.      */
  1012.     public function setProductModelLink($productModelLink)
  1013.     {
  1014.         $this->productModelLink $productModelLink;
  1015.         return $this;
  1016.     }
  1017.     /**
  1018.      * Get productModelLink
  1019.      *
  1020.      * @return string
  1021.      */
  1022.     public function getProductModelLink()
  1023.     {
  1024.         return $this->productModelLink;
  1025.     }
  1026.     /**
  1027.      * Set manufacturer
  1028.      *
  1029.      * @param string $manufacturer
  1030.      *
  1031.      * @return Product
  1032.      */
  1033.     public function setManufacturer($manufacturer)
  1034.     {
  1035.         $this->manufacturer $manufacturer;
  1036.         return $this;
  1037.     }
  1038.     /**
  1039.      * Get manufacturer
  1040.      *
  1041.      * @return string
  1042.      */
  1043.     public function getManufacturer()
  1044.     {
  1045.         return $this->manufacturer;
  1046.     }
  1047.     /**
  1048.      * Set gallery3dId
  1049.      *
  1050.      * @param integer $gallery3dId
  1051.      *
  1052.      * @return Product
  1053.      */
  1054.     public function setGallery3dId($gallery3dId)
  1055.     {
  1056.         $this->gallery3dId $gallery3dId;
  1057.         return $this;
  1058.     }
  1059.     /**
  1060.      * Get gallery3dId
  1061.      *
  1062.      * @return integer
  1063.      */
  1064.     public function getGallery3dId()
  1065.     {
  1066.         return $this->gallery3dId;
  1067.     }
  1068.     /**
  1069.      * Set minimalAmount
  1070.      *
  1071.      * @param integer $minimalAmount
  1072.      *
  1073.      * @return Product
  1074.      */
  1075.     public function setMinimalAmount($minimalAmount)
  1076.     {
  1077.         $this->minimalAmount $minimalAmount;
  1078.         return $this;
  1079.     }
  1080.     /**
  1081.      * Get minimalAmount
  1082.      *
  1083.      * @return integer
  1084.      */
  1085.     public function getMinimalAmount()
  1086.     {
  1087.         return $this->minimalAmount;
  1088.     }
  1089.     public function isIsActive(): ?bool
  1090.     {
  1091.         return $this->isActive;
  1092.     }
  1093.     public function isIsStrictPackSale(): ?bool
  1094.     {
  1095.         return $this->isStrictPackSale;
  1096.     }
  1097. }