src/Flexy/ShopBundle/Entity/Vendor/Vendor.php line 27

  1. <?php
  2. namespace App\Flexy\ShopBundle\Entity\Vendor;
  3. use ApiPlatform\Core\Annotation\ApiResource;
  4. use App\Entity\User;
  5. use App\Flexy\ShopBundle\Entity\Customer\Customer;
  6. use App\Flexy\ShopBundle\Entity\Customer\CustomerGroup;
  7. use App\Flexy\ShopBundle\Entity\Order\Order;
  8. use App\Flexy\ShopBundle\Entity\Product\ImportExcel;
  9. use App\Flexy\ShopBundle\Entity\Product\Product;
  10. use App\Flexy\ShopBundle\Entity\Product\ProductShop;
  11. use App\Flexy\ShopBundle\Entity\Shipping\CityRegion;
  12. use App\Flexy\ShopBundle\Repository\VendorRepository;
  13. use Doctrine\Common\Collections\ArrayCollection;
  14. use Doctrine\Common\Collections\Collection;
  15. use Doctrine\ORM\Mapping as ORM;
  16. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  17. use Symfony\Component\HttpFoundation\File\File;
  18. use Symfony\Component\Validator\Constraints as Assert;
  19. /**
  20.  * @Vich\Uploadable
  21.  */
  22. #[ApiResource]
  23. #[ORM\Entity(repositoryClassVendorRepository::class)]
  24. class Vendor implements \Stringable
  25. {
  26.     #[ORM\Id]
  27.     #[ORM\GeneratedValue]
  28.     #[ORM\Column(type'integer')]
  29.     private $id;
  30.     #[ORM\Column(type'string'length255)]
  31.     private ?string $name null;
  32.     #[ORM\Column(type'string'length255nullabletrue)]
  33.     private ?string $image null;
  34.     #[ORM\Column(type'datetime_immutable'nullabletrue)]
  35.     private ?\DateTimeImmutable $createdAt null;
  36.     #[ORM\Column(type'string'length255nullabletrue)]
  37.     #[Assert\Email]
  38.     private ?string $email null;
  39.     #[ORM\OneToOne(targetEntityUser::class, cascade: ['persist''remove'])]
  40.     #[ORM\JoinColumn(nullabletrue)]
  41.     private \App\Entity\User $user;
  42.     #[ORM\Column(type'text'nullabletrue)]
  43.     private ?string $description null;
  44.     #[ORM\Column(type'boolean'nullabletrue)]
  45.     private ?bool $isValid null;
  46.     #[ORM\OneToMany(targetEntityProduct::class, mappedBy'vendor')]
  47.     private \Doctrine\Common\Collections\Collection|array $products;
  48.     #[ORM\Column(type'string'length255)]
  49.     private ?string $fullName null;
  50.     #[ORM\Column(type'string'length255)]
  51.     private ?string $tel null;
  52.     #[ORM\Column(type'string'length255)]
  53.     private ?string $address null;
  54.     #[ORM\Column(type'string'length255)]
  55.     private ?string $city null;
  56.     #[ORM\Column(type'string'length255nullabletrue)]
  57.     private ?string $ICE null;
  58.     #[ORM\Column(type'string'length255nullabletrue)]
  59.     private ?string $RC null;
  60.     #[ORM\Column(type'string'length255nullabletrue)]
  61.     private ?string $simulateUsername null;
  62.     #[ORM\Column(type'string'length255nullabletrue)]
  63.     private ?string $simulatePassword null;
  64.     #[ORM\Column(type'string'length255nullabletrue)]
  65.     private ?string $coverImage null;
  66.     /**
  67.      * @Vich\UploadableField(mapping="join_images", fileNameProperty="pathRCImage")
  68.      */
  69.     private ?\Symfony\Component\HttpFoundation\File\File $imageRCFile null;
  70.         /**
  71.      * @Vich\UploadableField(mapping="join_images", fileNameProperty="pathIceImage")
  72.      */
  73.     private ?\Symfony\Component\HttpFoundation\File\File $imageIceFile null;
  74.         /**
  75.      * @Vich\UploadableField(mapping="join_images", fileNameProperty="pathIFIMAGE")
  76.      */
  77.     private ?\Symfony\Component\HttpFoundation\File\File $imageIFFile null;
  78.     #[ORM\Column(type'string'length255nullabletrue)]
  79.     private ?string $pathRCImage null;
  80.     #[ORM\Column(type'string'length255nullabletrue)]
  81.     private ?string $pathIceImage null;
  82.     #[ORM\Column(type'string'length255nullabletrue)]
  83.     private ?string $pathIFImage null;
  84.     #[ORM\Column(type'string'length255nullabletrue)]
  85.     private ?string $IdentifiantFiscale null;
  86.     #[ORM\OneToMany(targetEntityImportExcel::class, mappedBy'vendor')]
  87.     private \Doctrine\Common\Collections\Collection|array $importExcels;
  88.     #[ORM\OneToMany(targetEntityCustomer::class, mappedBy'vendor')]
  89.     private \Doctrine\Common\Collections\Collection|array $customers;
  90.     #[ORM\OneToMany(targetEntityOrder::class, mappedBy'vendor')]
  91.     private \Doctrine\Common\Collections\Collection|array $orders;
  92.     #[ORM\ManyToMany(targetEntityCustomerGroup::class, inversedBy'vendors')]
  93.     private Collection $customerGroups;
  94.     #[ORM\ManyToMany(targetEntityCityRegion::class, inversedBy'vendors')]
  95.     private Collection $cityRegions;
  96.     #[ORM\Column(length255nullabletrue)]
  97.     private ?string $blindPassword null;
  98.     public function __toString(): string
  99.     {
  100.        return (string)$this->name;
  101.     }
  102.     public function __construct()
  103.     {
  104.         //$this->user = new User();
  105.         $this->customerGroups = new ArrayCollection();
  106.         $this->cityRegions = new ArrayCollection();
  107.     }
  108.     public function getId(): ?int
  109.     {
  110.         return $this->id;
  111.     }
  112.     public function getName(): ?string
  113.     {
  114.         return $this->name;
  115.     }
  116.     public function setName(string $name): self
  117.     {
  118.         $this->name $name;
  119.         return $this;
  120.     }
  121.     public function getImage(): ?string
  122.     {
  123.         return $this->image;
  124.     }
  125.     public function setImage(?string $image): self
  126.     {
  127.         $this->image $image;
  128.         return $this;
  129.     }
  130.     public function getCreatedAt(): ?\DateTimeImmutable
  131.     {
  132.         return $this->createdAt;
  133.     }
  134.     public function setCreatedAt(?\DateTimeImmutable $createdAt): self
  135.     {
  136.         $this->createdAt $createdAt;
  137.         return $this;
  138.     }
  139.     public function getEmail(): ?string
  140.     {
  141.         return $this->email;
  142.     }
  143.     public function setEmail(?string $email): self
  144.     {
  145.         $this->email $email;
  146.         return $this;
  147.     }
  148.     public function getUser(): ?User
  149.     {
  150.         return $this->user;
  151.     }
  152.     public function setUser(User $user): self
  153.     {
  154.         $this->user $user;
  155.         return $this;
  156.     }
  157.    
  158.     public function getDescription(): ?string
  159.     {
  160.         return $this->description;
  161.     }
  162.     public function setDescription(?string $description): self
  163.     {
  164.         $this->description $description;
  165.         return $this;
  166.     }
  167.     public function getIsValid(): ?bool
  168.     {
  169.         return $this->isValid;
  170.     }
  171.     public function setIsValid(?bool $isValid): self
  172.     {
  173.         $this->isValid $isValid;
  174.         return $this;
  175.     }
  176.     /**
  177.      * @return Collection|Product[]
  178.      */
  179.     public function getProducts(): Collection
  180.     {
  181.         return $this->products;
  182.     }
  183.     public function addProduct(Product $product): self
  184.     {
  185.         if (!$this->products->contains($product)) {
  186.             $this->products[] = $product;
  187.             $product->setVendor($this);
  188.         }
  189.         return $this;
  190.     }
  191.     public function removeProduct(Product $product): self
  192.     {
  193.         if ($this->products->removeElement($product)) {
  194.             // set the owning side to null (unless already changed)
  195.             if ($product->getVendor() === $this) {
  196.                 $product->setVendor(null);
  197.             }
  198.         }
  199.         return $this;
  200.     }
  201.     public function getFullName(): ?string
  202.     {
  203.         return $this->fullName;
  204.     }
  205.     public function setFullName(string $fullName): self
  206.     {
  207.         $this->fullName $fullName;
  208.         return $this;
  209.     }
  210.     public function getTel(): ?string
  211.     {
  212.         return $this->tel;
  213.     }
  214.     public function setTel(string $tel): self
  215.     {
  216.         $this->tel $tel;
  217.         return $this;
  218.     }
  219.     public function getAddress(): ?string
  220.     {
  221.         return $this->address;
  222.     }
  223.     public function setAddress(string $address): self
  224.     {
  225.         $this->address $address;
  226.         return $this;
  227.     }
  228.     public function getCity(): ?string
  229.     {
  230.         return $this->city;
  231.     }
  232.     public function setCity(string $city): self
  233.     {
  234.         $this->city $city;
  235.         return $this;
  236.     }
  237.     public function getICE(): ?string
  238.     {
  239.         return $this->ICE;
  240.     }
  241.     public function setICE(string $ICE): self
  242.     {
  243.         $this->ICE $ICE;
  244.         return $this;
  245.     }
  246.     public function getRC(): ?string
  247.     {
  248.         return $this->RC;
  249.     }
  250.     public function setRC(string $RC): self
  251.     {
  252.         $this->RC $RC;
  253.         return $this;
  254.     }
  255.     public function getSimulateUsername(): ?string
  256.     {
  257.         return $this->simulateUsername;
  258.     }
  259.     public function setSimulateUsername(string $simulateUsername): self
  260.     {
  261.         $this->simulateUsername $simulateUsername;
  262.         return $this;
  263.     }
  264.     public function getSimulatePassword(): ?string
  265.     {
  266.         return $this->simulatePassword;
  267.     }
  268.     public function setSimulatePassword(string $simulatePassword): self
  269.     {
  270.         $this->simulatePassword $simulatePassword;
  271.         return $this;
  272.     }
  273.     public function getCoverImage(): ?string
  274.     {
  275.         return $this->coverImage;
  276.     }
  277.     public function setCoverImage(?string $coverImage): self
  278.     {
  279.         $this->coverImage $coverImage;
  280.         return $this;
  281.     }
  282.     public function setImageRCFile(File $path null)
  283.     {
  284.         $this->imageRCFile $path;
  285.         // VERY IMPORTANT:
  286.         // It is required that at least one field changes if you are using Doctrine,
  287.         // otherwise the event listeners won't be called and the file is lost
  288.     }
  289.     public function getImageRCFile()
  290.     {
  291.         return $this->imageRCFile;
  292.     }
  293.     public function setImageIceFile(File $path null)
  294.     {
  295.         $this->imageIceFile $path;
  296.         // VERY IMPORTANT:
  297.         // It is required that at least one field changes if you are using Doctrine,
  298.         // otherwise the event listeners won't be called and the file is lost
  299.     }
  300.     public function getImageIceFile()
  301.     {
  302.         return $this->imageIceFile;
  303.     }
  304.     public function setImageIFFile(File $path null)
  305.     {
  306.         $this->imageIFFile $path;
  307.         // VERY IMPORTANT:
  308.         // It is required that at least one field changes if you are using Doctrine,
  309.         // otherwise the event listeners won't be called and the file is lost
  310.  
  311.     }
  312.     public function getImageIFFile()
  313.     {
  314.         return $this->imageIFFile;
  315.     }
  316.     public function getPathRCImage(): ?string
  317.     {
  318.         return $this->pathRCImage;
  319.     }
  320.     public function setPathRCImage(?string $pathRCImage): self
  321.     {
  322.         $this->pathRCImage $pathRCImage;
  323.         return $this;
  324.     }
  325.     public function getPathIceImage(): ?string
  326.     {
  327.         return $this->pathIceImage;
  328.     }
  329.     public function setPathIceImage(?string $pathIceImage): self
  330.     {
  331.         $this->pathIceImage $pathIceImage;
  332.         return $this;
  333.     }
  334.     public function getPathIFImage(): ?string
  335.     {
  336.         return $this->pathIFImage;
  337.     }
  338.     public function setPathIFImage(?string $pathIFImage): self
  339.     {
  340.         $this->pathIFImage $pathIFImage;
  341.         return $this;
  342.     }
  343.     public function getIdentifiantFiscale(): ?string
  344.     {
  345.         return $this->IdentifiantFiscale;
  346.     }
  347.     public function setIdentifiantFiscale(?string $IdentifiantFiscale): self
  348.     {
  349.         $this->IdentifiantFiscale $IdentifiantFiscale;
  350.         return $this;
  351.     }
  352.     /**
  353.      * @return Collection<int, ImportExcel>
  354.      */
  355.     public function getImportExcels(): Collection
  356.     {
  357.         return $this->importExcels;
  358.     }
  359.     public function addImportExcel(ImportExcel $importExcel): self
  360.     {
  361.         if (!$this->importExcels->contains($importExcel)) {
  362.             $this->importExcels[] = $importExcel;
  363.             $importExcel->setVendor($this);
  364.         }
  365.         return $this;
  366.     }
  367.     public function removeImportExcel(ImportExcel $importExcel): self
  368.     {
  369.         if ($this->importExcels->removeElement($importExcel)) {
  370.             // set the owning side to null (unless already changed)
  371.             if ($importExcel->getVendor() === $this) {
  372.                 $importExcel->setVendor(null);
  373.             }
  374.         }
  375.         return $this;
  376.     }
  377.     /**
  378.      * @return Collection<int, Customer>
  379.      */
  380.     public function getCustomers(): Collection
  381.     {
  382.         return $this->customers;
  383.     }
  384.     public function addCustomer(Customer $customer): self
  385.     {
  386.         if (!$this->customers->contains($customer)) {
  387.             $this->customers[] = $customer;
  388.             $customer->setVendor($this);
  389.         }
  390.         return $this;
  391.     }
  392.     public function removeCustomer(Customer $customer): self
  393.     {
  394.         if ($this->customers->removeElement($customer)) {
  395.             // set the owning side to null (unless already changed)
  396.             if ($customer->getVendor() === $this) {
  397.                 $customer->setVendor(null);
  398.             }
  399.         }
  400.         return $this;
  401.     }
  402.     /**
  403.      * @return Collection<int, Order>
  404.      */
  405.     public function getOrders(): Collection
  406.     {
  407.         return $this->orders;
  408.     }
  409.     public function addOrder(Order $order): self
  410.     {
  411.         if (!$this->orders->contains($order)) {
  412.             $this->orders[] = $order;
  413.             $order->setVendor($this);
  414.         }
  415.         return $this;
  416.     }
  417.     public function removeOrder(Order $order): self
  418.     {
  419.         if ($this->orders->removeElement($order)) {
  420.             // set the owning side to null (unless already changed)
  421.             if ($order->getVendor() === $this) {
  422.                 $order->setVendor(null);
  423.             }
  424.         }
  425.         return $this;
  426.     }
  427.     /**
  428.      * @return Collection<int, CustomerGroup>
  429.      */
  430.     public function getCustomerGroups(): Collection
  431.     {
  432.         return $this->customerGroups;
  433.     }
  434.     public function addCustomerGroup(CustomerGroup $customerGroup): self
  435.     {
  436.         if (!$this->customerGroups->contains($customerGroup)) {
  437.             $this->customerGroups->add($customerGroup);
  438.         }
  439.         return $this;
  440.     }
  441.     public function removeCustomerGroup(CustomerGroup $customerGroup): self
  442.     {
  443.         $this->customerGroups->removeElement($customerGroup);
  444.         return $this;
  445.     }
  446.     /**
  447.      * @return Collection<int, CityRegion>
  448.      */
  449.     public function getCityRegions(): Collection
  450.     {
  451.         return $this->cityRegions;
  452.     }
  453.     public function addCityRegion(CityRegion $cityRegion): self
  454.     {
  455.         if (!$this->cityRegions->contains($cityRegion)) {
  456.             $this->cityRegions->add($cityRegion);
  457.         }
  458.         return $this;
  459.     }
  460.     public function removeCityRegion(CityRegion $cityRegion): self
  461.     {
  462.         $this->cityRegions->removeElement($cityRegion);
  463.         return $this;
  464.     }
  465.     public function getBlindPassword(): ?string
  466.     {
  467.         return $this->blindPassword;
  468.     }
  469.     public function setBlindPassword(?string $blindPassword): self
  470.     {
  471.         $this->blindPassword $blindPassword;
  472.         return $this;
  473.     }
  474. }