<?phpdeclare(strict_types=1);namespace Croisiland\CommonBundle\Entity\Itinerary;use Crea\ToolsBundle\Entity\LifecycleUserIdentifierTrait;use Croisiland\CommonBundle\Entity\Traits\ListOrderTrait;use Croisiland\CommonBundle\Repository\Itinerary\ItineraryActivityRepository;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=ItineraryActivityRepository::class) */class ItineraryActivity implements ItineraryPartInterface{ use ListOrderTrait; use LifecycleUserIdentifierTrait; /** * @ORM\Id * * @ORM\GeneratedValue * * @ORM\Column(type="integer") */ private ?int $id = null; /** * @ORM\Column(type="integer", nullable=false) */ private ?int $dayNumber = null; /** * Delta en jours par rapport à la date de départ de la croisière * * @ORM\Column(type="integer", nullable=true) */ private ?int $dateDelta = null; /** * @ORM\Column(type="time", nullable=true) */ private ?\DateTimeInterface $startTime = null; /** * @ORM\Column(type="time", nullable=true) */ private ?\DateTimeInterface $endTime = null; /** * @ORM\ManyToOne(targetEntity=Itinerary::class, inversedBy="itineraryActivities") */ private ?Itinerary $itinerary = null; /** * @ORM\ManyToOne(targetEntity=Activity::class, inversedBy="itineraryActivities") * * @ORM\JoinColumn(nullable=true) */ private ?Activity $activity = null; public function getId(): ?int { return $this->id; } public function getDayNumber(): ?int { return $this->dayNumber; } public function setDayNumber(?int $dayNumber): self { $this->dayNumber = $dayNumber; return $this; } public function getDateDelta(): ?int { return $this->dateDelta; } public function setDateDelta(?int $dateDelta): self { $this->dateDelta = $dateDelta; return $this; } public function getStartTime(): ?\DateTimeInterface { return $this->startTime; } public function setStartTime(?\DateTimeInterface $startTime): self { $this->startTime = $startTime; return $this; } public function getEndTime(): ?\DateTimeInterface { return $this->endTime; } public function setEndTime(?\DateTimeInterface $endTime): self { $this->endTime = $endTime; return $this; } public function getItinerary(): ?Itinerary { return $this->itinerary; } public function setItinerary(?Itinerary $itinerary): self { $this->itinerary = $itinerary; return $this; } public function getActivity(): ?Activity { return $this->activity; } public function setActivity(?Activity $activity): self { $this->activity = $activity; return $this; } public function getStartTimeInSeconds(): ?int { if (null === $this->getStartTime()) { return null; } return ($this->getStartTime()->format('H') * 3600) + ($this->getStartTime()->format('i') * 60); } public function getEndTimeInSeconds(): ?int { if (null === $this->getEndTime()) { return null; } return ($this->getEndTime()->format('H') * 3600) + ($this->getEndTime()->format('i') * 60); }}