src/Entity/Produit/Couleur.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Produit;
  3. use App\Entity\Order\OrderLineColor;
  4. use App\Repository\CouleurRepository;
  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(repositoryClassCouleurRepository::class)]
  12. class Couleur implements TranslatableInterface
  13. {
  14.     use TranslatableTrait;
  15.     #[Assert\Valid]
  16.     protected $translations;
  17.     #[ORM\Id]
  18.     #[ORM\GeneratedValue]
  19.     #[ORM\Column(type'integer')]
  20.     private $id;
  21.     #[ORM\Column(type'string'length255)]
  22.     private $type;
  23.     #[ORM\Column(type'decimal'precision10scale2nullable:true)]
  24.     private $priceHt;
  25.     #[ORM\Column(type'decimal'precision10scale2nullable:true)]
  26.     private $priceTtc;
  27.     #[ORM\Column(type'decimal'precision10scale2nullable:true)]
  28.     private $taxRate;
  29.     #[ORM\ManyToMany(targetEntityProduit::class, mappedBy'colors')]
  30.     private $produits;
  31.     #[ORM\ManyToMany(targetEntityProduit::class, mappedBy'colors')]
  32.     private $produitsColors;
  33.     #[ORM\OneToMany(mappedBy'color'targetEntityOrderLineColor::class)]
  34.     private Collection $orderLineColors;
  35.     #[ORM\OneToMany(mappedBy'color'targetEntityImageProduit::class)]
  36.     private Collection $imageProduits;
  37.     public function __construct()
  38.     {
  39.         $this->produits = new ArrayCollection();
  40.         $this->produitsColors = new ArrayCollection();
  41.         $this->orderLineColors = new ArrayCollection();
  42.         $this->imageProduits = new ArrayCollection();
  43.     }
  44.     public function getId(): ?int
  45.     {
  46.         return $this->id;
  47.     }
  48.     public function getName(): ?string
  49.     {
  50.         if($this->translate()->getName()) {
  51.             return $this->translate()->getName();
  52.         }
  53.         return '';
  54.     }
  55.     public function getType(): ?string
  56.     {
  57.         return $this->type;
  58.     }
  59.     public function setType(string $type): self
  60.     {
  61.         $this->type $type;
  62.         return $this;
  63.     }
  64.     public function getPriceHt()
  65.     {
  66.         return $this->priceHt;
  67.     }
  68.     public function setPriceHt($priceHt): self
  69.     {
  70.         $this->priceHt $priceHt;
  71.         return $this;
  72.     }
  73.     public function getPriceTtc()
  74.     {
  75.         return $this->priceTtc;
  76.     }
  77.     public function setPriceTtc($priceTtc): self
  78.     {
  79.         $this->priceTtc $priceTtc;
  80.         return $this;
  81.     }
  82.     public function getTaxRate()
  83.     {
  84.         return $this->taxRate;
  85.     }
  86.     public function setTaxRate($taxRate): self
  87.     {
  88.         $this->taxRate $taxRate;
  89.         return $this;
  90.     }
  91.     /**
  92.      * @return Collection<int, Produit>
  93.      */
  94.     public function getProduits(): Collection
  95.     {
  96.         return $this->produits;
  97.     }
  98.     public function addProduit(Produit $produit): self
  99.     {
  100.         if (!$this->produits->contains($produit)) {
  101.             $this->produits[] = $produit;
  102.             $produit->addColor($this);
  103.         }
  104.         return $this;
  105.     }
  106.     public function removeProduit(Produit $produit): self
  107.     {
  108.         if ($this->produits->removeElement($produit)) {
  109.             $produit->removeColor($this);
  110.         }
  111.         return $this;
  112.     }
  113.     /**
  114.      * @return Collection<int, Produit>
  115.      */
  116.     public function getProduitsColors(): Collection
  117.     {
  118.         return $this->produitsColors;
  119.     }
  120.     public function addProduitsColor(Produit $produitsColor): self
  121.     {
  122.         if (!$this->produitsColors->contains($produitsColor)) {
  123.             $this->produitsColors[] = $produitsColor;
  124.             $produitsColor->addColor($this);
  125.         }
  126.         return $this;
  127.     }
  128.     public function removeProduitsColor(Produit $produitsColor): self
  129.     {
  130.         if ($this->produitsColors->removeElement($produitsColor)) {
  131.             $produitsColor->removeColor($this);
  132.         }
  133.         return $this;
  134.     }
  135.     /**
  136.      * @return Collection<int, OrderLineColor>
  137.      */
  138.     public function getOrderLineColors(): Collection
  139.     {
  140.         return $this->orderLineColors;
  141.     }
  142.     public function addOrderLineColor(OrderLineColor $orderLineColor): static
  143.     {
  144.         if (!$this->orderLineColors->contains($orderLineColor)) {
  145.             $this->orderLineColors->add($orderLineColor);
  146.             $orderLineColor->setColor($this);
  147.         }
  148.         return $this;
  149.     }
  150.     public function removeOrderLineColor(OrderLineColor $orderLineColor): static
  151.     {
  152.         if ($this->orderLineColors->removeElement($orderLineColor)) {
  153.             // set the owning side to null (unless already changed)
  154.             if ($orderLineColor->getColor() === $this) {
  155.                 $orderLineColor->setColor(null);
  156.             }
  157.         }
  158.         return $this;
  159.     }
  160.     public function __toString(){
  161.         return $this->translate()->getName(). " (".$this->getPriceTtc()." €)";
  162.     }
  163.     /**
  164.      * @return Collection<int, ImageProduit>
  165.      */
  166.     public function getImageProduits(): Collection
  167.     {
  168.         return $this->imageProduits;
  169.     }
  170.     public function addImageProduit(ImageProduit $imageProduit): static
  171.     {
  172.         if (!$this->imageProduits->contains($imageProduit)) {
  173.             $this->imageProduits->add($imageProduit);
  174.             $imageProduit->setColor($this);
  175.         }
  176.         return $this;
  177.     }
  178.     public function removeImageProduit(ImageProduit $imageProduit): static
  179.     {
  180.         if ($this->imageProduits->removeElement($imageProduit)) {
  181.             // set the owning side to null (unless already changed)
  182.             if ($imageProduit->getColor() === $this) {
  183.                 $imageProduit->setColor(null);
  184.             }
  185.         }
  186.         return $this;
  187.     }
  188. }