src/Entity/QuizAssignment.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\QuizAssignmentRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\Entity(repositoryClassQuizAssignmentRepository::class)]
  9. class QuizAssignment
  10. {
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\ManyToOne(inversedBy'assignments')]
  16.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  17.     private ?Quiz $quiz null;
  18.     #[ORM\ManyToOne(inversedBy'assignments')]
  19.     private ?Evenement $session null;
  20.     #[ORM\ManyToOne(inversedBy'assignments')]
  21.     private ?VirtualClassroom $classeVirtuelle null;
  22.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  23.     private ?\DateTimeInterface $dateDebut null;
  24.     // Date de fermeture
  25.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  26.     private ?\DateTimeInterface $dateFin null;
  27.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  28.     private ?\DateTimeInterface $createdAt null;
  29.     #[ORM\OneToMany(mappedBy'assignment'targetEntityQuizReponse::class)]
  30.     private Collection $reponses;
  31.     public function __construct()
  32.     {
  33.         $this->reponses = new ArrayCollection();
  34.     }
  35.     public function getId(): ?int
  36.     {
  37.         return $this->id;
  38.     }
  39.     public function getQuiz(): ?Quiz
  40.     {
  41.         return $this->quiz;
  42.     }
  43.     public function setQuiz(?Quiz $quiz): self
  44.     {
  45.         $this->quiz $quiz;
  46.         return $this;
  47.     }
  48.     public function getSession(): ?Evenement
  49.     {
  50.         return $this->session;
  51.     }
  52.     public function setSession(?Evenement $session): self
  53.     {
  54.         $this->session $session;
  55.         return $this;
  56.     }
  57.     public function getClasseVirtuelle(): ?VirtualClassroom
  58.     {
  59.         return $this->classeVirtuelle;
  60.     }
  61.     public function setClasseVirtuelle(?VirtualClassroom $classeVirtuelle): self
  62.     {
  63.         $this->classeVirtuelle $classeVirtuelle;
  64.         return $this;
  65.     }
  66.     public function getDateDebut(): ?\DateTimeInterface { return $this->dateDebut; }
  67.     public function setDateDebut(?\DateTimeInterface $d): self $this->dateDebut $d; return $this; }
  68.     public function getDateFin(): ?\DateTimeInterface { return $this->dateFin; }
  69.     public function setDateFin(?\DateTimeInterface $d): self $this->dateFin $d; return $this; }
  70.     public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; }
  71.     public function setCreatedAt(?\DateTimeInterface $d): self $this->createdAt $d; return $this; }
  72.     // Label pour l'affichage
  73.     public function getLabel(): string {
  74.         if ($this->session) return 'Session: '.$this->session->getTitre();
  75.         if ($this->classeVirtuelle) return 'Classe: '.$this->classeVirtuelle->getTitre();
  76.         return 'Non affecté';
  77.     }
  78.     /**
  79.      * @return Collection<int, QuizReponse>
  80.      */
  81.     public function getReponses(): Collection
  82.     {
  83.         return $this->reponses;
  84.     }
  85.     public function addReponse(QuizReponse $reponse): self
  86.     {
  87.         if (!$this->reponses->contains($reponse)) {
  88.             $this->reponses->add($reponse);
  89.             $reponse->setAssignment($this);
  90.         }
  91.         return $this;
  92.     }
  93.     public function removeReponse(QuizReponse $reponse): self
  94.     {
  95.         if ($this->reponses->removeElement($reponse)) {
  96.             // set the owning side to null (unless already changed)
  97.             if ($reponse->getAssignment() === $this) {
  98.                 $reponse->setAssignment(null);
  99.             }
  100.         }
  101.         return $this;
  102.     }
  103. }