src/Entity/NoDisponibilidadAnual.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\DBAL\Types\Types;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Serializer\Annotation\Groups;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. /**
  8. * @ORM\Entity
  9. * @ORM\Table(name="no_disponibilidad_anual")
  10. */
  11. class NoDisponibilidadAnual extends \App\Entity\BaseEntity
  12. {
  13. /**
  14. * @ORM\Id
  15. * @ORM\Column(type="integer")
  16. * @ORM\GeneratedValue(strategy="AUTO")
  17. * @Groups({"recurso_read", "recurso_write"})
  18. */
  19. private $id;
  20. /**
  21. * @ORM\Column(type="date", nullable=true, name="fecha_inicio")
  22. * @Groups({"recurso_read", "recurso_write"})
  23. * @Assert\NotBlank(message="Debe especificar una fecha de inicio")
  24. */
  25. private $fechaInicio;
  26. /**
  27. * @ORM\Column(type="date", nullable=true, name="fecha_fin")
  28. * @Groups({"recurso_read", "recurso_write"})
  29. * @Assert\NotBlank(message="Debe especificar una fecha de fin")
  30. */
  31. private $fechaFin;
  32. /**
  33. * @ORM\ManyToOne(targetEntity=\App\Entity\Recurso::class, inversedBy="noDisponibilidadAnual")
  34. * @ORM\JoinColumn(name="recurso_id", referencedColumnName="id", onDelete="CASCADE")
  35. */
  36. private $recurso;
  37. /**
  38. * @ORM\Column(type="datetime", nullable=true)
  39. * @Groups({"recurso_read"})
  40. */
  41. private $fechaCreacion;
  42. /**
  43. * @ORM\Column(type="datetime", nullable=true)
  44. * @Groups({"recurso_read"})
  45. */
  46. private $fechaActualizacion;
  47. public function __construct()
  48. {
  49. $this->fechaCreacion = new \DateTime();
  50. $this->fechaActualizacion = new \DateTime();
  51. }
  52. public function getId(): ?int
  53. {
  54. return $this->id;
  55. }
  56. public function setId($id)
  57. {
  58. $this->id = $id;
  59. return $this;
  60. }
  61. public function getFechaInicio(): ?\DateTimeInterface
  62. {
  63. return $this->fechaInicio;
  64. }
  65. public function setFechaInicio(?\DateTimeInterface $fechaInicio): static
  66. {
  67. $this->fechaInicio = $fechaInicio;
  68. return $this;
  69. }
  70. public function getFechaFin(): ?\DateTimeInterface
  71. {
  72. return $this->fechaFin;
  73. }
  74. public function setFechaFin(?\DateTimeInterface $fechaFin): static
  75. {
  76. $this->fechaFin = $fechaFin;
  77. return $this;
  78. }
  79. public function getRecurso(): ?Recurso
  80. {
  81. return $this->recurso;
  82. }
  83. public function setRecurso(?Recurso $recurso): static
  84. {
  85. $this->recurso = $recurso;
  86. return $this;
  87. }
  88. public function getDescripcion(): ?string
  89. {
  90. return $this->descripcion;
  91. }
  92. public function setDescripcion(?string $descripcion): static
  93. {
  94. $this->descripcion = $descripcion;
  95. return $this;
  96. }
  97. public function getFechaCreacion(): ?\DateTime
  98. {
  99. return $this->fechaCreacion;
  100. }
  101. public function setFechaCreacion(?\DateTime $fechaCreacion): static
  102. {
  103. $this->fechaCreacion = $fechaCreacion;
  104. return $this;
  105. }
  106. public function getFechaActualizacion(): ?\DateTime
  107. {
  108. return $this->fechaActualizacion;
  109. }
  110. public function setFechaActualizacion(?\DateTime $fechaActualizacion): static
  111. {
  112. $this->fechaActualizacion = $fechaActualizacion;
  113. return $this;
  114. }
  115. public function __toString(): string
  116. {
  117. $fechaInicioTexto = $this->fechaInicio ? $this->fechaInicio->format('d/m/Y') : '--/--/----';
  118. $fechaFinTexto = $this->fechaFin ? $this->fechaFin->format('d/m/Y') : '--/--/----';
  119. return "Del {$fechaInicioTexto} al {$fechaFinTexto}" .
  120. ($this->descripcion ? " - {$this->descripcion}" : '');
  121. }
  122. }