<?php
namespace App\Asistencia\Entity;
use App\Core\Entity\Color;
use App\Core\Entity\Curso;
use App\Entity\Archivo;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @ORM\Entity(repositoryClass="App\Asistencia\Repository\AnuncioRepository")
* @Vich\Uploadable()
*/
class Anuncio
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=100)
*/
private $titulo;
/**
* @ORM\Column(type="text")
*/
private $descripcion;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $fecha;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $fechaPublicacion;
/**
* @ORM\Column(type="time", nullable=true)
*/
private $horaInicio;
/**
* @ORM\Column(type="time", nullable=true)
*/
private $horaFin;
/**
* @ORM\ManyToOne(targetEntity="App\Core\Entity\Curso", inversedBy="anuncios")
* @ORM\JoinColumn(nullable=false)
*/
private $curso;
/**
* @ORM\ManyToOne(targetEntity="App\Core\Entity\Color")
* @ORM\JoinColumn(nullable=false)
*/
private $color;
/**
* NOTE: This is not a mapped field of entity metadata, just a simple property.
*
* @Vich\UploadableField(mapping="archivo_anuncio", fileNameProperty="nombreArchivo", size="tamanioArchivo")
*
* @var File|null
*/
private $archivoFS;
/**
* @ORM\Column(type="string", length=200, nullable=true)
*
* @var string|null
*/
private $nombreArchivo;
/**
* @ORM\Column(type="integer", nullable=true)
*
* @var int|null
*/
private $tamanioArchivo;
/**
* @ORM\Column(type="boolean", nullable=false)
*/
private $esEvento;
/**
* @ORM\ManyToOne(targetEntity=Archivo::class)
*/
private $archivo;
public function getId(): ?int
{
return $this->id;
}
public function getTitulo(): ?string
{
return $this->titulo;
}
public function setTitulo(string $titulo): self
{
$this->titulo = $titulo;
return $this;
}
public function getDescripcion(): ?string
{
return $this->descripcion;
}
public function setDescripcion(string $descripcion): self
{
$this->descripcion = $descripcion;
return $this;
}
public function getFecha(): ?\DateTimeInterface
{
return $this->fecha;
}
public function setFecha(?\DateTimeInterface $fecha): self
{
$this->fecha = $fecha;
return $this;
}
public function getFechaPublicacion(): ?\DateTimeInterface
{
return $this->fechaPublicacion;
}
public function setFechaPublicacion(?\DateTimeInterface $fechaPublicacion): self
{
$this->fechaPublicacion = $fechaPublicacion;
return $this;
}
public function getHoraInicio(): ?\DateTimeInterface
{
return $this->horaInicio;
}
public function setHoraInicio(?\DateTimeInterface $horaInicio): self
{
$this->horaInicio = $horaInicio;
return $this;
}
public function getHoraFin(): ?\DateTimeInterface
{
return $this->horaFin;
}
public function setHoraFin(?\DateTimeInterface $horaFin): self
{
$this->horaFin = $horaFin;
return $this;
}
public function getCurso(): ?Curso
{
return $this->curso;
}
public function setCurso(?Curso $curso): self
{
$this->curso = $curso;
return $this;
}
public function getColor(): ?Color
{
return $this->color;
}
public function setColor(?Color $color): self
{
$this->color = $color;
return $this;
}
/**
* If manually uploading a file (i.e. not using Symfony Form) ensure an instance
* of 'UploadedFile' is injected into this setter to trigger the update. If this
* bundle's configuration parameter 'inject_on_load' is set to 'true' this setter
* must be able to accept an instance of 'File' as the bundle will inject one here
* during Doctrine hydration.
*
* @param File|UploadedFile|null $uploadedFile
*/
public function setArchivoFS(?File $archivoFS = null): void
{
$this->archivoFS = $archivoFS;
if (null !== $archivoFS) {
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
$this->setTamanioArchivo($archivoFS->getSize());
}
}
public function getArchivoFS(): ?File
{
return $this->archivoFS;
}
public function setNombreArchivo(?string $nombreArchivo): void
{
$this->nombreArchivo = $nombreArchivo;
}
public function getNombreArchivo(): ?string
{
return $this->nombreArchivo;
}
public function setTamanioArchivo(?int $tamanioArchivo): void
{
$this->tamanioArchivo = $tamanioArchivo;
}
public function getTamanioArchivo(): ?int
{
return $this->tamanioArchivo;
}
public function getEsEvento(): ?bool
{
return $this->esEvento;
}
public function setEsEvento(bool $esEvento): self
{
$this->esEvento = $esEvento;
return $this;
}
public function getArchivo(): ?Archivo
{
return $this->archivo;
}
public function setArchivo(?Archivo $archivo): self
{
$this->archivo = $archivo;
return $this;
}
}