src/Entity/Gestiform/Formations/Catalogue/Module/ModuleCompetence.php line 20

  1. <?php
  2. namespace App\Entity\Gestiform\Formations\Catalogue\Module;
  3. use App\Entity\AbstractEntity;
  4. use App\Entity\Common\Document;
  5. use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
  6. use App\Entity\Gestiform\Formations\Catalogue\Competence;
  7. use App\Entity\Gestiform\Quiz\Quiz;
  8. use App\Repository\Gestiform\Formations\Catalogue\Module\ModuleCompetenceRepository;
  9. use App\Entity\Trait\SortableEntity;
  10. use Doctrine\Common\Collections\ArrayCollection;
  11. use Doctrine\Common\Collections\Collection;
  12. use Doctrine\ORM\Mapping as ORM;
  13. use Gedmo\Mapping\Annotation as Gedmo;
  14. #[ORM\Entity(repositoryClassModuleCompetenceRepository::class)]
  15. class ModuleCompetence extends AbstractEntity
  16. {
  17.     use SortableEntity;
  18.     #[ORM\JoinColumn(nullablefalse)]
  19.     #[ORM\ManyToOne(targetEntityCompetence::class, inversedBy'moduleCompetences')]
  20.     private Competence $competence;
  21.     /**
  22.      * @Gedmo\SortableGroup()
  23.      */
  24.     #[ORM\JoinColumn(nullablefalse)]
  25.     #[ORM\ManyToOne(targetEntityModule::class, cascade: ['persist'], inversedBy'moduleCompetences')]
  26.     private Module $module;
  27.     #[ORM\Column(type'text'length255nullabletrue)]
  28.     private ?string $modaliteEvaluations null;
  29.     #[ORM\Column(type'integer'nullabletrue)]
  30.     private ?int $duree null;
  31.     #[ORM\JoinTable(name'module_competence_procede_evaluations')]
  32.     #[ORM\JoinColumn(name'module_competence_competence_id'referencedColumnName'id')]
  33.     #[ORM\InverseJoinColumn(name'masterlistelg_id'referencedColumnName'id')]
  34.     #[ORM\ManyToMany(targetEntityMasterlistelg::class, cascade: ['persist'])]
  35.     private Collection $procedeEvaluations;
  36.     #[ORM\OneToMany(mappedBy'moduleCompetence'targetEntityDocument::class, cascade: ['persist'])]
  37.     private Collection $documents;
  38.     #[ORM\JoinColumn(nullabletrue)]
  39.     #[ORM\ManyToOne(targetEntityQuiz::class, cascade: ['persist'])]
  40.     private ?Quiz $quiz=null;
  41.     public function __construct()
  42.     {
  43.         $this->procedeEvaluations = new ArrayCollection();
  44.         $this->documents = new ArrayCollection();
  45.     }
  46.     public function getCompetence(): ?Competence
  47.     {
  48.         return $this->competence;
  49.     }
  50.     public function setCompetence(?Competence $competence): self
  51.     {
  52.         $this->competence $competence;
  53.         return $this;
  54.     }
  55.     public function getModule(): ?Module
  56.     {
  57.         return $this->module;
  58.     }
  59.     public function setModule(?Module $module): self
  60.     {
  61.         $this->module $module;
  62.         return $this;
  63.     }
  64.     public function getModaliteEvaluations(): ?string
  65.     {
  66.         return $this->modaliteEvaluations;
  67.     }
  68.     public function setModaliteEvaluations(?string $modaliteEvaluations): self
  69.     {
  70.         $this->modaliteEvaluations $modaliteEvaluations;
  71.         return $this;
  72.     }
  73.     public function getDuree(): ?int
  74.     {
  75.         return $this->duree;
  76.     }
  77.     public function setDuree(?int $duree): self
  78.     {
  79.         $this->duree $duree;
  80.         return $this;
  81.     }
  82.     /**
  83.      * @return Collection<int, Masterlistelg>
  84.      */
  85.     public function getProcedeEvaluations(): Collection
  86.     {
  87.         return $this->procedeEvaluations;
  88.     }
  89.     public function addProcedeEvaluation(Masterlistelg $procedeEvaluation): self
  90.     {
  91.         if (!$this->procedeEvaluations->contains($procedeEvaluation)) {
  92.             $this->procedeEvaluations->add($procedeEvaluation);
  93.         }
  94.         return $this;
  95.     }
  96.     public function removeProcedeEvaluation(Masterlistelg $procedeEvaluation): self
  97.     {
  98.         $this->procedeEvaluations->removeElement($procedeEvaluation);
  99.         return $this;
  100.     }
  101.     
  102.     /**
  103.      * @return Collection<int, Document>
  104.      */
  105.     public function getDocuments(): Collection
  106.     {
  107.         return $this->documents;
  108.     }
  109.     public function addDocument(Document $document): self
  110.     {
  111.         if (!$this->documents->contains($document)) {
  112.             $this->documents->add($document);
  113.             $document->setModuleCompetence($this);
  114.         }
  115.         return $this;
  116.     }
  117.     public function removeDocument(Document $document): self
  118.     {
  119.         // set the owning side to null (unless already changed)
  120.         if ($this->documents->removeElement($document) && $document->getModuleCompetence() === $this) {
  121.             $document->setModuleCompetence(null);
  122.         }
  123.         return $this;
  124.     }
  125.     public function getQuiz(): ?Quiz
  126.     {
  127.         return $this->quiz;
  128.     }
  129.     public function setQuiz(?Quiz $quiz): self
  130.     {
  131.         $this->quiz $quiz;
  132.         return $this;
  133.     }
  134. }