<?php
declare(strict_types=1);
/*
* Copyright (C) Office National de Publication et de Communication - All Rights Reserved
*
* Unauthorized copying of this file, via any medium is strictly prohibited by law
* This file is proprietary and confidential
*/
namespace App\Entity;
use App\Entity\Common\IdTrait;
use App\Validator\Constraints as AppAssert;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\DemandeInformationRepository")
* @ORM\Table(name="demande_information")
*/
class DemandeInformation
{
use IdTrait;
/** @ORM\Column(type="datetime", nullable=false) */
private $date;
/** @ORM\Column(type="string", nullable=true, length=50) */
private $sujet;
/** @ORM\Column(type="string", nullable=true, length=50) */
private $interlocuteurCivilite;
/** @ORM\Column(type="string", nullable=true, length=100) */
private $interlocuteurNom;
/** @ORM\Column(type="string", nullable=true, length=50) */
private $interlocuteurPrenom;
/** @ORM\Column(type="string", nullable=true, length=50) */
private $interlocuteurTelephone;
/**
* @ORM\Column(type="string", nullable=true, length=100)
* @Assert\Email
*/
private $interlocuteurEmail;
/** @ORM\Column(type="string", nullable=true, length=50) */
private $accueilliCivilite;
/** @ORM\Column(type="string", nullable=true, length=100) */
private $accueilliNom;
/** @ORM\Column(type="string", nullable=true, length=50) */
private $accueilliPrenom;
/**
* @ORM\Column(type="integer", nullable=true)
* @Assert\Range(min=1, max=130)
*/
private $accueilliAge;
/**
* @ORM\ManyToOne(targetEntity="Departement")
* @ORM\JoinColumn(name="accueilli_departement_id", referencedColumnName="id")
*/
private $accueilliDepartement;
/**
* @ORM\Column(type="text", nullable=true)
* @AppAssert\DoesNotContainsLink
*/
private $commentaires;
/** @ORM\Column(type="boolean", nullable=false) */
private $autoriseContact;
/**
* @ORM\ManyToOne(targetEntity="Etablissement")
* @ORM\JoinColumn(name="etablissement_id", referencedColumnName="id", nullable=false)
*/
private $etablissement;
/**
* @ORM\Column(type="string", length=255)
*/
private $profil;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $adresse;
/**
* @ORM\Column(type="string", length=10, nullable=true)
*/
private $cp;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $ville;
/**
* @ORM\Column(type="array", nullable=true)
*/
private $niveau = [];
public function __construct()
{
$this->date = new DateTime();
}
public function setDate(DateTime $date): void
{
$this->date = $date;
}
public function getDate(): DateTime
{
return $this->date;
}
public function setSujet(?string $sujet): void
{
$this->sujet = $sujet;
}
public function getSujet(): ?string
{
return $this->sujet;
}
public function setInterlocuteurCivilite(?string $interlocuteurCivilite): void
{
$this->interlocuteurCivilite = $interlocuteurCivilite;
}
public function getInterlocuteurCivilite(): ?string
{
return $this->interlocuteurCivilite;
}
public function setInterlocuteurNom(?string $nom): void
{
$this->interlocuteurNom = $nom;
}
public function getInterlocuteurNom(): ?string
{
return $this->interlocuteurNom;
}
public function setInterlocuteurPrenom(?string $prenom): void
{
$this->interlocuteurPrenom = $prenom;
}
public function getInterlocuteurPrenom(): ?string
{
return $this->interlocuteurPrenom;
}
public function setInterlocuteurTelephone(?string $telephone): void
{
$this->interlocuteurTelephone = $telephone;
}
public function getInterlocuteurTelephone(): ?string
{
return $this->interlocuteurTelephone;
}
public function setInterlocuteurEmail(?string $email): void
{
$this->interlocuteurEmail = $email;
}
public function getInterlocuteurEmail(): ?string
{
return $this->interlocuteurEmail;
}
public function setAccueilliCivilite(?string $accueilliCivilite): void
{
$this->accueilliCivilite = $accueilliCivilite;
}
public function getAccueilliCivilite(): ?string
{
return $this->accueilliCivilite;
}
public function setAccueilliNom(?string $accueilliNom): void
{
$this->accueilliNom = $accueilliNom;
}
public function getAccueilliNom(): ?string
{
return $this->accueilliNom;
}
public function setAccueilliPrenom(?string $accueilliPrenom): void
{
$this->accueilliPrenom = $accueilliPrenom;
}
public function getAccueilliPrenom(): ?string
{
return $this->accueilliPrenom;
}
public function setAccueilliAge(?int $accueilliAge): void
{
$this->accueilliAge = $accueilliAge;
}
public function getAccueilliAge(): ?int
{
return $this->accueilliAge;
}
public function setAccueilliDepartement(?Departement $accueilliDepartement): void
{
$this->accueilliDepartement = $accueilliDepartement;
}
public function getAccueilliDepartement(): ?Departement
{
return $this->accueilliDepartement;
}
public function setCommentaires(?string $commentaires): void
{
$this->commentaires = $commentaires;
}
public function getCommentaires(): ?string
{
return $this->commentaires;
}
public function setEtablissement(Etablissement $etablissement): void
{
$this->etablissement = $etablissement;
}
public function getEtablissement(): ?Etablissement
{
return $this->etablissement;
}
public function setAutoriseContact(bool $autoriseContact): void
{
$this->autoriseContact = $autoriseContact;
}
public function getAutoriseContact(): ?bool
{
return $this->autoriseContact;
}
public function getProfil(): ?string
{
return $this->profil;
}
public function setProfil(?string $profil): self
{
$this->profil = $profil;
return $this;
}
public function getAdresse(): ?string
{
return $this->adresse;
}
public function setAdresse(?string $adresse): self
{
$this->adresse = $adresse;
return $this;
}
public function getCp(): ?string
{
return $this->cp;
}
public function setCp(?string $cp): self
{
$this->cp = $cp;
return $this;
}
public function getVille(): ?string
{
return $this->ville;
}
public function setVille(?string $ville): self
{
$this->ville = $ville;
return $this;
}
public function getNiveau(): ?array
{
return $this->niveau;
}
public function setNiveau(?array $niveau): self
{
$this->niveau = $niveau;
return $this;
}
}