<?php
namespace App\Entity\Gestiform\Admin\Tarifs;
use App\Entity\AbstractEntity;
use App\Entity\Gestiform\Formations\Catalogue\Module\Module;
use App\Entity\Gestiform\Formations\Catalogue\Theme\Theme;
use App\Repository\Gestiform\Admin\Tarifs\TarifVenteRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({
* "tarifVente" = "TarifVente",
* "tarifVenteTheme" = "App\Entity\Gestiform\Admin\Tarifs\TarifVenteTheme",
* "tarifVenteThemeIntra" = "App\Entity\Gestiform\Admin\Tarifs\TarifVenteThemeIntra",
* })
*/
class TarifVente extends AbstractEntity
{
/**
* @ORM\ManyToOne(targetEntity=Theme::class, inversedBy="tarifsVentes",cascade={"persist"})
*/
private ?Theme $theme = null;
/**
* @ORM\ManyToOne(targetEntity=Module::class, inversedBy="tarifsVentes",cascade={"persist"})
*/
private ?Module $module = null;
/**
* @ORM\Column(type="datetime",nullable=true)
*/
private ?\DateTime $start = null;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private ?\DateTime $end = null;
/**
* @ORM\ManyToOne(targetEntity=TarifVenteTheme::class)
*/
private ?TarifVente $tarifDefaut=null;
public function getTarifDefaut(): ?self
{
return $this->tarifDefaut;
}
public function setTarifDefaut(?self $tarifDefaut): self
{
$this->tarifDefaut = $tarifDefaut;
return $this;
}
public function getStart(): ?\DateTimeInterface
{
return $this->start;
}
public function setStart(?\DateTimeInterface $start): self
{
$this->start = $start;
return $this;
}
public function getEnd(): ?\DateTimeInterface
{
return $this->end;
}
public function setEnd(?\DateTimeInterface $end): self
{
$this->end = $end;
return $this;
}
public function getTheme(): ?Theme
{
return $this->theme;
}
public function setTheme(?Theme $theme): self
{
$this->theme = $theme;
return $this;
}
public function getModule(): ?Module
{
return $this->module;
}
public function setModule(?Module $module): self
{
$this->module = $module;
return $this;
}
}