src/Entity/Produit/Option.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Produit;
  3. use App\Entity\Order\OrderLineOption;
  4. use App\Repository\OptionRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use App\Entity\Produit\Produit;
  9. use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
  10. use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
  11. #[ORM\Entity(repositoryClassOptionRepository::class)]
  12. #[ORM\Table(name'`option`')]
  13. class Option implements TranslatableInterface
  14. {
  15.     use TranslatableTrait;
  16.     #[Assert\Valid]
  17.     protected $translations;
  18.     #[ORM\Id]
  19.     #[ORM\GeneratedValue]
  20.     #[ORM\Column(type'integer')]
  21.     private $id;
  22.     #[ORM\Column(type'decimal'precision10scale2nullable:true)]
  23.     private $priceHt;
  24.     #[ORM\Column(type'decimal'precision10scale2nullable:true)]
  25.     private $priceTtc;
  26.     #[ORM\Column(type'decimal'precision10scale2nullable:true)]
  27.     private $taxRate;
  28.     #[ORM\ManyToMany(targetEntityProduit::class, mappedBy'produitOption')]
  29.     private $produits;
  30.     #[ORM\OneToMany(mappedBy'opt'targetEntityOrderLineOption::class)]
  31.     private Collection $orderLineOptions;
  32.     public function __construct()
  33.     {
  34.         $this->produits = new ArrayCollection();
  35.         $this->orderLineOptions = new ArrayCollection();
  36.     }
  37.     public function getId(): ?int
  38.     {
  39.         return $this->id;
  40.     }
  41.      public function getPrice(): ?string
  42.     {
  43.         return $this->priceTtc;
  44.     }
  45.      public function getPriceHt()
  46.     {
  47.         return $this->priceHt;
  48.     }
  49.     public function setPriceHt($priceHt): self
  50.     {
  51.         $this->priceHt $priceHt;
  52.         return $this;
  53.     }
  54.     public function getPriceTtc()
  55.     {
  56.         return $this->priceTtc;
  57.     }
  58.     public function setPriceTtc($priceTtc): self
  59.     {
  60.         $this->priceTtc $priceTtc;
  61.         return $this;
  62.     }
  63.     public function getTaxRate()
  64.     {
  65.         return $this->taxRate;
  66.     }
  67.     public function setTaxRate($taxRate): self
  68.     {
  69.         $this->taxRate $taxRate;
  70.         return $this;
  71.     }
  72.     /**
  73.      * @return Collection<int, Produit>
  74.      */
  75.     public function getProduits(): Collection
  76.     {
  77.         return $this->produits;
  78.     }
  79.     public function addProduit(Produit $produit): self
  80.     {
  81.         if (!$this->produits->contains($produit)) {
  82.             $this->produits[] = $produit;
  83.             $produit->addProduitOption($this);
  84.         }
  85.         return $this;
  86.     }
  87.     public function removeProduit(Produit $produit): self
  88.     {
  89.         if ($this->produits->removeElement($produit)) {
  90.             $produit->removeProduitOption($this);
  91.         }
  92.         return $this;
  93.     }
  94.     public function getName(): ?string
  95.     {
  96.         if($this->translate()->getName()) {
  97.             return $this->translate()->getName();
  98.         }
  99.         return '';
  100.     }
  101.     /**
  102.      * @return Collection<int, OrderLineOption>
  103.      */
  104.     public function getOrderLineOptions(): Collection
  105.     {
  106.         return $this->orderLineOptions;
  107.     }
  108.     public function addOrderLineOption(OrderLineOption $orderLineOption): static
  109.     {
  110.         if (!$this->orderLineOptions->contains($orderLineOption)) {
  111.             $this->orderLineOptions->add($orderLineOption);
  112.             $orderLineOption->setOpt($this);
  113.         }
  114.         return $this;
  115.     }
  116.     public function removeOrderLineOption(OrderLineOption $orderLineOption): static
  117.     {
  118.         if ($this->orderLineOptions->removeElement($orderLineOption)) {
  119.             // set the owning side to null (unless already changed)
  120.             if ($orderLineOption->getOpt() === $this) {
  121.                 $orderLineOption->setOpt(null);
  122.             }
  123.         }
  124.         return $this;
  125.     }
  126.     public function __toString()
  127.     {
  128.         return $this->translate()->getName();
  129.     }
  130. }