<?php
namespace App\Entity\Gestiform\Formations\Catalogue;
use App\Entity\Gestiform\Formations\Catalogue\Module\Module;
use App\Entity\Gestiform\Formations\Catalogue\Theme\Theme;
use App\Repository\Gestiform\Formations\Catalogue\CertificationRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CertificationRepository::class)
* @ORM\Table(name="certification")
*/
class Certification extends Module
{
/**
* @ORM\Column(type="datetime", length=255, nullable=true)
*/
private ?\DateTime $dateInscription = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $programme = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $certification = null;
/**
* @ORM\Column(type="decimal", precision=10, scale=2, nullable=true)
*/
private ?float $tarifVente = null;
/**
* @ORM\ManyToOne(targetEntity=Editeur::class, inversedBy="certifications")
*/
private Editeur $editeur;
/**
* @ORM\ManyToOne(targetEntity=Theme::class, inversedBy="certifications")
*/
private Theme $theme;
/**
* @ORM\ManyToMany(targetEntity=Module::class, mappedBy="certifications")
*/
private Collection $modules;
public function __construct()
{
parent::__construct();
$this->modules = new ArrayCollection();
}
public function getDateInscription(): ?\DateTime
{
return $this->dateInscription;
}
public function setDateInscription(?\DateTime $dateinscription): self
{
$this->dateInscription = $dateinscription;
return $this;
}
public function getEditeur(): ?Editeur
{
return $this->editeur;
}
public function setEditeur(?Editeur $editeur): self
{
$this->editeur = $editeur;
return $this;
}
public function getTheme(): ?Theme
{
return $this->theme;
}
public function setTheme(?Theme $theme): self
{
$this->theme = $theme;
return $this;
}
public function getProgramme(): ?string
{
return $this->programme;
}
public function setProgramme(?string $programme): self
{
$this->programme = $programme;
return $this;
}
public function getTarifVente(): ?float
{
return $this->tarifVente;
}
public function setTarifVente(?float $tarifVente): self
{
$this->tarifVente = $tarifVente;
return $this;
}
/**
* @return Collection<int, Module>
*/
public function getModules(): Collection
{
return $this->modules;
}
public function addModule(Module $module): self
{
if (!$this->modules->contains($module)) {
$this->modules->add($module);
}
return $this;
}
public function removeModule(Module $module): self
{
$this->modules->removeElement($module);
return $this;
}
public function getCertification(): ?string
{
return $this->certification;
}
public function setCertification(?string $certification): self
{
$this->certification = $certification;
return $this;
}
}