EducationStudentWish.php 5.6 KB

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