src/Entity/Gestiform/Admin/Site.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gestiform\Admin;
  3. use App\Entity\AbstractEntity;
  4. use App\Entity\Common\Adresse;
  5. use App\Entity\Gestiform\Formations\Dossier\Dossier;
  6. use App\Repository\Gestiform\Admin\SiteRepository;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Symfony\Component\Mime\Address;
  11. use Symfony\Component\Serializer\Annotation as Serializer;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  14. /**
  15.  * @ORM\Entity(repositoryClass=SiteRepository::class) 
  16.  * @UniqueEntity(fields={"siret"}, message="Le SIRET doit ĂȘtre unique.")
  17.  */
  18. class Site extends AbstractEntity
  19. {
  20.     /**
  21.      * @ORM\Column(type="string", length=255, nullable=false)
  22.      */
  23.     private string $intitule;
  24.     /**
  25.      * @ORM\Column(type="string", length=14, unique=true, nullable=true)
  26.      * @Assert\Regex(
  27.      * pattern="/^[0-9]{14}$/",
  28.      * message="Le SIRET doit contenir exactement 14 chiffres."
  29.      * )
  30.      */
  31.     private ?string $siret null;
  32.     /**
  33.      * @ORM\Column(type="string", length=255, nullable=true)
  34.      */
  35.     private ?string $numeroUAI null;
  36.     /**
  37.      * @ORM\Column(type="boolean", nullable=true)
  38.      */
  39.     private ?bool $virtuel null;
  40.     /**
  41.      * @ORM\ManyToOne(targetEntity=Societe::class, inversedBy="sites")
  42.      * @ORM\JoinColumn(nullable=true)
  43.      */
  44.     private ?Societe $societe null;
  45.     /**
  46.      * @ORM\ManyToOne(targetEntity=Adresse::class,  cascade={"persist"})
  47.      * @ORM\JoinColumn(nullable=true)
  48.      */
  49.     private ?Adresse $adresse null;
  50.     /**
  51.      * @ORM\OneToMany(targetEntity=Salle::class, mappedBy="site")
  52.      */
  53.     private Collection $salles;
  54.     /**
  55.      * @ORM\OneToMany(targetEntity=Dossier::class, mappedBy="site")
  56.      * @Serializer\Ignore()
  57.      */
  58.     private Collection $dossiers;
  59.     public function __construct()
  60.     {
  61.         $this->salles = new ArrayCollection();
  62.         $this->dossiers = new ArrayCollection();
  63.     }
  64.     public function getIntitule(): ?string
  65.     {
  66.         return $this->intitule;
  67.     }
  68.     public function setIntitule(string $intitule): self
  69.     {
  70.         $this->intitule $intitule;
  71.         return $this;
  72.     }
  73.     public function getSiret(): ?string
  74.     {
  75.         return $this->siret;
  76.     }
  77.     public function setSiret(?string $siret): self
  78.     {
  79.         $this->siret $siret;
  80.         return $this;
  81.     }
  82.     public function getSociete(): ?Societe
  83.     {
  84.         return $this->societe;
  85.     }
  86.     public function setSociete(?Societe $societe): self
  87.     {
  88.         $this->societe $societe;
  89.         return $this;
  90.     }
  91.     public function getAdresse(): ?Adresse
  92.     {
  93.         return $this->adresse;
  94.     }
  95.     public function setAdresse(?Adresse $adresse): self
  96.     {
  97.         $this->adresse $adresse;
  98.         return $this;
  99.     }
  100.     /**
  101.      * @return Collection<int, Salle>
  102.      */
  103.     public function getSalles(): Collection
  104.     {
  105.         return $this->salles;
  106.     }
  107.     public function setSalles(Collection $salles): self
  108.     {
  109.         $this->salles $salles;
  110.         return $this;
  111.     }
  112.     public function addSalle(Salle $salle): self
  113.     {
  114.         if (!$this->salles->contains($salle)) {
  115.             $this->salles->add($salle);
  116.             $salle->setSite($this);
  117.         }
  118.         return $this;
  119.     }
  120.     public function removeSalle(Salle $salle): self
  121.     {
  122.         if ($this->salles->removeElement($salle)) {
  123.             // set the owning side to null (unless already changed)
  124.             if ($salle->getSite() === $this) {
  125.                 $salle->setSite(null);
  126.             }
  127.         }
  128.         return $this;
  129.     }
  130.     public function isVirtuel(): ?bool
  131.     {
  132.         return $this->virtuel;
  133.     }
  134.     public function setVirtuel(?bool $virtuel): self
  135.     {
  136.         $this->virtuel $virtuel;
  137.         return $this;
  138.     }
  139.     public function getNumeroUAI(): ?string
  140.     {
  141.         return $this->numeroUAI;
  142.     }
  143.     public function setNumeroUAI(?string $numeroUAI): self
  144.     {
  145.         $this->numeroUAI $numeroUAI;
  146.         return $this;
  147.     }
  148. }