<?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table(name="no_disponibilidad_anual")
*/
class NoDisponibilidadAnual extends \App\Entity\BaseEntity
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @Groups({"recurso_read", "recurso_write"})
*/
private $id;
/**
* @ORM\Column(type="date", nullable=true, name="fecha_inicio")
* @Groups({"recurso_read", "recurso_write"})
* @Assert\NotBlank(message="Debe especificar una fecha de inicio")
*/
private $fechaInicio;
/**
* @ORM\Column(type="date", nullable=true, name="fecha_fin")
* @Groups({"recurso_read", "recurso_write"})
* @Assert\NotBlank(message="Debe especificar una fecha de fin")
*/
private $fechaFin;
/**
* @ORM\ManyToOne(targetEntity=\App\Entity\Recurso::class, inversedBy="noDisponibilidadAnual")
* @ORM\JoinColumn(name="recurso_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $recurso;
/**
* @ORM\Column(type="datetime", nullable=true)
* @Groups({"recurso_read"})
*/
private $fechaCreacion;
/**
* @ORM\Column(type="datetime", nullable=true)
* @Groups({"recurso_read"})
*/
private $fechaActualizacion;
public function __construct()
{
$this->fechaCreacion = new \DateTime();
$this->fechaActualizacion = new \DateTime();
}
public function getId(): ?int
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
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 getRecurso(): ?Recurso
{
return $this->recurso;
}
public function setRecurso(?Recurso $recurso): static
{
$this->recurso = $recurso;
return $this;
}
public function getDescripcion(): ?string
{
return $this->descripcion;
}
public function setDescripcion(?string $descripcion): static
{
$this->descripcion = $descripcion;
return $this;
}
public function getFechaCreacion(): ?\DateTime
{
return $this->fechaCreacion;
}
public function setFechaCreacion(?\DateTime $fechaCreacion): static
{
$this->fechaCreacion = $fechaCreacion;
return $this;
}
public function getFechaActualizacion(): ?\DateTime
{
return $this->fechaActualizacion;
}
public function setFechaActualizacion(?\DateTime $fechaActualizacion): static
{
$this->fechaActualizacion = $fechaActualizacion;
return $this;
}
public function __toString(): string
{
$fechaInicioTexto = $this->fechaInicio ? $this->fechaInicio->format('d/m/Y') : '--/--/----';
$fechaFinTexto = $this->fechaFin ? $this->fechaFin->format('d/m/Y') : '--/--/----';
return "Del {$fechaInicioTexto} al {$fechaFinTexto}" .
($this->descripcion ? " - {$this->descripcion}" : '');
}
}