src/Entity/Contact.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Attributes\ClassNameConverter;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use Gedmo\Mapping\Annotation as Gedmo;
  9. #[ORM\Entity(repositoryClass'App\Repository\ContactRepository')]
  10. #[Gedmo\Loggable]
  11. #[ClassNameConverter(name'Contact')]
  12. class Contact extends EntityStatus
  13. {
  14.     public const TYPE_TRADER 1;
  15.     public const TYPE_ADMINISTRATION 2;
  16.     public const TYPE_PARTNER 3;
  17.     public const TYPE_FELLER 4;
  18.     #[ORM\Id]
  19.     #[ORM\GeneratedValue]
  20.     #[ORM\Column(type'integer')]
  21.     private ?int $id null;
  22.     #[ORM\Column(type'string'length255nullabletrue)]
  23.     private ?string $typeContact null;
  24.     #[Gedmo\Versioned]
  25.     #[ORM\Column(type'string'length255nullabletrue)]
  26.     private ?string $nom null;
  27.     #[Gedmo\Versioned]
  28.     #[ORM\Column(type'string'length255nullabletrue)]
  29.     private ?string $prenom null;
  30.     #[Gedmo\Versioned]
  31.     #[ORM\Column(type'string'length255nullabletrue)]
  32.     private ?string $telPortable null;
  33.     #[ORM\Column(type'string'length255nullabletrue)]
  34.     private ?string $telPortable2 null;
  35.     #[Gedmo\Versioned]
  36.     #[ORM\Column(type'string'length255nullabletrue)]
  37.     private ?string $telBureau null;
  38.     #[Gedmo\Versioned]
  39.     #[ORM\Column(type'string'length255nullabletrue)]
  40.     private ?string $emailContact null;
  41.     #[Gedmo\Versioned]
  42.     #[ORM\Column(type'string'nullabletrue)]
  43.     private ?string $dateNaissance null;
  44.     #[ORM\Column(type'text'nullabletrue)]
  45.     private ?string $commentaire null;
  46.     #[ORM\OneToMany(mappedBy'contact'targetEntity'App\Entity\CommissionContact'cascade: ['persist''remove'])]
  47.     #[ORM\JoinColumn(nullabletrue)]
  48.     private Collection $commissionsContacts;
  49.     #[ORM\OneToOne(mappedBy'contactResponsable'targetEntity'App\Entity\Entreprise'cascade: ['persist''remove'])]
  50.     private ?Entreprise $entreprise;
  51.     #[Gedmo\Versioned]
  52.     #[ORM\Column(type'string'length255nullabletrue)]
  53.     private ?string $adresse null;
  54.     #[Gedmo\Versioned]
  55.     #[ORM\Column(type'string'length255nullabletrue)]
  56.     private ?string $adresse2 null;
  57.     #[Gedmo\Versioned]
  58.     #[ORM\Column(type'string'length255nullabletrue)]
  59.     private ?string $ville null;
  60.     #[Gedmo\Versioned]
  61.     #[ORM\Column(type'string'length60nullabletrue)]
  62.     private ?string $codePostal null;
  63.     #[ORM\OneToMany(mappedBy'contact'targetEntity'App\Entity\SyndicatContact'cascade: ['persist'])]
  64.     #[Assert\Valid]
  65.     private Collection $syndicatContacts;
  66.     #[Gedmo\Versioned]
  67.     #[ORM\Column(type'boolean'nullablefalse)]
  68.     private ?bool $isResponsible false;
  69.     #[Gedmo\Versioned]
  70.     #[ORM\Column(type'boolean'nullablefalse)]
  71.     private ?bool $isPrivileged false;
  72.     #[ORM\ManyToMany(targetEntity'App\Entity\Repere'cascade: ['persist'])]
  73.     #[ORM\JoinColumn(nullabletrue)]
  74.     private Collection $repere;
  75.     #[Gedmo\Versioned]
  76.     #[ORM\Column(type'string'length255nullabletrue)]
  77.     private ?string $civilite null;
  78.     #[ORM\OneToMany(mappedBy'contact'targetEntity'App\Entity\ContactConseilAdministration'cascade: ['persist'])]
  79.     private Collection $contactConseilAdministrations;
  80.     #[Gedmo\Versioned]
  81.     #[ORM\ManyToOne(inversedBy'contacts')]
  82.     #[ORM\JoinColumn(nullabletrueonDelete"SET NULL")]
  83.     private ?Entreprise $firm null;
  84.     #[Gedmo\Versioned]
  85.     #[ORM\OneToOne(mappedBy'contact'cascade: ['persist''remove'])]
  86.     #[ORM\JoinColumn(nullabletrueonDelete"SET NULL")]
  87.     private ?User $user null;
  88.     #[ORM\ManyToOne(inversedBy'contacts')]
  89.     private ?Etablissement $etablissement null;
  90.     #[ORM\Column(nullabletrue)]
  91.     private ?int $type self::TYPE_TRADER;
  92.     #[ORM\OneToMany(mappedBy'contact'targetEntityFirmContactQualiNegoce::class, orphanRemovaltrue)]
  93.     private Collection $firmContactQualiNegoces;
  94.     public function __construct()
  95.     {
  96.         $this->repere = new ArrayCollection();
  97.         $this->commissionsContacts = new ArrayCollection();
  98.         $this->syndicatContacts = new ArrayCollection();
  99.         $this->contactConseilAdministrations = new ArrayCollection();
  100.         $this->firmContactQualiNegoces = new ArrayCollection();
  101.     }
  102.     public function getId(): ?int
  103.     {
  104.         return $this->id;
  105.     }
  106.     public function getTypeContact(): ?string
  107.     {
  108.         return $this->typeContact;
  109.     }
  110.     public function setTypeContact(?string $typeContact): self
  111.     {
  112.         $this->typeContact $typeContact;
  113.         return $this;
  114.     }
  115.     public function getNom(): ?string
  116.     {
  117.         return $this->nom;
  118.     }
  119.     public function setNom(?string $nom): self
  120.     {
  121.         $this->nom $nom;
  122.         return $this;
  123.     }
  124.     public function getPrenom(): ?string
  125.     {
  126.         return $this->prenom;
  127.     }
  128.     public function setPrenom(?string $prenom): self
  129.     {
  130.         $this->prenom $prenom;
  131.         return $this;
  132.     }
  133.     public function getFullname(): string
  134.     {
  135.         return $this->nom.' '.$this->prenom;
  136.     }
  137.     public function getTelPortable(): ?string
  138.     {
  139.         return $this->telPortable;
  140.     }
  141.     public function setTelPortable(?string $telPortable): self
  142.     {
  143.         $this->telPortable $telPortable;
  144.         return $this;
  145.     }
  146.     public function getTelBureau(): ?string
  147.     {
  148.         return $this->telBureau;
  149.     }
  150.     public function setTelBureau(?string $telBureau): self
  151.     {
  152.         $this->telBureau $telBureau;
  153.         return $this;
  154.     }
  155.     public function getEmailContact(): ?string
  156.     {
  157.         return $this->emailContact;
  158.     }
  159.     public function getDateNaissance(): ?string
  160.     {
  161.         return $this->dateNaissance;
  162.     }
  163.     /**
  164.      * @param mixed $dateNaissance
  165.      * @return Contact
  166.      */
  167.     public function setDateNaissance(?string $dateNaissance): self
  168.     {
  169.         $this->dateNaissance $dateNaissance;
  170.         return $this;
  171.     }
  172.     public function setEmailContact(?string $emailContact): self
  173.     {
  174.         $this->emailContact $emailContact;
  175.         return $this;
  176.     }
  177.     public function getCommentaire(): ?string
  178.     {
  179.         return $this->commentaire;
  180.     }
  181.     public function setCommentaire(?string $commentaire): self
  182.     {
  183.         $this->commentaire $commentaire;
  184.         return $this;
  185.     }
  186.     public function getRepere(): Collection
  187.     {
  188.         return $this->repere;
  189.     }
  190.     public function addRepere(Repere $repere): self
  191.     {
  192.         if (!$this->repere->contains($repere)) {
  193.             $this->repere[] = $repere;
  194.         }
  195.         return $this;
  196.     }
  197.     public function removeRepere(Repere $repere): self
  198.     {
  199.         if ($this->repere->contains($repere)) {
  200.             $this->repere->removeElement($repere);
  201.         }
  202.         return $this;
  203.     }
  204.     /*public function getEntreprises(): Collection
  205.     {
  206.         return $this->entreprises;
  207.     }
  208.     public function addEntreprise(Entreprise $entreprise): self
  209.     {
  210.         if (!$this->entreprises->contains($entreprise)) {
  211.             $this->entreprises[] = $entreprise;
  212.             $entreprise->addContact($this);
  213.         }
  214.         return $this;
  215.     }
  216.     public function removeEntreprise(Entreprise $entreprise): self
  217.     {
  218.         if ($this->entreprises->contains($entreprise)) {
  219.             $this->entreprises->removeElement($entreprise);
  220.             $entreprise->removeContact($this);
  221.         }
  222.         return $this;
  223.     }*/
  224.     public function getAdresse(): ?string
  225.     {
  226.         return $this->adresse;
  227.     }
  228.     public function setAdresse(?string $adresse): self
  229.     {
  230.         $this->adresse $adresse;
  231.         return $this;
  232.     }
  233.     public function getVille(): ?string
  234.     {
  235.         return $this->ville;
  236.     }
  237.     public function setVille(?string $ville): self
  238.     {
  239.         $this->ville $ville;
  240.         return $this;
  241.     }
  242.     public function getCodePostal(): ?string
  243.     {
  244.         return $this->codePostal;
  245.     }
  246.     public function setCodePostal(?string $codePostal): self
  247.     {
  248.         $this->codePostal $codePostal;
  249.         return $this;
  250.     }
  251.     public function getCommissionsContacts(): ArrayCollection|Collection
  252.     {
  253.         return $this->commissionsContacts;
  254.     }
  255.     public function addCommissionsContact(CommissionContact $commissionsContact): self
  256.     {
  257.         if (!$this->commissionsContacts->contains($commissionsContact)) {
  258.             $this->commissionsContacts[] = $commissionsContact;
  259.             $commissionsContact->setContact($this);
  260.         }
  261.         return $this;
  262.     }
  263.     public function removeCommissionsContact(CommissionContact $commissionsContact): self
  264.     {
  265.         if ($this->commissionsContacts->contains($commissionsContact)) {
  266.             $this->commissionsContacts->removeElement($commissionsContact);
  267.             // set the owning side to null (unless already changed)
  268.             if ($commissionsContact->getContact() === $this) {
  269.                 $commissionsContact->setContact(null);
  270.             }
  271.         }
  272.         return $this;
  273.     }
  274.     public function getSyndicatContacts(): Collection
  275.     {
  276.         return $this->syndicatContacts;
  277.     }
  278.     public function setSyndicatContacts(Collection $syndicatContacts): self
  279.     {
  280.         $this->syndicatContacts $syndicatContacts;
  281.         return $this;
  282.     }
  283.     public function addSyndicatContact(SyndicatContact $syndicatContact): self
  284.     {
  285.         if (!$this->syndicatContacts->contains($syndicatContact)) {
  286.             $this->syndicatContacts[] = $syndicatContact;
  287.             $syndicatContact->setContact($this);
  288.         }
  289.         return $this;
  290.     }
  291.     public function removeSyndicatContact(SyndicatContact $syndicatContact): self
  292.     {
  293.         if ($this->syndicatContacts->contains($syndicatContact)) {
  294.             $this->syndicatContacts->removeElement($syndicatContact);
  295.             // set the owning side to null (unless already changed)
  296.             if ($syndicatContact->getContact() === $this) {
  297.                 $syndicatContact->setContact(null);
  298.             }
  299.         }
  300.         return $this;
  301.     }
  302.     public function getIsResponsible(): ?bool
  303.     {
  304.         return $this->isResponsible;
  305.     }
  306.     public function setIsResponsible(?bool $isResponsible): self
  307.     {
  308.         $this->isResponsible $isResponsible;
  309.         return $this;
  310.     }
  311.     public function getIsPrivileged(): ?bool
  312.     {
  313.         return $this->isPrivileged;
  314.     }
  315.     public function setIsPrivileged(?bool $isPrivileged): self
  316.     {
  317.         $this->isPrivileged $isPrivileged;
  318.         return $this;
  319.     }
  320.     /*public function getReperesExistants(): Collection
  321.     {
  322.         return $this->reperesExistants;
  323.     }
  324.     public function addReperesExistant(Repere $reperesExistant): self
  325.     {
  326.         if (!$this->reperesExistants->contains($reperesExistant)) {
  327.             $this->reperesExistants[] = $reperesExistant;
  328.         }
  329.         return $this;
  330.     }
  331.     public function removeReperesExistant(Repere $reperesExistant): self
  332.     {
  333.         if ($this->reperesExistants->contains($reperesExistant)) {
  334.             $this->reperesExistants->removeElement($reperesExistant);
  335.         }
  336.         return $this;
  337.     }*/
  338.     public function getCivilite(): ?string
  339.     {
  340.         return $this->civilite;
  341.     }
  342.     public function setCivilite(?string $civilite): self
  343.     {
  344.         $this->civilite $civilite;
  345.         return $this;
  346.     }
  347.     public function getTelPortable2(): ?string
  348.     {
  349.         return $this->telPortable2;
  350.     }
  351.     public function setTelPortable2(?string $telPortable2): self
  352.     {
  353.         $this->telPortable2 $telPortable2;
  354.         return $this;
  355.     }
  356.     public function getAdresse2(): ?string
  357.     {
  358.         return $this->adresse2;
  359.     }
  360.     public function setAdresse2(?string $adresse2): self
  361.     {
  362.         $this->adresse2 $adresse2;
  363.         return $this;
  364.     }
  365.     public function getContactConseilAdministrations(): Collection
  366.     {
  367.         return $this->contactConseilAdministrations;
  368.     }
  369.     public function addContactConseilAdministration(ContactConseilAdministration $contactConseilAdministration): self
  370.     {
  371.         if (!$this->contactConseilAdministrations->contains($contactConseilAdministration)) {
  372.             $this->contactConseilAdministrations[] = $contactConseilAdministration;
  373.             $contactConseilAdministration->setContact($this);
  374.         }
  375.         return $this;
  376.     }
  377.     public function removeContactConseilAdministration(ContactConseilAdministration $contactConseilAdministration): self
  378.     {
  379.         if ($this->contactConseilAdministrations->contains($contactConseilAdministration)) {
  380.             $this->contactConseilAdministrations->removeElement($contactConseilAdministration);
  381.             // set the owning side to null (unless already changed)
  382.             if ($contactConseilAdministration->getContact() === $this) {
  383.                 $contactConseilAdministration->setContact(null);
  384.             }
  385.         }
  386.         return $this;
  387.     }
  388.     public function getFirm(): ?Entreprise
  389.     {
  390.         return $this->firm;
  391.     }
  392.     public function setFirm(?Entreprise $firm): self
  393.     {
  394.         $this->firm $firm;
  395.         return $this;
  396.     }
  397.     public function getUser(): ?User
  398.     {
  399.         return $this->user;
  400.     }
  401.     public function setUser(?User $user): self
  402.     {
  403.         // unset the owning side of the relation if necessary
  404.         if ($user === null && $this->user !== null) {
  405.             $this->user->setContact(null);
  406.         }
  407.         // set the owning side of the relation if necessary
  408.         if ($user !== null && $user->getContact() !== $this) {
  409.             $user->setContact($this);
  410.         }
  411.         $this->user $user;
  412.         return $this;
  413.     }
  414.     public function getEtablissement(): ?Etablissement
  415.     {
  416.         return $this->etablissement;
  417.     }
  418.     public function setEtablissement(?Etablissement $etablissement): self
  419.     {
  420.         $this->etablissement $etablissement;
  421.         return $this;
  422.     }
  423.     public function getType(): ?int
  424.     {
  425.         return $this->type;
  426.     }
  427.     public function setType(?int $type): self
  428.     {
  429.         $this->type $type;
  430.         return $this;
  431.     }
  432.     /**
  433.      * @return Collection<int, FirmContactQualiNegoce>
  434.      */
  435.     public function getFirmContactQualiNegoces(): Collection
  436.     {
  437.         return $this->firmContactQualiNegoces;
  438.     }
  439.     public function addFirmContactQualiNegoce(FirmContactQualiNegoce $firmContactQualiNegoce): self
  440.     {
  441.         if (!$this->firmContactQualiNegoces->contains($firmContactQualiNegoce)) {
  442.             $this->firmContactQualiNegoces->add($firmContactQualiNegoce);
  443.             $firmContactQualiNegoce->setContact($this);
  444.         }
  445.         return $this;
  446.     }
  447.     public function removeFirmContactQualiNegoce(FirmContactQualiNegoce $firmContactQualiNegoce): self
  448.     {
  449.         if ($this->firmContactQualiNegoces->removeElement($firmContactQualiNegoce)) {
  450.             // set the owning side to null (unless already changed)
  451.             if ($firmContactQualiNegoce->getContact() === $this) {
  452.                 $firmContactQualiNegoce->setContact(null);
  453.             }
  454.         }
  455.         return $this;
  456.     }
  457. }