src/AtechNet/CoreBundle/Entity/Vendor.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\AtechNet\CoreBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\ORM\Mapping\Column;
  5. use Doctrine\ORM\Mapping\Entity;
  6. use Doctrine\ORM\Mapping\HasLifecycleCallbacks;
  7. use Doctrine\ORM\Mapping\ManyToMany;
  8. use Doctrine\ORM\Mapping\OneToMany;
  9. use Doctrine\ORM\Mapping\OrderBy;
  10. use Doctrine\ORM\Mapping\Table as Table;
  11. use Symfony\Component\Validator\Constraints as Assert;
  12. /**
  13.  * Album
  14.  *
  15.  * @Table(name="vendors")
  16.  * @Entity
  17.  * @HasLifecycleCallbacks
  18.  */
  19. class Vendor extends AbstractSortableEntity
  20. {
  21.     public const VENDOR_ID_HP = 28;
  22.     public const VENDOR_ID_DELL = 18;
  23.     public const VENDOR_ID_LENOVO = 32;
  24.     public const VENDOR_ID_APPLE = 70;
  25.     public const VENDOR_OD_ESET = 21;
  26.     public const VENDOR_MICROSOFT = 39;
  27.     public const MAIN_NOTEBOOK_VENDOR_LIST = [
  28.         self::VENDOR_ID_DELL,
  29.         self::VENDOR_ID_HP,
  30.         self::VENDOR_ID_LENOVO,
  31.         self::VENDOR_ID_APPLE,
  32.     ];
  33.     /**
  34.      * @var string
  35.      *
  36.      * @Assert\NotNull
  37.      *
  38.      * @Column(name="name", type="text")
  39.      */
  40.     private $name;
  41.     /**
  42.      * @var ArrayCollection
  43.      *
  44.      * @OneToMany(targetEntity="VendorMeta", mappedBy="vendor", cascade={"persist", "remove"})
  45.      **/
  46.     private $metas;
  47.     /**
  48.      * @var ArrayCollection
  49.      *
  50.      * @ManyToMany(targetEntity="CategoryPage", mappedBy="vendors")
  51.      * @OrderBy({"id" = "DESC"})
  52.      */
  53.     private $categoryPages;
  54.     /**
  55.      * @var int
  56.      *
  57.      * @Column(name="priority", type="integer", length=5, nullable=true)
  58.      */
  59.     private $priority;
  60.     /**
  61.      * @var string|null
  62.      *
  63.      * @Column(name="base_manufacturer_id", type="string", length=16, nullable=true)
  64.      */
  65.     private $baseManufacturerId;
  66.     public function __construct()
  67.     {
  68.         parent::__construct();
  69.         $this->customers = new ArrayCollection();
  70.         $this->metas = new ArrayCollection();
  71.     }
  72.     /**
  73.      * @return string
  74.      */
  75.     public function getName()
  76.     {
  77.         return $this->name;
  78.     }
  79.     /**
  80.      * @param string $name
  81.      */
  82.     public function setName($name)
  83.     {
  84.         $this->name = $name;
  85.     }
  86.     /**
  87.      * @return ArrayCollection
  88.      */
  89.     public function getMetas()
  90.     {
  91.         return $this->metas;
  92.     }
  93.     /**
  94.      * @param Domain $domain
  95.      * @return VendorMeta|null
  96.      */
  97.     public function getDomainMeta(Domain $domain)
  98.     {
  99.         if ($this->getMetas()->count() > 0) {
  100.             foreach ($this->getMetas() as $meta) {
  101.                 if ($meta->getDomain()->getId() == $domain->getId()) {
  102.                     return $meta;
  103.                 }
  104.             }
  105.         }
  106.         return null;
  107.     }
  108.     /**
  109.      * @return ArrayCollection
  110.      */
  111.     public function getCategoryPages()
  112.     {
  113.         return $this->categoryPages;
  114.     }
  115.     /**
  116.      * @param ArrayCollection $categoryPages
  117.      */
  118.     public function setCategoryPages($categoryPages)
  119.     {
  120.         $this->categoryPages = $categoryPages;
  121.     }
  122.     /**
  123.      * @return int|null
  124.      */
  125.     public function getPriority(): ?int
  126.     {
  127.         return $this->priority;
  128.     }
  129.     /**
  130.      * @param int|null $priority
  131.      */
  132.     public function setPriority(?int $priority)
  133.     {
  134.         $this->priority = $priority;
  135.     }
  136.     /**
  137.      * @return string|null
  138.      */
  139.     public function getBaseManufacturerId(): ?string  
  140.     {
  141.         return $this->baseManufacturerId;
  142.     }
  143.     /**
  144.      * @param string $baseManufacturerId
  145.      */
  146.     public function setBaseManufacturerId($baseManufacturerId)
  147.     {
  148.         $this->baseManufacturerId = $baseManufacturerId;
  149.     }
  150. }