PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / Factory / Schedule / TimeOutFactory.php
ameliabooking / src / Domain / Factory / Schedule Last commit date
BlockTimeFactory.php 2 months ago DayOffFactory.php 5 years ago PeriodFactory.php 2 years ago PeriodLocationFactory.php 3 years ago PeriodServiceFactory.php 7 years ago SpecialDayFactory.php 7 years ago SpecialDayPeriodFactory.php 2 years ago SpecialDayPeriodLocationFactory.php 3 years ago SpecialDayPeriodServiceFactory.php 7 years ago TimeOutFactory.php 7 years ago WeekDayFactory.php 7 years ago
TimeOutFactory.php
32 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Schedule;
4
5 use AmeliaBooking\Domain\Entity\Schedule\TimeOut;
6 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
7 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
8 use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue;
9
10 class TimeOutFactory
11 {
12 /**
13 * @param array $data
14 *
15 * @return TimeOut
16 * @throws InvalidArgumentException
17 */
18 public static function create($data)
19 {
20 $timeOut = new TimeOut(
21 new DateTimeValue(\DateTime::createFromFormat('H:i:s', $data['startTime'])),
22 new DateTimeValue(\DateTime::createFromFormat('H:i:s', $data['endTime']))
23 );
24
25 if (isset($data['id'])) {
26 $timeOut->setId(new Id($data['id']));
27 }
28
29 return $timeOut;
30 }
31 }
32