EducationStudentWish.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\AccessWish;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use App\Entity\Access\Access;
  6. use App\Entity\Booking\Course;
  7. use App\Entity\Education\Education;
  8. use App\Entity\Education\EducationCurriculum;
  9. use App\Entity\Education\EducationStudent;
  10. use App\Entity\Education\EducationTiming;
  11. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  12. use App\Entity\Product\EquipmentList;
  13. use App\Enum\OnlineRegistration\RegistrationStatusEnum;
  14. use App\Enum\OnlineRegistration\WishRegistrationEnum;
  15. use Doctrine\Common\Collections\ArrayCollection;
  16. use Doctrine\Common\Collections\Collection;
  17. use Doctrine\ORM\Mapping as ORM;
  18. /**
  19. * TODO: documenter.
  20. */
  21. // #[Auditable]
  22. #[ApiResource(operations: [])]
  23. #[ORM\Entity]
  24. class EducationStudentWish
  25. {
  26. #[ORM\Id]
  27. #[ORM\Column]
  28. #[ORM\GeneratedValue]
  29. private ?int $id = null;
  30. #[ORM\Column(length: 50, enumType: WishRegistrationEnum::class)]
  31. private WishRegistrationEnum $wishRegistration;
  32. #[ORM\Column(length: 50, enumType: RegistrationStatusEnum::class)]
  33. private RegistrationStatusEnum $registrationStatus;
  34. #[ORM\ManyToOne(targetEntity: Education::class, cascade: ['persist'], inversedBy: 'educationWishes')]
  35. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  36. private ?Education $educationWish = null;
  37. #[ORM\ManyToOne(inversedBy: 'educationStudentWishes')]
  38. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  39. private ?AccessWish $accessWish = null;
  40. #[ORM\ManyToOne(inversedBy: 'educationStudentReregistrationsWishes')]
  41. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  42. private ?AccessWish $accessWishReregistrations = null;
  43. #[ORM\ManyToOne(targetEntity: EducationCurriculum::class, cascade: ['persist'], inversedBy: 'educationStudentWish')]
  44. private ?EducationCurriculum $educationCurriculum = null;
  45. #[ORM\ManyToOne]
  46. private ?EducationStudent $educationStudent = null;
  47. #[ORM\ManyToOne]
  48. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  49. private ?EducationTiming $educationTiming = null;
  50. /** @var Collection<int, Access> */
  51. #[ORM\ManyToMany(targetEntity: Access::class, cascade: [], orphanRemoval: false)]
  52. protected Collection $teachers;
  53. #[ORM\ManyToOne(targetEntity: EquipmentList::class, cascade: [])]
  54. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  55. protected ?EquipmentList $speciality;
  56. #[ORM\ManyToOne(targetEntity: Course::class, cascade: [], inversedBy: 'educationStudentWishes')]
  57. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  58. protected ?Course $course;
  59. public function __construct()
  60. {
  61. $this->teachers = new ArrayCollection();
  62. }
  63. public function getId(): ?int
  64. {
  65. return $this->id;
  66. }
  67. public function getWishRegistration(): ?WishRegistrationEnum
  68. {
  69. return $this->wishRegistration;
  70. }
  71. public function setWishRegistration(?WishRegistrationEnum $wishRegistration): void
  72. {
  73. $this->wishRegistration = $wishRegistration;
  74. }
  75. public function getRegistrationStatus(): ?RegistrationStatusEnum
  76. {
  77. return $this->registrationStatus;
  78. }
  79. public function setRegistrationStatus(?RegistrationStatusEnum $registrationStatus): void
  80. {
  81. $this->registrationStatus = $registrationStatus;
  82. }
  83. public function getEducationWish(): ?Education
  84. {
  85. return $this->educationWish;
  86. }
  87. public function setEducationWish(?Education $educationWish): self
  88. {
  89. $this->educationWish = $educationWish;
  90. return $this;
  91. }
  92. public function getAccessWish(): ?AccessWish
  93. {
  94. return $this->accessWish;
  95. }
  96. public function setAccessWish(?AccessWish $accessWish): self
  97. {
  98. $this->accessWish = $accessWish;
  99. return $this;
  100. }
  101. public function getAccessWishReregistrations(): ?AccessWish
  102. {
  103. return $this->accessWishReregistrations;
  104. }
  105. public function setAccessWishReregistrations(?AccessWish $accessWishReregistrations): self
  106. {
  107. $this->accessWishReregistrations = $accessWishReregistrations;
  108. return $this;
  109. }
  110. public function getEducationCurriculum(): ?EducationCurriculum
  111. {
  112. return $this->educationCurriculum;
  113. }
  114. public function setEducationCurriculum(?EducationCurriculum $educationCurriculum): self
  115. {
  116. $this->educationCurriculum = $educationCurriculum;
  117. return $this;
  118. }
  119. public function getEducationStudent(): ?EducationStudent
  120. {
  121. return $this->educationStudent;
  122. }
  123. public function setEducationStudent(?EducationStudent $educationStudent): self
  124. {
  125. $this->educationStudent = $educationStudent;
  126. return $this;
  127. }
  128. public function getEducationTiming(): ?EducationTiming
  129. {
  130. return $this->educationTiming;
  131. }
  132. public function setEducationTiming(?EducationTiming $educationTiming): self
  133. {
  134. $this->educationTiming = $educationTiming;
  135. return $this;
  136. }
  137. public function getTeachers(): Collection
  138. {
  139. return $this->teachers;
  140. }
  141. public function addTeacher(Access $teacher): self
  142. {
  143. if (!$this->teachers->contains($teacher)) {
  144. $this->teachers[] = $teacher;
  145. }
  146. return $this;
  147. }
  148. public function removeTeacher(Access $teacher): self
  149. {
  150. $this->teachers->removeElement($teacher);
  151. return $this;
  152. }
  153. public function getSpeciality(): EquipmentList
  154. {
  155. return $this->speciality;
  156. }
  157. public function setSpeciality(EquipmentList $speciality): self
  158. {
  159. $this->speciality = $speciality;
  160. return $this;
  161. }
  162. public function getCourse(): Course
  163. {
  164. return $this->course;
  165. }
  166. public function setCourse(Course $course): self
  167. {
  168. $this->course = $course;
  169. return $this;
  170. }
  171. }