<?php
namespace App\Entity;
use App\Repository\ModificationConcessionRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: ModificationConcessionRepository::class)]
class ModificationConcession
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(type: Types::DATE_MUTABLE)]
#[Assert\NotNull(message: 'Le champ Date de publication des données modifiées doit être renseigné')]
private ?\DateTimeInterface $datePublicationDonneesModification = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $valeurGlobale = null;
#[ORM\Column(nullable: true)]
#[Assert\Type(type: 'numeric')]
#[Assert\GreaterThanOrEqual(value: 1)]
private ?int $dureeMois = null;
#[ORM\Column(type: Types::DATE_MUTABLE)]
#[Assert\NotNull(message: 'Le champ Date de publication des données modifiées doit être renseigné')]
private ?\DateTimeInterface $dateSignatureModification = null;
#[ORM\ManyToOne(inversedBy: 'modificationConcession')]
#[ORM\JoinColumn(name:"concession_id", referencedColumnName: "id", nullable: true)]
private ?Concession $concession = null;
#[ORM\Column(length: 1000)]
#[Assert\NotNull(message: 'Le champ objet doit être renseigné')]
private ?string $objet = null;
public function getId(): ?int
{
return $this->id;
}
public function getDatePublicationDonneesModification(): ?\DateTimeInterface
{
return $this->datePublicationDonneesModification;
}
public function setDatePublicationDonneesModification(\DateTimeInterface $datePublicationDonneesModification): static
{
$this->datePublicationDonneesModification = $datePublicationDonneesModification;
return $this;
}
public function getValeurGlobale(): ?string
{
return $this->valeurGlobale;
}
public function setValeurGlobale(?string $valeurGlobale): static
{
$this->valeurGlobale = $valeurGlobale;
return $this;
}
public function getDureeMois(): ?int
{
return $this->dureeMois;
}
public function setDureeMois(?int $dureeMois): static
{
$this->dureeMois = $dureeMois;
return $this;
}
public function getDateSignatureModification(): ?\DateTimeInterface
{
return $this->dateSignatureModification;
}
public function setDateSignatureModification(\DateTimeInterface $dateSignatureModification): static
{
$this->dateSignatureModification = $dateSignatureModification;
return $this;
}
public function getConcession(): ?Concession
{
return $this->concession;
}
public function setConcession(?Concession $concession): static
{
$this->concession = $concession;
return $this;
}
public function getObjet(): ?string
{
return $this->objet;
}
public function setObjet(string $objet): static
{
$this->objet = $objet;
return $this;
}
}