<?php
namespace App\Entity\Gestiform\Admin;
use App\Entity\Common\Upload;
use App\Entity\Gestiform\Admin\MasterListe\Masterlistelg;
use App\Entity\Gestiform\Formations\Dossier\Dossier;
use App\Entity\Gestiform\Formations\Financeur\Financeur;
use App\Entity\Gestiform\Users\Employe;
use App\Repository\Gestiform\Admin\SocieteRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation as Serializer;
/**
* @ORM\Entity(repositoryClass=SocieteRepository::class)
*/
class Societe extends Tiers
{
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $signatureEmail = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $codeAdherent = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $widthLogoHeader = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $heightLogoHeader = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $widthLogoFooter = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $heightLogoFooter = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $numEcole = null;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private ?bool $parDefaut = null;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private ?bool $defautAlternance = null;
/**
* @ORM\ManyToOne(targetEntity=Masterlistelg::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Masterlistelg $type = null;
/**
* @ORM\OneToMany(targetEntity=Site::class, mappedBy="societe")
*/
private Collection $sites;
/**
* @ORM\ManyToOne(targetEntity=Financeur::class, cascade={"persist"})
*/
private ?Financeur $financeurModeleAbsence = null;
/**
* @ORM\ManyToOne(targetEntity=Financeur::class, cascade={"persist"})
*/
private ?Financeur $financeurModeleRetard = null;
/**
* @ORM\ManyToOne(targetEntity=Employe::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Employe $referentHandicap = null;
/**
* @ORM\ManyToOne(targetEntity=Employe::class)
* @ORM\JoinColumn(nullable=true)
*/
private ?Employe $representant = null;
/**
* @ORM\OneToOne(targetEntity=Upload::class, cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Upload $cachet = null;
/**
* @ORM\OneToOne(targetEntity=Upload::class, cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Upload $piedpage = null;
/**
* @ORM\OneToOne(targetEntity=Upload::class, cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
*/
private ?Upload $imageRib = null;
/**
* @ORM\OneToMany(targetEntity=Dossier::class, mappedBy="societe")
* @Serializer\Ignore()
*/
private Collection $dossiers;
public function __construct()
{
parent::__construct();
$this->sites = new ArrayCollection();
$this->dossiers = new ArrayCollection();
}
public function getReferentHandicap(): ?Employe
{
return $this->referentHandicap;
}
public function setReferentHandicap(?Employe $referentHandicap): self
{
$this->referentHandicap = $referentHandicap;
return $this;
}
public function getRepresentant(): ?Employe
{
return $this->representant;
}
public function setRepresentant(?Employe $representant): self
{
$this->representant = $representant;
return $this;
}
public function getFinanceurModeleAbsence(): ?Financeur
{
return $this->financeurModeleAbsence;
}
public function setFinanceurModeleAbsence(?Financeur $financeurModeleAbsence): self
{
$this->financeurModeleAbsence = $financeurModeleAbsence;
return $this;
}
public function getFinanceurModeleRetard(): ?Financeur
{
return $this->financeurModeleRetard;
}
public function setFinanceurModeleRetard(?Financeur $financeurModeleRetard): self
{
$this->financeurModeleRetard = $financeurModeleRetard;
return $this;
}
public function isDefautAlternance(): ?bool
{
return $this->defautAlternance;
}
public function setDefautAlternance(?bool $defautAlternance): self
{
$this->defautAlternance = $defautAlternance;
return $this;
}
public function getSignatureEmail(): ?string
{
return $this->signatureEmail;
}
public function setSignatureEmail(string $signatureEmail): self
{
$this->signatureEmail = $signatureEmail;
return $this;
}
public function isParDefaut(): ?bool
{
return $this->parDefaut;
}
public function setParDefaut(?bool $parDefaut): self
{
$this->parDefaut = $parDefaut;
return $this;
}
public function getType(): ?Masterlistelg
{
return $this->type;
}
public function setType(?Masterlistelg $type): self
{
$this->type = $type;
return $this;
}
/**
* @return Collection<int, Site>
*/
public function getSites(): Collection
{
return $this->sites;
}
public function addSite(Site $site): self
{
if (!$this->sites->contains($site)) {
$this->sites->add($site);
$site->setSociete($this);
}
return $this;
}
public function removeSite(Site $site): self
{
if ($this->sites->removeElement($site)) {
// set the owning side to null (unless already changed)
if ($site->getSociete() === $this) {
$site->setSociete(null);
}
}
return $this;
}
public function getCodeAdherent(): ?string
{
return $this->codeAdherent;
}
public function setCodeAdherent(?string $codeAdherent): self
{
$this->codeAdherent = $codeAdherent;
return $this;
}
public function getCachet(): ?Upload
{
return $this->cachet;
}
public function setCachet(?Upload $cachet): self
{
$this->cachet = $cachet;
return $this;
}
public function getPiedpage(): ?Upload
{
return $this->piedpage;
}
public function setPiedpage(?Upload $piedpage): self
{
$this->piedpage = $piedpage;
return $this;
}
public function getWidthLogoHeader(): ?string
{
return $this->widthLogoHeader;
}
public function setWidthLogoHeader(?string $widthLogoHeader): self
{
$this->widthLogoHeader = $widthLogoHeader;
return $this;
}
public function getHeightLogoHeader(): ?string
{
return $this->heightLogoHeader;
}
public function setHeightLogoHeader(?string $heightLogoHeader): self
{
$this->heightLogoHeader = $heightLogoHeader;
return $this;
}
public function getWidthLogoFooter(): ?string
{
return $this->widthLogoFooter;
}
public function setWidthLogoFooter(?string $widthLogoFooter): self
{
$this->widthLogoFooter = $widthLogoFooter;
return $this;
}
public function getHeightLogoFooter(): ?string
{
return $this->heightLogoFooter;
}
public function setHeightLogoFooter(?string $heightLogoFooter): self
{
$this->heightLogoFooter = $heightLogoFooter;
return $this;
}
public function getImageRib(): ?Upload
{
return $this->imageRib;
}
public function setImageRib(?Upload $imageRib): self
{
$this->imageRib = $imageRib;
return $this;
}
/**
* @return Collection<int, Dossier>
*/
public function getDossiers(): Collection
{
return $this->dossiers;
}
public function addDossier(Dossier $dossier): self
{
if (!$this->dossiers->contains($dossier)) {
$this->dossiers->add($dossier);
$dossier->setSociete($this);
}
return $this;
}
public function removeDossier(Dossier $dossier): self
{
if ($this->dossiers->removeElement($dossier)) {
// set the owning side to null (unless already changed)
if ($dossier->getSociete() === $this) {
$dossier->setSociete(null);
}
}
return $this;
}
public function getNumEcole(): ?string
{
return $this->numEcole;
}
public function setNumEcole(?string $numEcole): self
{
$this->numEcole = $numEcole;
return $this;
}
}