src/Entity/Consultants.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ConsultantsRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. #[ORM\Entity(repositoryClassConsultantsRepository::class)]
  8. class Consultants extends User
  9. {
  10.     #[ORM\Id]
  11.     #[ORM\GeneratedValue]
  12.     #[ORM\Column(type'integer')]
  13.     private $id;
  14.     #[ORM\Column(type'string'length50)]
  15.     private $nom;
  16.     #[ORM\Column(type'string'length50)]
  17.     private $prenom;
  18.     #[ORM\Column(type'string'length50nullabletrue)]
  19.     private $intitule_post;
  20.     #[ORM\Column(type'float'nullabletrue)]
  21.     private $TJM;
  22.     #[ORM\Column(type'boolean'nullabletrue)]
  23.     private $dispo_teletravail;
  24.     #[ORM\Column(type'string'length255nullabletrue)]
  25.     private $lien_linkedin;
  26.     #[ORM\Column(type'date'nullabletrue)]
  27.     private $debut_disponibilite;
  28.     #[ORM\Column(type'text'nullabletrue)]
  29.     private $descriptif;
  30.     #[ORM\Column(type'integer'nullabletrue)]
  31.     private $experience;
  32.     #[ORM\Column(type'string'length255nullabletrue)]
  33.     private $CV;
  34.     #[ORM\Column(type'blob'nullabletrue)]
  35.     private $photo;
  36.     #[ORM\Column(type'string'length50)]
  37.     private $num_kbis;
  38.     //fayeza
  39.     #[ORM\ManyToOne(targetEntityLocalisation::class, cascade: ['persist''remove'])]
  40.     private $localisation;
  41.     #[ORM\ManyToMany(targetEntityMetiers::class)]
  42.     private $metier;
  43.     #[ORM\ManyToMany(targetEntityCompetences::class)]
  44.     private $competence;
  45.     #[ORM\ManyToMany(targetEntityNiveauEtude::class)]
  46.     private $niveau_etude;
  47.     #[ORM\OneToMany(mappedBy'consultant'targetEntityEvaluationCON::class)]
  48.     private $evaluationCONs;
  49.     #[ORM\OneToMany(mappedBy'consultant'targetEntityAvisComerciaux::class)]
  50.     private $avisComerciauxes;
  51.     #[ORM\OneToMany(mappedBy'consultant'targetEntityAvisConsultant::class)]
  52.     private $avisConsultants;
  53.     #[ORM\Column(type'string'length100nullabletrue)]
  54.     private $ville;
  55.     #[ORM\Column(type'string'length20)]
  56.     private $cp;
  57.     #[ORM\ManyToMany(targetEntityMissions::class, mappedBy'favoris')]
  58.     private Collection $favoris;
  59.     public function __construct()
  60.     {
  61.         $this->metier = new ArrayCollection();
  62.         $this->competence = new ArrayCollection();
  63.         $this->niveau_etude = new ArrayCollection();
  64.         $this->evaluationCONs = new ArrayCollection();
  65.         $this->avisComerciauxes = new ArrayCollection();
  66.         $this->avisConsultants = new ArrayCollection();
  67.         $this->favoris = new ArrayCollection();
  68.     }
  69.     // Dans la classe Consultant (la classe enfant)
  70.     public function __serialize(): array
  71.     {
  72.         $data parent::__serialize(); // Appeler la sérialisation de la classe parente
  73.         $data['nom'] = $this->nom
  74.         $data['prenom'] = $this->prenom
  75.         $data['ville'] = $this->ville
  76.         $data['cp'] = $this->cp
  77.         $data['intitule_post'] = $this->intitule_post
  78.         $data['TJM'] = $this->TJM
  79.         $data['lien_linkedin'] = $this->lien_linkedin
  80.         $data['num_kbis'] = $this->num_kbis
  81.         $data['CV'] = $this->CV
  82.         return $data;
  83.     }
  84.     // Dans la classe Consultant (la classe enfant)
  85.     public function __unserialize(array $data): void
  86.     {
  87.         parent::__unserialize($data); // Restaurer les données de la classe parente
  88.         $this->nom $data['nom'] ?? null
  89.         $this->prenom $data['prenom'] ?? null;
  90.         $this->ville $data['ville'] ?? null;
  91.         $this->cp $data['cp'] ?? null;
  92.         $this->intitule_post $data['intitule_post'] ?? null;
  93.         $this->TJM $data['TJM'] ?? null;
  94.         $this->lien_linkedin $data['lien_linkedin'] ?? null;
  95.         $this->num_kbis $data['num_kbis'] ?? null;
  96.         $this->CV $data['CV'] ?? null;
  97.     }
  98.     public function getIdCon(): ?int
  99.     {
  100.         return $this->id;
  101.     }
  102.     public function getNom(): ?string
  103.     {
  104.         return $this->nom;
  105.     }
  106.     public function setNom(string $nom): self
  107.     {
  108.         $this->nom $nom;
  109.         return $this;
  110.     }
  111.     public function getPrenom(): ?string
  112.     {
  113.         return $this->prenom;
  114.     }
  115.     public function setPrenom(string $prenom): self
  116.     {
  117.         $this->prenom $prenom;
  118.         return $this;
  119.     }
  120.     public function getIntitulePost(): ?string
  121.     {
  122.         return $this->intitule_post;
  123.     }
  124.     public function setIntitulePost(?string $intitule_post): self
  125.     {
  126.         $this->intitule_post $intitule_post;
  127.         return $this;
  128.     }
  129.     public function getTJM(): ?float
  130.     {
  131.         return $this->TJM;
  132.     }
  133.     public function setTJM(float $TJM): self
  134.     {
  135.         $this->TJM $TJM;
  136.         return $this;
  137.     }
  138.     public function isDispoTeletravail(): ?bool
  139.     {
  140.         return $this->dispo_teletravail;
  141.     }
  142.     public function setDispoTeletravail(bool $dispo_teletravail): self
  143.     {
  144.         $this->dispo_teletravail $dispo_teletravail;
  145.         return $this;
  146.     }
  147.     public function getLienLinkedin(): ?string
  148.     {
  149.         return $this->lien_linkedin;
  150.     }
  151.     public function setLienLinkedin(?string $lien_linkedin): self
  152.     {
  153.         $this->lien_linkedin $lien_linkedin;
  154.         return $this;
  155.     }
  156.     public function getDebutDisponibilite(): ?\DateTimeInterface
  157.     {
  158.         return $this->debut_disponibilite;
  159.     }
  160.     public function setDebutDisponibilite(?\DateTimeInterface $debut_disponibilite): self
  161.     {
  162.         $this->debut_disponibilite $debut_disponibilite;
  163.         return $this;
  164.     }
  165.     public function getDescriptif(): ?string
  166.     {
  167.         return $this->descriptif;
  168.     }
  169.     public function setDescriptif(?string $descriptif): self
  170.     {
  171.         $this->descriptif $descriptif;
  172.         return $this;
  173.     }
  174.     public function getExperience(): ?int
  175.     {
  176.         return $this->experience;
  177.     }
  178.     public function setExperience(?int $experience): self
  179.     {
  180.         $this->experience $experience;
  181.         return $this;
  182.     }
  183.     public function getCV(): ?string
  184.     {
  185.         return $this->CV;
  186.     }
  187.     public function setCV(?string $CV): self
  188.     {
  189.         $this->CV $CV;
  190.         return $this;
  191.     }
  192.     public function getPhoto()
  193.     {
  194.         return $this->photo;
  195.     }
  196.     public function setPhoto($photo): self
  197.     {
  198.         $this->photo $photo;
  199.         return $this;
  200.     }
  201.     public function getNumKbis(): ?string
  202.     {
  203.         return $this->num_kbis;
  204.     }
  205.     public function setNumKbis(string $num_kbis): self
  206.     {
  207.         $this->num_kbis $num_kbis;
  208.         return $this;
  209.     }
  210.     public function getLocalisation(): ?Localisation
  211.     {
  212.         return $this->localisation;
  213.     }
  214.     public function setLocalisation(?Localisation $localisation): self
  215.     {
  216.         $this->localisation $localisation;
  217.         return $this;
  218.     }
  219.     /**
  220.      * @return Collection<int, Metiers>
  221.      */
  222.     public function getMetier(): Collection
  223.     {
  224.         return $this->metier;
  225.     }
  226.     public function addMetier(Metiers $metier): self
  227.     {
  228.         if (!$this->metier->contains($metier)) {
  229.             $this->metier[] = $metier;
  230.         }
  231.         return $this;
  232.     }
  233.     public function removeMetier(Metiers $metier): self
  234.     {
  235.         $this->metier->removeElement($metier);
  236.         return $this;
  237.     }
  238.     /**
  239.      * @return Collection<int, Competences>
  240.      */
  241.     public function getCompetence(): Collection
  242.     {
  243.         return $this->competence;
  244.     }
  245.     public function addCompetence(Competences $competence): self
  246.     {
  247.         if (!$this->competence->contains($competence)) {
  248.             $this->competence[] = $competence;
  249.         }
  250.         return $this;
  251.     }
  252.     public function removeCompetence(Competences $competence): self
  253.     {
  254.         $this->competence->removeElement($competence);
  255.         return $this;
  256.     }
  257.     /**
  258.      * @return Collection<int, NiveauEtude>
  259.      */
  260.     public function getNiveauEtude(): Collection
  261.     {
  262.         return $this->niveau_etude;
  263.     }
  264.     public function addNiveauEtude(NiveauEtude $niveauEtude): self
  265.     {
  266.         if (!$this->niveau_etude->contains($niveauEtude)) {
  267.             $this->niveau_etude[] = $niveauEtude;
  268.         }
  269.         return $this;
  270.     }
  271.     public function removeNiveauEtude(NiveauEtude $niveauEtude): self
  272.     {
  273.         $this->niveau_etude->removeElement($niveauEtude);
  274.         return $this;
  275.     }
  276.     /**
  277.      * @return Collection<int, EvaluationCON>
  278.      */
  279.     public function getEvaluationCONs(): Collection
  280.     {
  281.         return $this->evaluationCONs;
  282.     }
  283.     public function addEvaluationCON(EvaluationCON $evaluationCON): self
  284.     {
  285.         if (!$this->evaluationCONs->contains($evaluationCON)) {
  286.             $this->evaluationCONs[] = $evaluationCON;
  287.             $evaluationCON->setConsultant($this);
  288.         }
  289.         return $this;
  290.     }
  291.     public function removeEvaluationCON(EvaluationCON $evaluationCON): self
  292.     {
  293.         if ($this->evaluationCONs->removeElement($evaluationCON)) {
  294.             // set the owning side to null (unless already changed)
  295.             if ($evaluationCON->getConsultant() === $this) {
  296.                 $evaluationCON->setConsultant(null);
  297.             }
  298.         }
  299.         return $this;
  300.     }
  301.     /**
  302.      * @return Collection<int, AvisComerciaux>
  303.      */
  304.     public function getAvisComerciauxes(): Collection
  305.     {
  306.         return $this->avisComerciauxes;
  307.     }
  308.     public function addAvisComerciaux(AvisComerciaux $avisComerciaux): self
  309.     {
  310.         if (!$this->avisComerciauxes->contains($avisComerciaux)) {
  311.             $this->avisComerciauxes[] = $avisComerciaux;
  312.             $avisComerciaux->setConsultant($this);
  313.         }
  314.         return $this;
  315.     }
  316.     public function removeAvisComerciaux(AvisComerciaux $avisComerciaux): self
  317.     {
  318.         if ($this->avisComerciauxes->removeElement($avisComerciaux)) {
  319.             // set the owning side to null (unless already changed)
  320.             if ($avisComerciaux->getConsultant() === $this) {
  321.                 $avisComerciaux->setConsultant(null);
  322.             }
  323.         }
  324.         return $this;
  325.     }
  326.     /**
  327.      * @return Collection<int, AvisConsultant>
  328.      */
  329.     public function getAvisConsultants(): Collection
  330.     {
  331.         return $this->avisConsultants;
  332.     }
  333.     public function addAvisConsultant(AvisConsultant $avisConsultant): self
  334.     {
  335.         if (!$this->avisConsultants->contains($avisConsultant)) {
  336.             $this->avisConsultants[] = $avisConsultant;
  337.             $avisConsultant->setConsultant($this);
  338.         }
  339.         return $this;
  340.     }
  341.     public function removeAvisConsultant(AvisConsultant $avisConsultant): self
  342.     {
  343.         if ($this->avisConsultants->removeElement($avisConsultant)) {
  344.             // set the owning side to null (unless already changed)
  345.             if ($avisConsultant->getConsultant() === $this) {
  346.                 $avisConsultant->setConsultant(null);
  347.             }
  348.         }
  349.         return $this;
  350.     }
  351.     public function getVille(): ?string
  352.     {
  353.         return $this->ville;
  354.     }
  355.     public function setVille(?string $ville): self
  356.     {
  357.         $this->ville $ville;
  358.         return $this;
  359.     }
  360.     public function getCp(): ?string
  361.     {
  362.         return $this->cp;
  363.     }
  364.     public function setCp(string $cp): self
  365.     {
  366.         $this->cp $cp;
  367.         return $this;
  368.     }
  369.     /**
  370.      * @return Collection<int, Missions>
  371.      */
  372.     public function getFavoris(): Collection
  373.     {
  374.         return $this->favoris;
  375.     }
  376.     public function addFavori(Missions $favori): static
  377.     {
  378.         if (!$this->favoris->contains($favori)) {
  379.             $this->favoris->add($favori);
  380.             $favori->addFavori($this);
  381.         }
  382.         return $this;
  383.     }
  384.     public function removeFavori(Missions $favori): static
  385.     {
  386.         if ($this->favoris->removeElement($favori)) {
  387.             $favori->removeFavori($this);
  388.         }
  389.         return $this;
  390.     }
  391. }