<?phpnamespace App\Domain\Entity;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Symfony\Component\Validator\Constraints as Assert;class Persona extends Interviniente{ private ?string $dni = null; /** * @var string|null * @Assert\NotBlank(message="not_blank") */ private ?string $nombre = null; /** * @var string|null * @Assert\NotBlank(message="not_blank") */ private ?string $primerApellido = null; /** * @var string|null * @Assert\NotBlank(message="not_blank") */ private ?string $segundoApellido = null; /** * @var string|null * @Assert\NotBlank(message="not_blank") */ private ?string $representacion = null; private Collection $documentacionPersonas; private Collection $consortiumLaborals; private Collection $comisionesParitarias; private Collection $empresas; private Collection $organosRepresentacion; public function __construct() { $this->documentacionPersonas = new ArrayCollection(); $this->consortiumLaborals = new ArrayCollection(); $this->comisionesParitarias = new ArrayCollection(); $this->empresas = new ArrayCollection(); $this->organosRepresentacion = new ArrayCollection(); } public function __toString(): string { return $this->getNombreCompleto(); } public function getDni(): ?string { return $this->dni; } public function setDni(?string $dni): static { $this->dni = $dni; return $this; } public function getNombre(): ?string { return $this->nombre; } public function setNombre(?string $nombre): static { $this->nombre = $nombre; return $this; } public function getPrimerApellido(): ?string { return $this->primerApellido; } public function setPrimerApellido(?string $primerApellido): static { $this->primerApellido = $primerApellido; return $this; } public function getSegundoApellido(): ?string { return $this->segundoApellido; } public function setSegundoApellido(?string $segundoApellido): static { $this->segundoApellido = $segundoApellido; return $this; } public function getRepresentacion(): ?string { return $this->representacion; } public function setRepresentacion(?string $representacion): static { $this->representacion = $representacion; return $this; } /** * @return Collection<int, DocumentacionPersona> */ public function getDocumentacionPersonas(): Collection { return $this->documentacionPersonas; } public function addDocumentacionPersona(DocumentacionPersona $documentacionPersona): static { if (!$this->documentacionPersonas->contains($documentacionPersona)) { $this->documentacionPersonas->add($documentacionPersona); $documentacionPersona->setPersona($this); } return $this; } public function removeDocumentacionPersona(DocumentacionPersona $documentacionPersona): static { if ($this->documentacionPersonas->removeElement($documentacionPersona)) { // set the owning side to null (unless already changed) if ($documentacionPersona->getPersona() === $this) { $documentacionPersona->setPersona(null); } } return $this; } /** * @return Collection<int, ConsortiumLaboral> */ public function getConsortiumLaborals(): Collection { return $this->consortiumLaborals; } public function addConsortiumLaboral(ConsortiumLaboral $consortiumLaboral): static { if (!$this->consortiumLaborals->contains($consortiumLaboral)) { $this->consortiumLaborals->add($consortiumLaboral); $consortiumLaboral->setPersona($this); } return $this; } public function removeConsortiumLaboral(ConsortiumLaboral $consortiumLaboral): static { if ($this->consortiumLaborals->removeElement($consortiumLaboral)) { // set the owning side to null (unless already changed) if ($consortiumLaboral->getPersona() === $this) { $consortiumLaboral->setPersona(null); } } return $this; } /** * @return Collection<int, ComisionParitaria> */ public function getComisionesParitarias(): Collection { return $this->comisionesParitarias; } public function addComisionesParitaria(ComisionParitaria $comisionesParitaria): static { if (!$this->comisionesParitarias->contains($comisionesParitaria)) { $this->comisionesParitarias->add($comisionesParitaria); $comisionesParitaria->addPersona($this); } return $this; } public function removeComisionesParitaria(ComisionParitaria $comisionesParitaria): static { if ($this->comisionesParitarias->removeElement($comisionesParitaria)) { $comisionesParitaria->removePersona($this); } return $this; } /** * @return Collection<int, Empresa> */ public function getEmpresas(): Collection { return $this->empresas; } public function addEmpresa(Empresa $empresa): static { if (!$this->empresas->contains($empresa)) { $this->empresas->add($empresa); $empresa->setPersona($this); } return $this; } public function removeEmpresa(Empresa $empresa): static { if ($this->empresas->removeElement($empresa)) { // set the owning side to null (unless already changed) if ($empresa->getPersona() === $this) { $empresa->setPersona(null); } } return $this; } public function getNombreCompleto(): string { return implode(' ', [$this->getNombre(), $this->getPrimerApellido(), $this->getSegundoApellido()])??'---'; } /** * @return Collection<int, OrganoRepresentacion> */ public function getOrganosRepresentacion(): Collection { return $this->organosRepresentacion; } public function addOrganosRepresentacion(OrganoRepresentacion $organosRepresentacion): static { if (!$this->organosRepresentacion->contains($organosRepresentacion)) { $this->organosRepresentacion->add($organosRepresentacion); $organosRepresentacion->addPersonasContacto($this); } return $this; } public function removeOrganosRepresentacion(OrganoRepresentacion $organosRepresentacion): static { if ($this->organosRepresentacion->removeElement($organosRepresentacion)) { $organosRepresentacion->removePersonasContacto($this); } return $this; }}//class