<?php
namespace App\Entity\Gestiform\Users;
use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
use App\Entity\Gestiform\Formations\Dossier\Dossier;
use App\Entity\Gestiform\Formations\Entreprise\Contact;
use App\Repository\Gestiform\Users\ApprenantRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ApprenantRepository::class)
*/
class Apprenant extends Personne
{
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private ?bool $mineur = false;
/**
* @ORM\OneToMany(targetEntity=Dossier::class, mappedBy="apprenant",cascade={"persist"})
*/
private Collection $dossiers;
/**
* @ORM\ManyToOne(targetEntity=Dossier::class, cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Dossier $dossierActif = null;
/**
* @ORM\ManyToOne(targetEntity=Contact::class, cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Contact $representantLegal = null;
public function __construct()
{
parent::__construct();
$this->dossiers = new ArrayCollection();
}
public function getDossierActif(): ?Dossier
{
return $this->dossierActif;
}
public function setDossierActif(?Dossier $dossierActif): self
{
$this->dossierActif = $dossierActif;
return $this;
}
/**
* @return Collection<int, Dossier>
*/
public function getDossiers(): Collection
{
return $this->dossiers;
}
public function addDossier(Dossier $dossier): self
{
if (!$this->dossiers->contains($dossier)) {
$this->dossiers->add($dossier);
$dossier->setApprenant($this);
}
return $this;
}
public function removeDossier(Dossier $dossier): self
{
if ($this->dossiers->removeElement($dossier)) {
// set the owning side to null (unless already changed)
if ($dossier->getApprenant() === $this) {
$dossier->setApprenant(null);
}
}
return $this;
}
public function getMineur(): ?bool
{
return $this->mineur;
}
public function setMineur(?bool $mineur): self
{
$this->mineur = $mineur;
return $this;
}
public function getRepresentantLegal(): ?Contact
{
return $this->representantLegal;
}
public function setRepresentantLegal(?Contact $representantLegal): self
{
$this->representantLegal = $representantLegal;
return $this;
}
}