<?phpnamespace App\Entity;use App\Repository\InscriptionRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Vich\UploaderBundle\Mapping\Annotation as Vich;use Symfony\Component\HttpFoundation\File\File;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Validator\Constraints as Assert;#[ORM\Entity(repositoryClass: InscriptionRepository::class)]#[Vich\Uploadable]class Inscription{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\ManyToOne(inversedBy: 'inscriptions')] #[Assert\NotBlank(message: "Le champ ne peut pas ĂȘtre vide.")] private ?User $candidat = null; #[ORM\ManyToOne(inversedBy: 'inscriptions')] #[Assert\NotBlank(message: "Le champ ne peut pas ĂȘtre vide.")] private ?Cycle $cycle = null; #[ORM\OneToMany(mappedBy: 'inscription', targetEntity: FactureCandidat::class)] private Collection $factureCandidats; #[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)] private ?\DateTimeInterface $dateCreation = null; #[ORM\Column(length: 255, nullable: true)] private ?string $attestation = null; #[Vich\UploadableField(mapping: 'attestation', fileNameProperty: 'attestation')] public $attestationFile; #[ORM\Column(length: 255, nullable: true)] private ?string $groupe = null; #[ORM\ManyToOne(inversedBy: 'inscriptions')] #[ORM\JoinColumn(nullable: false)] private ?Session $session = null; #[ORM\OneToMany(mappedBy: 'inscription', targetEntity: InscriptionModule::class, cascade: ["persist"])] private Collection $inscriptionModules; public function __construct() { $this->factureCandidats = new ArrayCollection(); $this->inscriptionModules = new ArrayCollection(); } public function __toString() { // return 'Candidat:' . // $this->getCandidat()->getUserIdentifier() . // ' / Session:' . // $this->getSession()->getLibele(); return 'Candidat:' . $this->getCandidat()->getUserIdentifier(); } public function setAttestationFile(File $attestationFile = null) { $this->attestationFile = $attestationFile; } public function getAttestationFile() { return $this->attestationFile; } public function getId(): ?int { return $this->id; } public function getCandidat(): ?User { return $this->candidat; } public function setCandidat(?User $candidat): self { $this->candidat = $candidat; return $this; } public function getCycle(): ?Cycle { return $this->cycle; } public function setCycle(?Cycle $cycle): self { $this->cycle = $cycle; return $this; } /** * @return Collection<int, FactureCandidat> */ public function getFactureCandidats(): Collection { return $this->factureCandidats; } public function addFactureCandidat(FactureCandidat $factureCandidat): self { if (!$this->factureCandidats->contains($factureCandidat)) { $this->factureCandidats->add($factureCandidat); $factureCandidat->setInscription($this); } return $this; } public function removeFactureCandidat( FactureCandidat $factureCandidat ): self { if ($this->factureCandidats->removeElement($factureCandidat)) { // set the owning side to null (unless already changed) if ($factureCandidat->getInscription() === $this) { $factureCandidat->setInscription(null); } } return $this; } public function getDateCreation(): ?\DateTimeInterface { return $this->dateCreation; } public function setDateCreation(?\DateTimeInterface $dateCreation): self { $this->dateCreation = $dateCreation; return $this; } public function getAttestation(): ?string { return $this->attestation; } public function setAttestation(?string $attestation): self { $this->attestation = $attestation; return $this; } public function getGroupe(): ?string { return $this->groupe; } public function setGroupe(?string $groupe): self { $this->groupe = $groupe; return $this; } public function getSession(): ?Session { return $this->session; } public function setSession(?Session $session): self { $this->session = $session; return $this; } /** * @return Collection<int, InscriptionModule> */ public function getInscriptionModules(): Collection { return $this->inscriptionModules; } public function addInscriptionModule( InscriptionModule $inscriptionModule ): self { if (!$this->inscriptionModules->contains($inscriptionModule)) { $this->inscriptionModules->add($inscriptionModule); $inscriptionModule->setInscription($this); } return $this; } public function removeInscriptionModule( InscriptionModule $inscriptionModule ): self { if ($this->inscriptionModules->removeElement($inscriptionModule)) { // set the owning side to null (unless already changed) if ($inscriptionModule->getInscription() === $this) { $inscriptionModule->setInscription(null); } } return $this; }}