FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
ameliabooking
/
src
/
Domain
/
Entity
/
Schedule
Edit File: WeekDay.php
<?php /** * @copyright © TMS-Plugins. All rights reserved. * @licence See LICENCE.md for license details. */ namespace AmeliaBooking\Domain\Entity\Schedule; use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id; use AmeliaBooking\Domain\ValueObjects\Number\Integer\IntegerValue; use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue; use AmeliaBooking\Domain\Collection\Collection; /** * Class WeekDay * * @package AmeliaBooking\Domain\Entity\Schedule */ class WeekDay { /** @var Id */ private $id; /** @var IntegerValue */ private $dayIndex; /** @var DateTimeValue */ private $startTime; /** @var DateTimeValue */ private $endTime; /** @var Collection */ private $timeOutList; /** @var Collection */ private $periodList; /** * WeekDay constructor. * * @param IntegerValue $dayIndex * @param DateTimeValue $startTime * @param DateTimeValue $endTime * @param Collection $timeOutList * @param Collection $periodList */ public function __construct( IntegerValue $dayIndex, DateTimeValue $startTime, DateTimeValue $endTime, Collection $timeOutList, Collection $periodList ) { $this->dayIndex = $dayIndex; $this->startTime = $startTime; $this->endTime = $endTime; $this->timeOutList = $timeOutList; $this->periodList = $periodList; } /** * @return Id */ public function getId() { return $this->id; } /** * @param Id $id */ public function setId(Id $id) { $this->id = $id; } /** * @return IntegerValue */ public function getDayIndex() { return $this->dayIndex; } /** * @param IntegerValue $dayIndex */ public function setDayIndex(IntegerValue $dayIndex) { $this->dayIndex = $dayIndex; } /** * @return DateTimeValue */ public function getStartTime() { return $this->startTime; } /** * @param DateTimeValue $startTime */ public function setStartTime(DateTimeValue $startTime) { $this->startTime = $startTime; } /** * @return DateTimeValue */ public function getEndTime() { return $this->endTime; } /** * @param DateTimeValue $endTime */ public function setEndTime(DateTimeValue $endTime) { $this->endTime = $endTime; } /** * @return Collection */ public function getTimeOutList() { return $this->timeOutList; } /** * @param Collection $timeOutList */ public function setTimeOutList(Collection $timeOutList) { $this->timeOutList = $timeOutList; } /** * @return Collection */ public function getPeriodList() { return $this->periodList; } /** * @param Collection $periodList */ public function setPeriodList(Collection $periodList) { $this->periodList = $periodList; } /** * @return array */ public function toArray() { return [ 'id' => null !== $this->getId() ? $this->getId()->getValue() : null, 'dayIndex' => $this->dayIndex->getValue(), 'startTime' => $this->startTime->getValue()->format('H:i:s'), 'endTime' => $this->endTime->getValue()->format('H:i:s') === '00:00:00' ? '24:00:00' : $this->endTime->getValue()->format('H:i:s'), 'timeOutList' => $this->timeOutList->toArray(), 'periodList' => $this->periodList->toArray(), ]; } }
Save
Back