src/Entity/Vs/VsTyp.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Vs;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. #[ORM\Entity]
  7. #[ORM\Table(name: 'vstyp')]
  8. class VsTyp implements \Stringable
  9. {
  10. public const int TYP_EINZEL_VS = 1; // ID aus DB
  11. public const int TYP_DAUER_VS = 2; // ID aus DB
  12. public const int TYP_OHNE_FIXDATUM_VS = 3; // ID aus DB
  13. #[ORM\Column(name: 'id', type: 'integer')]
  14. #[ORM\Id]
  15. #[ORM\GeneratedValue(strategy: 'AUTO')]
  16. private ?int $id = null;
  17. #[ORM\Column(name: 'typname', type: 'string', length: 200, unique: false, nullable: true)]
  18. private ?string $typname = null;
  19. #[ORM\OneToMany(mappedBy: 'typ', targetEntity: Vs::class)]
  20. private Collection $vss;
  21. public function __construct()
  22. {
  23. $this->vss = new ArrayCollection();
  24. }
  25. public function getId(): ?int
  26. {
  27. return $this->id;
  28. }
  29. public function setId(?int $id): VsTyp
  30. {
  31. $this->id = $id;
  32. return $this;
  33. }
  34. public function getTypname(): ?string
  35. {
  36. return $this->typname;
  37. }
  38. public function setTypname(?string $typname): VsTyp
  39. {
  40. $this->typname = $typname;
  41. return $this;
  42. }
  43. public function getTypenameShort(): string
  44. {
  45. return strtoupper(substr($this->getTypname(), 0, 1));
  46. }
  47. public function addVss(Vs $vss): static
  48. {
  49. $this->vss[] = $vss;
  50. return $this;
  51. }
  52. public function removeVss(Vs $vss): void
  53. {
  54. $this->vss->removeElement($vss);
  55. }
  56. public function getVss(): ArrayCollection|Collection
  57. {
  58. return $this->vss;
  59. }
  60. // Helpers
  61. public function isEinzelveranstaltung(): bool
  62. {
  63. return $this->id === self::TYP_EINZEL_VS;
  64. }
  65. public function isDauerveranstaltung(): bool
  66. {
  67. return $this->id === self::TYP_DAUER_VS;
  68. }
  69. public function isOhneFixdatum(): bool
  70. {
  71. return $this->id === self::TYP_OHNE_FIXDATUM_VS;
  72. }
  73. #[\Override]
  74. public function __toString(): string
  75. {
  76. return $this->getTypname();
  77. }
  78. }