<?php
namespace App\Entity;
use App\Repository\ComProspectoRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ComProspectoRepository::class)]
class ComProspecto
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'comTipoDocumentos')]
#[ORM\JoinColumn(nullable: false)]
private ?ParTipoDocumento $tipoId = null;
#[ORM\Column]
private ?int $IdNumero = null;
#[ORM\Column(nullable: true)]
private ?int $dv = null;
#[ORM\Column(length: 255)]
private ?string $razonSocial = null;
#[ORM\Column(length: 10)]
private ?string $pais = null;
#[ORM\Column(length: 255)]
private ?string $ciudad = null;
#[ORM\Column(length: 255)]
private ?string $direccion = null;
#[ORM\ManyToOne(inversedBy: 'comTipoCliente')]
private ?ComTipoCliente $tipoCliente = null;
#[ORM\ManyToOne(inversedBy: 'comTerAsociado')]
#[ORM\JoinColumn(nullable: true)]
private ?TerAsociado $asociado = null;
#[ORM\ManyToOne(inversedBy: 'comTipoAsociado')]
#[ORM\JoinColumn(nullable: true)]
private ?ComTipoAsociado $tipoAsociado = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $metodoConsecucion = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $otroMetodoConsecucion = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $referido = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $ejecutivaComercialComisora = null;
#[ORM\OneToMany(mappedBy: 'comProspectoInformacionLegis', targetEntity: ComInformacionLegis::class)]
private Collection $informacionLegis;
#[ORM\OneToMany(mappedBy: 'comProspectoInformacionContacto', targetEntity: ComInformacionContacto::class)]
private Collection $InformacionContacto;
#[ORM\Column]
private ?\DateTime $createAt = null;
#[ORM\Column(length: 255)]
private ?string $createUser = null;
#[ORM\Column]
private ?\DateTime $updateAt = null;
#[ORM\Column(length: 255)]
private ?string $updateUser = null;
#[ORM\OneToOne(mappedBy: 'comProspecto', cascade: ['persist', 'remove'])]
private ?ComDestinoNotificacionBienvenida $comDestinoNotificacionBienvenida = null;
#[ORM\ManyToMany(targetEntity: TerEmpresa::class, inversedBy: 'comProspectosTerEmpresa')]
private Collection $serviciosInteres;
#[ORM\OneToMany(mappedBy: 'comProspectoDocumentoCliente', targetEntity: ComDocumentosCliente::class)]
private Collection $comDocumentosCliente;
#[ORM\Column(nullable: true)]
private ?bool $autorizar = null;
#[ORM\Column(length: 255, nullable:true)]
private ?string $comentarioAutorizacion = null;
#[ORM\ManyToOne(inversedBy: 'comProspectoParEstado')]
private ?ParEstado $estado = null;
#[ORM\OneToMany(mappedBy: 'comProspectoVisitaComercial', targetEntity: ComVisitaComercial::class)]
private Collection $visitaComercial;
#[ORM\OneToMany(mappedBy: 'comProspecto', targetEntity: ComVerificacionListaCautelar::class)]
private Collection $comVerificacionListaCautelar;
#[ORM\OneToMany(mappedBy: 'comProspecto', targetEntity: ComClientesTarifas::class)]
private Collection $comClientesTarifas;
public function __construct()
{
$this->informacionLegis = new ArrayCollection();
$this->InformacionContacto = new ArrayCollection();
$this->serviciosInteres = new ArrayCollection();
$this->comDocumentosCliente = new ArrayCollection();
$this->visitaComercial = new ArrayCollection();
$this->comVerificacionListaCautelar = new ArrayCollection();
$this->comClientesTarifas = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getTipoId(): ?ParTipoDocumento
{
return $this->tipoId;
}
public function setTipoId(?ParTipoDocumento $tipoId): static
{
$this->tipoId = $tipoId;
return $this;
}
public function getIdNumero(): ?int
{
return $this->IdNumero;
}
public function setIdNumero(int $IdNumero): static
{
$this->IdNumero = $IdNumero;
return $this;
}
public function getDv(): ?int
{
return $this->dv;
}
public function setDv(?int $dv): static
{
$this->dv = $dv;
return $this;
}
public function getRazonSocial(): ?string
{
return $this->razonSocial;
}
public function setRazonSocial(string $razonSocial): static
{
$this->razonSocial = $razonSocial;
return $this;
}
public function getPais(): ?string
{
return $this->pais;
}
public function setPais(?string $pais): static
{
$this->pais = $pais;
return $this;
}
public function getCiudad(): ?string
{
return $this->ciudad;
}
public function setCiudad(string $ciudad): static
{
$this->ciudad = $ciudad;
return $this;
}
public function getDireccion(): ?string
{
return $this->direccion;
}
public function setDireccion(string $direccion): static
{
$this->direccion = $direccion;
return $this;
}
public function getTipoCliente(): ?ComTipoCliente
{
return $this->tipoCliente;
}
public function setTipoCliente(?ComTipoCliente $tipoCliente): static
{
$this->tipoCliente = $tipoCliente;
return $this;
}
public function getAsociado(): ?TerAsociado
{
return $this->asociado;
}
public function setAsociado(?TerAsociado $asociado): static
{
$this->asociado = $asociado;
return $this;
}
public function getTipoAsociado(): ?ComTipoAsociado
{
return $this->tipoAsociado;
}
public function setTipoAsociado(?ComTipoAsociado $tipoAsociado): static
{
$this->tipoAsociado = $tipoAsociado;
return $this;
}
public function getMetodoConsecucion(): ?string
{
return $this->metodoConsecucion;
}
public function setMetodoConsecucion(?string $metodoConsecucion): static
{
$this->metodoConsecucion = $metodoConsecucion;
return $this;
}
public function getOtroMetodoConsecucion(): ?string
{
return $this->otroMetodoConsecucion;
}
public function setOtroMetodoConsecucion(?string $otroMetodoConsecucion): static
{
$this->otroMetodoConsecucion = $otroMetodoConsecucion;
return $this;
}
public function getReferido(): ?string
{
return $this->referido;
}
public function setReferido(?string $referido): static
{
$this->referido = $referido;
return $this;
}
public function getEjecutivaComercialComisora(): ?string
{
return $this->ejecutivaComercialComisora;
}
public function setEjecutivaComercialComisora(?string $ejecutivaComercialComisora): static
{
$this->ejecutivaComercialComisora = $ejecutivaComercialComisora;
return $this;
}
/**
* @return Collection<int, ComInformacionLegis>
*/
public function getInformacionLegis(): Collection
{
return $this->informacionLegis;
}
public function addInformacionLegi(ComInformacionLegis $informacionLegi): static
{
if (!$this->informacionLegis->contains($informacionLegi)) {
$this->informacionLegis->add($informacionLegi);
$informacionLegi->setComProspectoInformacionLegis($this);
}
return $this;
}
public function removeInformacionLegi(ComInformacionLegis $informacionLegi): static
{
if ($this->informacionLegis->removeElement($informacionLegi)) {
// set the owning side to null (unless already changed)
if ($informacionLegi->getComProspectoInformacionLegis() === $this) {
$informacionLegi->setComProspectoInformacionLegis(null);
}
}
return $this;
}
/**
* @return Collection<int, ComInformacionContacto>
*/
public function getInformacionContacto(): Collection
{
return $this->InformacionContacto;
}
public function addInformacionContacto(ComInformacionContacto $informacionContacto): static
{
if (!$this->InformacionContacto->contains($informacionContacto)) {
$this->InformacionContacto->add($informacionContacto);
$informacionContacto->setComProspectoInformacionContacto($this);
}
return $this;
}
public function removeInformacionContacto(ComInformacionContacto $informacionContacto): static
{
if ($this->InformacionContacto->removeElement($informacionContacto)) {
// set the owning side to null (unless already changed)
if ($informacionContacto->getComProspectoInformacionContacto() === $this) {
$informacionContacto->setComProspectoInformacionContacto(null);
}
}
return $this;
}
public function getCreateAt(): ?\DateTime
{
return $this->createAt;
}
public function setCreateAt(\DateTime $createAt): static
{
$this->createAt = $createAt;
return $this;
}
public function getCreateUser(): ?string
{
return $this->createUser;
}
public function setCreateUser(string $createUser): static
{
$this->createUser = $createUser;
return $this;
}
public function getUpdateAt(): ?\DateTime
{
return $this->updateAt;
}
public function setUpdateAt(\DateTime $updateAt): static
{
$this->updateAt = $updateAt;
return $this;
}
public function getUpdateUser(): ?string
{
return $this->updateUser;
}
public function setUpdateUser(string $updateUser): static
{
$this->updateUser = $updateUser;
return $this;
}
public function getComDestinoNotificacionBienvenida(): ?ComDestinoNotificacionBienvenida
{
return $this->comDestinoNotificacionBienvenida;
}
public function setComDestinoNotificacionBienvenida(?ComDestinoNotificacionBienvenida $comDestinoNotificacionBienvenida): static
{
// unset the owning side of the relation if necessary
if ($comDestinoNotificacionBienvenida === null && $this->comDestinoNotificacionBienvenida !== null) {
$this->comDestinoNotificacionBienvenida->setComProspecto(null);
}
// set the owning side of the relation if necessary
if ($comDestinoNotificacionBienvenida !== null && $comDestinoNotificacionBienvenida->getComProspecto() !== $this) {
$comDestinoNotificacionBienvenida->setComProspecto($this);
}
$this->comDestinoNotificacionBienvenida = $comDestinoNotificacionBienvenida;
return $this;
}
/**
* @return Collection<int, TerEmpresa>
*/
public function getServiciosInteres(): Collection
{
return $this->serviciosInteres;
}
public function addServiciosIntere(TerEmpresa $serviciosIntere): static
{
if (!$this->serviciosInteres->contains($serviciosIntere)) {
$this->serviciosInteres->add($serviciosIntere);
}
return $this;
}
public function removeServiciosIntere(TerEmpresa $serviciosIntere): static
{
$this->serviciosInteres->removeElement($serviciosIntere);
return $this;
}
/**
* @return Collection<int, ComDocumentosCliente>
*/
public function getComDocumentosCliente(): Collection
{
return $this->comDocumentosCliente;
}
public function addComDocumentosCliente(ComDocumentosCliente $comDocumentosCliente): static
{
if (!$this->comDocumentosCliente->contains($comDocumentosCliente)) {
$this->comDocumentosCliente->add($comDocumentosCliente);
$comDocumentosCliente->setComProspectoDocumentoCliente($this);
}
return $this;
}
public function removeComDocumentosCliente(ComDocumentosCliente $comDocumentosCliente): static
{
if ($this->comDocumentosCliente->removeElement($comDocumentosCliente)) {
// set the owning side to null (unless already changed)
if ($comDocumentosCliente->getComProspectoDocumentoCliente() === $this) {
$comDocumentosCliente->setComProspectoDocumentoCliente(null);
}
}
return $this;
}
public function isAutorizar(): ?bool
{
return $this->autorizar;
}
public function setAutorizar(?bool $autorizar): static
{
$this->autorizar = $autorizar;
return $this;
}
public function getComentarioAutorizacion(): ?string
{
return $this->comentarioAutorizacion;
}
public function setComentarioAutorizacion(string $comentarioAutorizacion): static
{
$this->comentarioAutorizacion = $comentarioAutorizacion;
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
/**
* @return Collection<int, ComVisitaComercial>
*/
public function getVisitaComercial(): Collection
{
return $this->visitaComercial;
}
public function addVisitaComercial(ComVisitaComercial $visitaComercial): static
{
if (!$this->visitaComercial->contains($visitaComercial)) {
$this->visitaComercial->add($visitaComercial);
$visitaComercial->setComProspectoVisitaComercial($this);
}
return $this;
}
public function removeVisitaComercial(ComVisitaComercial $visitaComercial): static
{
if ($this->visitaComercial->removeElement($visitaComercial)) {
// set the owning side to null (unless already changed)
if ($visitaComercial->getComProspectoVisitaComercial() === $this) {
$visitaComercial->setComProspectoVisitaComercial(null);
}
}
return $this;
}
/**
* @return Collection<int, ComVerificacionListaCautelar>
*/
public function getComVerificacionListaCautelar(): Collection
{
return $this->comVerificacionListaCautelar;
}
public function addComVerificacionListaCautelar(ComVerificacionListaCautelar $comVerificacionListaCautelar): static
{
if (!$this->comVerificacionListaCautelar->contains($comVerificacionListaCautelar)) {
$this->comVerificacionListaCautelar->add($comVerificacionListaCautelar);
$comVerificacionListaCautelar->setComProspecto($this);
}
return $this;
}
public function removeComVerificacionListaCautelar(ComVerificacionListaCautelar $comVerificacionListaCautelar): static
{
if ($this->comVerificacionListaCautelar->removeElement($comVerificacionListaCautelar)) {
// set the owning side to null (unless already changed)
if ($comVerificacionListaCautelar->getComProspecto() === $this) {
$comVerificacionListaCautelar->setComProspecto(null);
}
}
return $this;
}
/**
* @return Collection<int, ComClientesTarifas>
*/
public function getComClientesTarifas(): Collection
{
return $this->comClientesTarifas;
}
public function addComClientesTarifa(ComClientesTarifas $comClientesTarifa): static
{
if (!$this->comClientesTarifas->contains($comClientesTarifa)) {
$this->comClientesTarifas->add($comClientesTarifa);
$comClientesTarifa->setComProspecto($this);
}
return $this;
}
public function removeComClientesTarifa(ComClientesTarifas $comClientesTarifa): static
{
if ($this->comClientesTarifas->removeElement($comClientesTarifa)) {
// set the owning side to null (unless already changed)
if ($comClientesTarifa->getComProspecto() === $this) {
$comClientesTarifa->setComProspecto(null);
}
}
return $this;
}
}