<?php
namespace App\Entity;
use App\Repository\SolicitudPublicaRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=SolicitudPublicaRepository::class)
*/
class SolicitudPublica
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $nombre;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $email;
/**
* @ORM\Column(type="date")
*/
private $fechaEntrada;
/**
* @ORM\Column(type="date")
*/
private $fechaSalida;
/**
* @ORM\Column(type="integer")
*/
private $adultos;
/**
* @ORM\Column(type="integer")
*/
private $menores;
/**
* @ORM\Column(type="boolean")
*/
private $entiendo;
/**
* @ORM\Column(type="boolean")
*/
private $autorizacion;
/**
* @ORM\Column(type="datetime_immutable")
*/
private $autorizadoEn;
/**
* @ORM\ManyToOne(targetEntity=Provider::class, inversedBy="solicitudesPublicas")
*/
private $proveedor;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $apellido;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $telefono;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $destino;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $cadena;
/**
* @ORM\OneToMany(targetEntity=SolicitudPublicaLog::class, mappedBy="solicitud")
*/
private $solicitudPublicaLogs;
/**
* @ORM\Column(type="boolean")
*/
private $completada = false;
/**
* @ORM\Column(type="time", nullable=true)
*/
private $horaDeContactoDesde;
/**
* @ORM\Column(type="time", nullable=true)
*/
private $horaDeContactoHasta;
/**
* @ORM\Column(type="boolean")
*/
private $esSocio = 0;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="solicitudPublicas")
*/
private $socio;
public function __construct()
{
$this->solicitudPublicaLogs = new ArrayCollection();
$this->autorizadoEn = new \DateTimeImmutable();
}
/**
* @return mixed
*/
public function getDestino()
{
return $this->destino;
}
/**
* @param mixed $destino
*/
public function setDestino($destino): void
{
$this->destino = $destino;
}
/**
* @return mixed
*/
public function getCadena()
{
return $this->cadena;
}
/**
* @param mixed $cadena
*/
public function setCadena($cadena): void
{
$this->cadena = $cadena;
}
/**
* @return mixed
*/
public function getHoraDeContactoDesde()
{
return $this->horaDeContactoDesde;
}
/**
* @param mixed $horaDeContactoDesde
*/
public function setHoraDeContactoDesde($horaDeContactoDesde): void
{
$this->horaDeContactoDesde = $horaDeContactoDesde;
}
/**
* @return mixed
*/
public function getHoraDeContactoHasta()
{
return $this->horaDeContactoHasta;
}
/**
* @param mixed $horaDeContactoHasta
*/
public function setHoraDeContactoHasta($horaDeContactoHasta): void
{
$this->horaDeContactoHasta = $horaDeContactoHasta;
}
public function getId(): ?int
{
return $this->id;
}
public function getNombre(): ?string
{
return $this->nombre;
}
public function setNombre(string $nombre): self
{
$this->nombre = $nombre;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(string $email): self
{
$this->email = $email;
return $this;
}
public function getFechaEntrada(): ?\DateTimeInterface
{
return $this->fechaEntrada;
}
public function setFechaEntrada(\DateTimeInterface $fechaEntrada): self
{
$this->fechaEntrada = $fechaEntrada;
return $this;
}
public function getFechaSalida(): ?\DateTimeInterface
{
return $this->fechaSalida;
}
public function setFechaSalida(\DateTimeInterface $fechaSalida): self
{
$this->fechaSalida = $fechaSalida;
return $this;
}
public function getAdultos(): ?int
{
return $this->adultos;
}
public function setAdultos(int $adultos): self
{
$this->adultos = $adultos;
return $this;
}
public function getMenores(): ?int
{
return $this->menores;
}
public function setMenores(int $menores): self
{
$this->menores = $menores;
return $this;
}
public function isEntiendo(): ?bool
{
return $this->entiendo;
}
public function setEntiendo(bool $entiendo): self
{
$this->entiendo = $entiendo;
return $this;
}
public function isAutorizacion(): ?bool
{
return $this->autorizacion;
}
public function setAutorizacion(bool $autorizacion): self
{
$this->autorizacion = $autorizacion;
return $this;
}
public function getAutorizadoEn(): ?\DateTimeImmutable
{
return $this->autorizadoEn;
}
public function setAutorizadoEn(\DateTimeImmutable $autorizadoEn): self
{
$this->autorizadoEn = $autorizadoEn;
return $this;
}
public function getProveedor(): ?Provider
{
return $this->proveedor;
}
public function setProveedor(?Provider $proveedor): self
{
$this->proveedor = $proveedor;
return $this;
}
public function getApellido(): ?string
{
return $this->apellido;
}
public function setApellido(string $apellido): self
{
$this->apellido = $apellido;
return $this;
}
public function getTelefono(): ?string
{
return $this->telefono;
}
public function setTelefono(string $telefono): self
{
$this->telefono = $telefono;
return $this;
}
/**
* @return Collection<int, SolicitudPublicaLog>
*/
public function getSolicitudPublicaLogs(): Collection
{
return $this->solicitudPublicaLogs;
}
public function addSolicitudPublicaLog(SolicitudPublicaLog $solicitudPublicaLog): self
{
if (!$this->solicitudPublicaLogs->contains($solicitudPublicaLog)) {
$this->solicitudPublicaLogs[] = $solicitudPublicaLog;
$solicitudPublicaLog->setSolicitud($this);
}
return $this;
}
public function removeSolicitudPublicaLog(SolicitudPublicaLog $solicitudPublicaLog): self
{
if ($this->solicitudPublicaLogs->removeElement($solicitudPublicaLog)) {
// set the owning side to null (unless already changed)
if ($solicitudPublicaLog->getSolicitud() === $this) {
$solicitudPublicaLog->setSolicitud(null);
}
}
return $this;
}
public function isCompletada(): ?bool
{
return $this->completada;
}
public function setCompletada(bool $completada): self
{
$this->completada = $completada;
return $this;
}
public function getNombreCompleto(): string
{
return $this->nombre . ' ' . $this->apellido;
}
public function isEsSocio(): ?bool
{
return $this->esSocio;
}
public function setEsSocio(bool $esSocio): self
{
$this->esSocio = $esSocio;
return $this;
}
public function getSocio(): ?User
{
return $this->socio;
}
public function setSocio(?User $socio): self
{
$this->socio = $socio;
return $this;
}
}