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 / DayOffFactory.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
DayOffFactory.php
42 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Schedule;
4
5 use AmeliaBooking\Domain\Entity\Schedule\DayOff;
6 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
7 use AmeliaBooking\Domain\Services\DateTime\DateTimeService;
8 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
9 use AmeliaBooking\Domain\ValueObjects\Number\Integer\DateRepeat;
10 use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue;
11 use AmeliaBooking\Domain\ValueObjects\String\Name;
12
13 /**
14 * Class DayOffFactory
15 *
16 * @package AmeliaBooking\Domain\Factory\Schedule
17 */
18 class DayOffFactory
19 {
20 /**
21 * @param array $data
22 *
23 * @return DayOff
24 * @throws InvalidArgumentException
25 */
26 public static function create($data)
27 {
28 $dayOff = new DayOff(
29 new Name($data['name']),
30 new DateTimeValue(DateTimeService::getCustomDateTimeObject($data['startDate'])),
31 new DateTimeValue(DateTimeService::getCustomDateTimeObject($data['endDate'])),
32 new DateRepeat($data['repeat'])
33 );
34
35 if (isset($data['id'])) {
36 $dayOff->setId(new Id($data['id']));
37 }
38
39 return $dayOff;
40 }
41 }
42