<?php
namespace App\Entity;
use App\Repository\DemandeFormationRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: DemandeFormationRepository::class)]
class DemandeFormation
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column()]
private ?int $id = null;
#[ORM\Column(length: 150, nullable: true)]
private ?string $typeFormation = null;
#[ORM\Column(nullable: true)]
private ?int $etatTraitement = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateTraitement = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateDemande = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $createdAt = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $updatedAt = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $identElv = null;
#[ORM\Column(length: 100, nullable: true)]
private ?string $nprElvLt = null;
#[ORM\Column(length: 100, nullable: true)]
private ?string $nprElvLi = null;
#[ORM\Column(nullable: true)]
private ?int $cin = null;
#[ORM\Column(length: 150, nullable: true)]
private ?string $niveauEducation = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $adresse = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $numTel = null;
#[ORM\Column(length: 150, nullable: true)]
private ?string $email = null;
#[ORM\OneToMany(mappedBy: 'demandeFormation', targetEntity: DocDiplome::class)]
private Collection $docDiplomes;
#[ORM\Column(length: 255, nullable: true)]
private ?string $motif = null;
#[ORM\ManyToOne(inversedBy: 'demandeFormations')]
private ?DicGouvernorat $gouvernorat = null;
public function __construct()
{
$this->docDiplomes = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getTypeFormation(): ?string
{
return $this->typeFormation;
}
public function setTypeFormation(?string $typeFormation): self
{
$this->typeFormation = $typeFormation;
return $this;
}
public function getEtatTraitement(): ?int
{
return $this->etatTraitement;
}
public function setEtatTraitement(?int $etatTraitement): self
{
$this->etatTraitement = $etatTraitement;
return $this;
}
public function getDateTraitement(): ?\DateTimeInterface
{
return $this->dateTraitement;
}
public function setDateTraitement(?\DateTimeInterface $dateTraitement): self
{
$this->dateTraitement = $dateTraitement;
return $this;
}
public function getDateDemande(): ?\DateTimeInterface
{
return $this->dateDemande;
}
public function setDateDemande(?\DateTimeInterface $dateDemande): self
{
$this->dateDemande = $dateDemande;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getIdentElv(): ?string
{
return $this->identElv;
}
public function setIdentElv(?string $identElv): self
{
$this->identElv = $identElv;
return $this;
}
public function getNprElvLt(): ?string
{
return $this->nprElvLt;
}
public function setNprElvLt(?string $nprElvLt): self
{
$this->nprElvLt = $nprElvLt;
return $this;
}
public function getNprElvLi(): ?string
{
return $this->nprElvLi;
}
public function setNprElvLi(?string $nprElvLi): self
{
$this->nprElvLi = $nprElvLi;
return $this;
}
public function getCin(): ?int
{
return $this->cin;
}
public function setCin(?int $cin): self
{
$this->cin = $cin;
return $this;
}
public function getNiveauEducation(): ?string
{
return $this->niveauEducation;
}
public function setNiveauEducation(?string $niveauEducation): self
{
$this->niveauEducation = $niveauEducation;
return $this;
}
public function getAdresse(): ?string
{
return $this->adresse;
}
public function setAdresse(?string $adresse): self
{
$this->adresse = $adresse;
return $this;
}
public function getNumTel(): ?string
{
return $this->numTel;
}
public function setNumTel(?string $numTel): self
{
$this->numTel = $numTel;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
/**
* @return Collection<int, DocDiplome>
*/
public function getDocDiplomes(): Collection
{
return $this->docDiplomes;
}
public function addDocDiplome(DocDiplome $docDiplome): self
{
if (!$this->docDiplomes->contains($docDiplome)) {
$this->docDiplomes[] = $docDiplome;
$docDiplome->setDemandeFormation($this);
}
return $this;
}
public function removeDocDiplome(DocDiplome $docDiplome): self
{
if ($this->docDiplomes->removeElement($docDiplome)) {
// set the owning side to null (unless already changed)
if ($docDiplome->getDemandeFormation() === $this) {
$docDiplome->setDemandeFormation(null);
}
}
return $this;
}
public function getMotif(): ?string
{
return $this->motif;
}
public function setMotif(?string $motif): self
{
$this->motif = $motif;
return $this;
}
public function getGouvernorat(): ?DicGouvernorat
{
return $this->gouvernorat;
}
public function setGouvernorat(?DicGouvernorat $gouvernorat): self
{
$this->gouvernorat = $gouvernorat;
return $this;
}
}