src/Entity/ChannelUserData/Cursus/Exam.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Entity\ChannelUserData\Cursus;
  3. use Nellapp\Bundle\SDKBundle\TrackData\Attribute\TrackEntity;
  4. use Nellapp\Bundle\SDKBundle\TrackData\Attribute\TrackFIeld;
  5. use App\Enum\ChannelUserData\Activity\CursusActivityTagEnum;
  6. use App\Repository\ChannelUserData\Cursus\ExamRepository;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. #[
  10.     ORM\Entity(repositoryClassExamRepository::class),
  11.     ORM\Table(name'channel_user_data_cursus_exam'),
  12.     TrackEntity(
  13.         name'exam.entity.track_data.entity.name',
  14.         fieldGroups: [
  15.             'exam' => [
  16.                 'tags' => [ CursusActivityTagEnum::EXAM ]
  17.             ]
  18.         ],
  19.     )
  20. ]
  21. class Exam
  22. {
  23.     const ORAL_TYPE 0;
  24.     const WRITE_TYPE 1;
  25.     #[ORM\IdORM\GeneratedValue]
  26.     #[ORM\Column(type'integer')]
  27.     private ?int $id null;
  28.     #[ORM\Column(type'integer'nullablefalse)]
  29.     private ?int $examOrder null;
  30.     #[ORM\ManyToOne(targetEntityAbstractCursus::class, inversedBy'exams')]
  31.     #[ORM\JoinColumn(nullablefalseonDelete"CASCADE")]
  32.     private ?AbstractCursus $cursus null;
  33.     #[ORM\Column(type'integer')]
  34.     private ?int $type null;
  35.     #[ORM\Column(type'date')]
  36.     #[Assert\NotBlank]
  37.     #[TrackFIeld(name'exam.entity.happenAt.label'fieldKey'exam', callable: 'format'callableParams: ['d/m/Y'])]
  38.     private ?\DateTimeInterface $happenAt null;
  39.     #[ORM\Column(type'time')]
  40.     #[Assert\NotBlank]
  41.     #[TrackFIeld(name'exam.entity.startAt.label'fieldKey'exam', callable: 'format'callableParams: ['H:i'])]
  42.     private ?\DateTimeInterface $startAt null;
  43.     #[ORM\Column(type'time')]
  44.     #[Assert\NotBlank]
  45.     #[TrackFIeld(name'exam.entity.endAt.label'fieldKey'exam', callable: 'format'callableParams: ['H:i'])]
  46.     private ?\DateTimeInterface $endAt null;
  47.     public function __toString(): string
  48.     {
  49.         return $this->getExamOrder();
  50.     }
  51.     public function getId(): ?int
  52.     {
  53.         return $this->id;
  54.     }
  55.     public function getType(): ?int
  56.     {
  57.         return $this->type;
  58.     }
  59.     public function setType(?int $type): Exam
  60.     {
  61.         $this->type $type;
  62.         return $this;
  63.     }
  64.     public function getHappenAt(): ?\DateTimeInterface
  65.     {
  66.         return $this->happenAt;
  67.     }
  68.     public function setHappenAt(?\DateTimeInterface $happenAt): Exam
  69.     {
  70.         $this->happenAt $happenAt;
  71.         return $this;
  72.     }
  73.     public function getStartAt(): ?\DateTimeInterface
  74.     {
  75.         return $this->startAt;
  76.     }
  77.     public function setStartAt(?\DateTimeInterface $startAt): Exam
  78.     {
  79.         $this->startAt $startAt;
  80.         return $this;
  81.     }
  82.     public function getEndAt(): ?\DateTimeInterface
  83.     {
  84.         return $this->endAt;
  85.     }
  86.     public function setEndAt(?\DateTimeInterface $endAt): Exam
  87.     {
  88.         $this->endAt $endAt;
  89.         return $this;
  90.     }
  91.     public function getCursus(): ?AbstractCursus
  92.     {
  93.         return $this->cursus;
  94.     }
  95.     public function setCursus(?AbstractCursus $cursus): Exam
  96.     {
  97.         $this->cursus $cursus;
  98.         return $this;
  99.     }
  100.     public function getExamOrder(): ?int
  101.     {
  102.         return $this->examOrder;
  103.     }
  104.     public function setExamOrder(?int $examOrder): Exam
  105.     {
  106.         $this->examOrder $examOrder;
  107.         return $this;
  108.     }
  109. }