<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Entity
* @ORM\Table(name="evento")
*/
class Evento
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $titulo;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $ubicacion;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $descripcionCorta;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $descripcion;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $fechaInicio;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $fechaFin;
/**
* @ORM\Column(type="datetime", nullable=true, name="deleted_at")
*/
private $deletedAt;
/**
* @ORM\Column(type="datetime", nullable=false, name="updated_at", options={"default":"2024-01-01 00:00:00"})
* @Gedmo\Timestampable(on="update")
*/
private $updatedAt;
/**
* @ORM\Column(type="datetime", nullable=false, name="created_at", options={"default":"2024-01-01 00:00:00"})
* @Gedmo\Timestampable(on="create")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $fechaInicioInscripcion;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $fechaFinInscripcion;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $imagenUrl;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $latitud;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $longitud;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $aforo;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $inscribir;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $esPrivado;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $subscribed;
/**
* @ORM\OneToMany(targetEntity=\App\Entity\DocumentoEvento::class, mappedBy="evento")
*/
private $documentoEventos;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $emisorTipo;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isPublico;
/**
* @ORM\Column(type="string", nullable=true, options={"default":"evento"})
*/
private $type="evento";
/**
* @ORM\OneToMany(targetEntity=\App\Entity\FormularioRespuestas::class, mappedBy="evento")
*/
private $formularioRespuestas;
/**
* @ORM\ManyToOne(targetEntity=\App\Entity\Calendario::class, inversedBy="eventos")
* @ORM\JoinColumn(name="calendario_id", referencedColumnName="id")
*/
private $calendario;
/**
* @ORM\ManyToOne(targetEntity=\App\Entity\Formulario::class, inversedBy="eventos")
* @ORM\JoinColumn(name="formulario_id", referencedColumnName="id")
*/
private $formulario;
/**
* @ORM\ManyToOne(targetEntity=\App\Entity\PropietarioContenido::class, inversedBy="eventos")
* @ORM\JoinColumn(name="propietario_contenido_id", referencedColumnName="id")
*/
private $propietarioContenidoEmisor;
/**
* @ORM\ManyToMany(targetEntity=\App\Entity\CategoriaEvento::class, inversedBy="eventos")
* @ORM\JoinTable(
* name="categoria_evento_to_evento",
* joinColumns={@ORM\JoinColumn(name="evento_id", referencedColumnName="id", nullable=false)},
* inverseJoinColumns={@ORM\JoinColumn(name="categoria_evento_id", referencedColumnName="id", nullable=false)}
* )
*/
private $categoriasevento;
public function __construct()
{
$this->formularioRespuestas = new ArrayCollection();
$this->documentoEventos = new ArrayCollection();
$this->categoriasevento = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getTitulo(): ?string
{
return $this->titulo;
}
public function setTitulo(?string $titulo): static
{
$this->titulo = $titulo;
return $this;
}
public function getUbicacion(): ?string
{
return $this->ubicacion;
}
public function setUbicacion(?string $ubicacion): static
{
$this->ubicacion = $ubicacion;
return $this;
}
public function getDescripcionCorta(): ?string
{
return $this->descripcionCorta;
}
public function setDescripcionCorta(?string $descripcionCorta): static
{
$this->descripcionCorta = $descripcionCorta;
return $this;
}
public function getDescripcion(): ?string
{
return $this->descripcion;
}
public function setDescripcion(?string $descripcion): static
{
$this->descripcion = $descripcion;
return $this;
}
public function getFechaInicio(): ?\DateTimeInterface
{
return $this->fechaInicio;
}
public function setFechaInicio(?\DateTimeInterface $fechaInicio): static
{
$this->fechaInicio = $fechaInicio;
return $this;
}
public function getFechaFin(): ?\DateTimeInterface
{
return $this->fechaFin;
}
public function setFechaFin(?\DateTimeInterface $fechaFin): static
{
$this->fechaFin = $fechaFin;
return $this;
}
public function getDeletedAt(): ?\DateTimeInterface
{
return $this->deletedAt;
}
public function setDeletedAt(?\DateTimeInterface $deletedAt): static
{
$this->deletedAt = $deletedAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(\DateTimeInterface $updatedAt): static
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeInterface $createdAt): static
{
$this->createdAt = $createdAt;
return $this;
}
public function getFechaInicioInscripcion(): ?\DateTimeInterface
{
return $this->fechaInicioInscripcion;
}
public function setFechaInicioInscripcion(?\DateTimeInterface $fechaInicioInscripcion): static
{
$this->fechaInicioInscripcion = $fechaInicioInscripcion;
return $this;
}
public function getFechaFinInscripcion(): ?\DateTimeInterface
{
return $this->fechaFinInscripcion;
}
public function setFechaFinInscripcion(?\DateTimeInterface $fechaFinInscripcion): static
{
$this->fechaFinInscripcion = $fechaFinInscripcion;
return $this;
}
public function getImagenUrl(): ?string
{
return $this->imagenUrl;
}
public function setImagenUrl(?string $imagenUrl): static
{
$this->imagenUrl = $imagenUrl;
return $this;
}
public function getLatitud(): ?float
{
return $this->latitud;
}
public function setLatitud(?float $latitud): static
{
$this->latitud = $latitud;
return $this;
}
public function getLongitud(): ?float
{
return $this->longitud;
}
public function setLongitud(?float $longitud): static
{
$this->longitud = $longitud;
return $this;
}
public function getAforo(): ?int
{
return $this->aforo;
}
public function setAforo(?int $aforo): static
{
$this->aforo = $aforo;
return $this;
}
public function getInscribir(): ?bool
{
return $this->inscribir;
}
public function setInscribir(?bool $inscribir): static
{
$this->inscribir = $inscribir;
return $this;
}
public function isEsPrivado(): ?bool
{
return $this->esPrivado;
}
public function setEsPrivado(?bool $esPrivado): static
{
$this->esPrivado = $esPrivado;
return $this;
}
public function isSubscribed(): ?bool
{
return $this->subscribed;
}
public function setSubscribed(?bool $subscribed): static
{
$this->subscribed = $subscribed;
return $this;
}
public function getEmisorTipo(): ?int
{
return $this->emisorTipo;
}
public function setEmisorTipo(?int $emisorTipo): static
{
$this->emisorTipo = $emisorTipo;
return $this;
}
public function isIsPublico(): ?bool
{
return $this->isPublico;
}
/**
* Alias publico para que ObjectMapper / mappers reflection-based generen la clave 'isPublico'
* de forma consistente. Delega en el getter original (compat). No tocar isIsPublico().
*/
public function isPublico(): ?bool
{
return $this->isIsPublico();
}
public function setIsPublico(?bool $isPublico): static
{
$this->isPublico = $isPublico;
return $this;
}
/**
* @return Collection<int, FormularioRespuestas>
*/
public function getFormularioRespuestas(): Collection
{
return $this->formularioRespuestas;
}
public function addFormularioRespuesta(FormularioRespuestas $formularioRespuesta): static
{
if (!$this->formularioRespuestas->contains($formularioRespuesta)) {
$this->formularioRespuestas->add($formularioRespuesta);
$formularioRespuesta->setEvento($this);
}
return $this;
}
public function removeFormularioRespuesta(FormularioRespuestas $formularioRespuesta): static
{
if ($this->formularioRespuestas->removeElement($formularioRespuesta)) {
// set the owning side to null (unless already changed)
if ($formularioRespuesta->getEvento() === $this) {
$formularioRespuesta->setEvento(null);
}
}
return $this;
}
public function getCalendario(): ?Calendario
{
return $this->calendario;
}
public function setCalendario(?Calendario $calendario): static
{
$this->calendario = $calendario;
return $this;
}
public function getFormulario(): ?Formulario
{
return $this->formulario;
}
public function setFormulario(?Formulario $formulario): static
{
$this->formulario = $formulario;
return $this;
}
public function addDocumentoEvento(DocumentoEvento $documentoEvento): static
{
if (!$this->documentoEventos->contains($documentoEvento)) {
$this->documentoEventos->add($documentoEvento);
$documentoEvento->setEvento($this);
}
return $this;
}
public function removeDocumentoEvento(DocumentoEvento $documentoEvento): static
{
if ($this->documentoEventos->removeElement($documentoEvento)) {
// set the owning side to null (unless already changed)
if ($documentoEvento->getEvento() === $this) {
$documentoEvento->setEvento(null);
}
}
return $this;
}
/**
* @return Collection<int, DocumentoEvento>
*/
public function getDocumentoEventos(): Collection
{
return $this->documentoEventos;
}
/**
* @return Collection<int, CategoriaEvento>
*/
public function getCategoriasevento(): Collection
{
return $this->categoriasevento;
}
public function addCategoriasevento(CategoriaEvento $categoriasevento): static
{
if (!$this->categoriasevento->contains($categoriasevento)) {
$this->categoriasevento->add($categoriasevento);
}
return $this;
}
public function removeCategoriasevento(CategoriaEvento $categoriasevento): static
{
$this->categoriasevento->removeElement($categoriasevento);
return $this;
}
public function getType(): ?string
{
return $this->type;
}
public function setType(?string $type): static
{
$this->type = $type;
return $this;
}
public function getPropietarioContenidoEmisor(): ?PropietarioContenido
{
return $this->propietarioContenidoEmisor;
}
public function setPropietarioContenidoEmisor(?PropietarioContenido $propietarioContenidoEmisor): static
{
$this->propietarioContenidoEmisor = $propietarioContenidoEmisor;
return $this;
}
}