<?php
namespace App\Entity\Adherent;
use Doctrine\ORM\Mapping as ORM;
use App\Repository\Adherent\MagasinJuridiqueRepository;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
#[ORM\Entity(repositoryClass: MagasinJuridiqueRepository::class)]
class MagasinJuridique
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metatitle;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metadescription;
#[ORM\Column(type: 'text', nullable: true)]
private $metakeywords;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metatitleCgu;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metadescriptionCgu;
#[ORM\Column(type: 'text', nullable: true)]
private $metakeywordsCgu;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metatitlePrivacy;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metadescriptionPrivacy;
#[ORM\Column(type: 'text', nullable: true)]
private $metakeywordsPrivacy;
#[ORM\ManyToOne(targetEntity: Magasin::class, inversedBy: 'presentations')]
#[ORM\JoinColumn(name: 'magasin', referencedColumnName: 'k_adherent', nullable: false)]
private $magasin;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $society;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $email;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $phone;
#[ORM\Column(type: 'text', nullable: true)]
private $address;
#[ORM\Column(type: 'string', length: 5, nullable: true)]
private $zipcode;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $city;
#[ORM\Column(type: 'text', nullable: true)]
private $website;
#[ORM\Column(type: 'text', nullable: true)]
private $content_legals;
#[ORM\Column(type: 'text', nullable: true)]
private $content_cgu;
#[ORM\Column(type: 'text', nullable: true)]
private $content_privacy;
#[ORM\Column(name: 'lang', type: 'string')]
private $lang;
#[ORM\Column(name: 'capital', type: 'float', nullable: true)]
private $capital;
#[ORM\Column(type: 'datetime_immutable')]
private $created_at;
#[ORM\Column(type: 'text', nullable: true)]
private $content_cgv;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metatitleCgv;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $metadescriptionCgv;
#[ORM\Column(type: 'text', nullable: true)]
private $metakeywordsCgv;
// Médiateur à la consommation
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $mediatorName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $mediatorAdress;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $mediatorZipcode;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $mediatorCity;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $mediatorWebsite;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $opticianName;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $diplomaTitle;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $diplomaCountry;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $finessIdentifier;
public function __construct()
{
$this->created_at = new \DateTimeImmutable("now");
}
#[Assert\Callback]
public function validate(ExecutionContextInterface $context, $payload)
{
// Validation des champs médiateur à la conso
if (!is_null($this->mediatorName) || !is_null($this->mediatorAdress) || !is_null($this->mediatorZipcode) || !is_null($this->mediatorCity) || !is_null($this->mediatorWebsite)) {
if(is_null($this->mediatorName)) {
$context->buildViolation('Ce champ ne peut être vide')->atPath('mediatorName')->addViolation();
}
if(is_null($this->mediatorAdress)) {
$context->buildViolation('Ce champ ne peut être vide')->atPath('mediatorAdress')->addViolation();
}
if(is_null($this->mediatorZipcode)) {
$context->buildViolation('Ce champ ne peut être vide')->atPath('mediatorZipcode')->addViolation();
}
if(is_null($this->mediatorCity)) {
$context->buildViolation('Ce champ ne peut être vide')->atPath('mediatorCity')->addViolation();
}
if(is_null($this->mediatorWebsite)) {
$context->buildViolation('Ce champ ne peut être vide')->atPath('mediatorWebsite')->addViolation();
}
}
}
public function getId(): ?int
{
return $this->id;
}
public function getMetaTitle(): ?string
{
return $this->metatitle;
}
public function setMetaTitle(?string $metatitle): self
{
$this->metatitle = $metatitle;
return $this;
}
public function getMetaDescription(): ?string
{
return $this->metadescription;
}
public function setMetaDescription(?string $metadescription): self
{
$this->metadescription = $metadescription;
return $this;
}
public function getMetaKeywords(): ?string
{
return $this->metakeywords;
}
public function setMetaKeywords(?string $metakeywords): self
{
$this->metakeywords = $metakeywords;
return $this;
}
public function getMagasin(): ?Magasin
{
return $this->magasin;
}
public function setMagasin(?Magasin $magasin): self
{
$this->magasin = $magasin;
return $this;
}
public function getSociety(): ?string
{
return $this->society;
}
public function setSociety(string $society): self
{
$this->society = $society;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(string $email): self
{
$this->email = $email;
return $this;
}
public function getPhone(): ?string
{
return $this->phone;
}
public function setPhone(?string $phone): self
{
$this->phone = $phone;
return $this;
}
public function getAddress(): ?string
{
return $this->address;
}
public function setAddress(?string $address): self
{
$this->address = $address;
return $this;
}
public function getZipcode(): ?string
{
return $this->zipcode;
}
public function setZipcode(?string $zipcode): self
{
$this->zipcode = $zipcode;
return $this;
}
public function getCity(): ?string
{
return $this->city;
}
public function setCity(?string $city): self
{
$this->city = $city;
return $this;
}
public function getWebsite(): ?string
{
return $this->website;
}
public function setWebsite(?string $website): self
{
$this->website = $website;
return $this;
}
/**
* @return mixed
*/
public function getContentLegals(): string
{
return $this->content_legals;
}
/**
* @param mixed $content_legals
*/
public function setContentLegals(string $content_legals): self
{
$this->content_legals = $content_legals;
return $this;
}
/**
* @return mixed
*/
public function getContentCgu(): string
{
return $this->content_cgu;
}
/**
* @param mixed $content_cgu
*/
public function setContentCgu(string $content_cgu): self
{
$this->content_cgu = $content_cgu;
return $this;
}
/**
* @return mixed
*/
public function getContentPrivacy(): string
{
return $this->content_privacy;
}
/**
* @param mixed $content_privacy
*/
public function setContentPrivacy(string $content_privacy): self
{
$this->content_privacy = $content_privacy;
return $this;
}
/**
* @return mixed
*/
public function getMetatitleCgu()
{
return $this->metatitleCgu;
}
public function setMetatitleCgu(mixed $metatitleCgu): void
{
$this->metatitleCgu = $metatitleCgu;
}
/**
* @return mixed
*/
public function getMetadescriptionCgu()
{
return $this->metadescriptionCgu;
}
public function setMetadescriptionCgu(mixed $metadescriptionCgu): void
{
$this->metadescriptionCgu = $metadescriptionCgu;
}
/**
* @return mixed
*/
public function getMetakeywordsCgu()
{
return $this->metakeywordsCgu;
}
public function setMetakeywordsCgu(mixed $metakeywordsCgu): void
{
$this->metakeywordsCgu = $metakeywordsCgu;
}
/**
* @return mixed
*/
public function getMetatitlePrivacy()
{
return $this->metatitlePrivacy;
}
public function setMetatitlePrivacy(mixed $metatitlePrivacy): void
{
$this->metatitlePrivacy = $metatitlePrivacy;
}
/**
* @return mixed
*/
public function getMetadescriptionPrivacy()
{
return $this->metadescriptionPrivacy;
}
public function setMetadescriptionPrivacy(mixed $metadescriptionPrivacy): void
{
$this->metadescriptionPrivacy = $metadescriptionPrivacy;
}
/**
* @return mixed
*/
public function getMetakeywordsPrivacy()
{
return $this->metakeywordsPrivacy;
}
public function setMetakeywordsPrivacy(mixed $metakeywordsPrivacy): void
{
$this->metakeywordsPrivacy = $metakeywordsPrivacy;
}
/**
* @return mixed
*/
public function getLang()
{
return $this->lang;
}
public function setLang(mixed $lang): self
{
$this->lang = $lang;
return $this;
}
public function getCreatedAt(): \DateTimeImmutable
{
return $this->created_at;
}
/**
* @return $this
*/
public function setCreatedAt(\DateTimeImmutable $created_at): self
{
$this->created_at = $created_at;
return $this;
}
/**
* @return mixed
*/
public function getCapital()
{
return $this->capital;
}
public function setCapital(mixed $capital): void
{
$this->capital = $capital;
}
/**
* @return mixed
*/
public function getContentCgv()
{
return $this->content_cgv;
}
/**
* @param mixed $content_cgv
*/
public function setContentCgv($content_cgv): void
{
$this->content_cgv = $content_cgv;
}
/**
* @return mixed
*/
public function getMetatitleCgv()
{
return $this->metatitleCgv;
}
/**
* @param mixed $metatitleCgv
*/
public function setMetatitleCgv($metatitleCgv): void
{
$this->metatitleCgv = $metatitleCgv;
}
/**
* @return mixed
*/
public function getMetadescriptionCgv()
{
return $this->metadescriptionCgv;
}
/**
* @param mixed $metadescriptionCgv
*/
public function setMetadescriptionCgv($metadescriptionCgv): void
{
$this->metadescriptionCgv = $metadescriptionCgv;
}
/**
* @return mixed
*/
public function getMetakeywordsCgv()
{
return $this->metakeywordsCgv;
}
/**
* @param mixed $metakeywordsCgv
*/
public function setMetakeywordsCgv($metakeywordsCgv): void
{
$this->metakeywordsCgv = $metakeywordsCgv;
}
/**
* @return mixed
*/
public function getMediatorName()
{
return $this->mediatorName;
}
/**
* @param mixed $mediatorName
*/
public function setMediatorName($mediatorName): void
{
$this->mediatorName = $mediatorName;
}
/**
* @return mixed
*/
public function getMediatorAdress()
{
return $this->mediatorAdress;
}
/**
* @param mixed $mediatorAdress
*/
public function setMediatorAdress($mediatorAdress): void
{
$this->mediatorAdress = $mediatorAdress;
}
/**
* @return mixed
*/
public function getMediatorZipcode()
{
return $this->mediatorZipcode;
}
/**
* @param mixed $mediatorZipcode
*/
public function setMediatorZipcode($mediatorZipcode): void
{
$this->mediatorZipcode = $mediatorZipcode;
}
/**
* @return mixed
*/
public function getMediatorCity()
{
return $this->mediatorCity;
}
/**
* @param mixed $mediatorCity
*/
public function setMediatorCity($mediatorCity): void
{
$this->mediatorCity = $mediatorCity;
}
/**
* @return mixed
*/
public function getMediatorWebsite()
{
return $this->mediatorWebsite;
}
/**
* @param mixed $mediatorWebsite
*/
public function setMediatorWebsite($mediatorWebsite): void
{
$this->mediatorWebsite = $mediatorWebsite;
}
/**
* @return mixed
*/
public function getOpticianName()
{
return $this->opticianName;
}
/**
* @param mixed $opticianName
*/
public function setOpticianName($opticianName): void
{
$this->opticianName = $opticianName;
}
/**
* @return mixed
*/
public function getDiplomaTitle()
{
return $this->diplomaTitle;
}
/**
* @param mixed $diplomaTitle
*/
public function setDiplomaTitle($diplomaTitle): void
{
$this->diplomaTitle = $diplomaTitle;
}
/**
* @return mixed
*/
public function getDiplomaCountry()
{
return $this->diplomaCountry;
}
/**
* @param mixed $diplomaCountry
*/
public function setDiplomaCountry($diplomaCountry): void
{
$this->diplomaCountry = $diplomaCountry;
}
/**
* @return mixed
*/
public function getFinessIdentifier()
{
return $this->finessIdentifier;
}
/**
* @param mixed $finessIdentifier
*/
public function setFinessIdentifier($finessIdentifier): void
{
$this->finessIdentifier = $finessIdentifier;
}
}