PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 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 / Outlook / OutlookCalendarFactory.php
ameliabooking / src / Domain / Factory / Outlook Last commit date
OutlookCalendarFactory.php 2 months ago
OutlookCalendarFactory.php
53 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Outlook;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\Entity\Outlook\OutlookCalendar;
7 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
8 use AmeliaBooking\Domain\ValueObjects\String\Label;
9 use AmeliaBooking\Domain\ValueObjects\String\Token;
10
11 /**
12 * Class OutlookCalendarFactory
13 *
14 * @package AmeliaBooking\Domain\Factory\Outlook
15 */
16 class OutlookCalendarFactory
17 {
18 /**
19 * @param $data
20 *
21 * @return OutlookCalendar
22 * @throws InvalidArgumentException
23 */
24 public static function create($data)
25 {
26 $outlookCalendar = new OutlookCalendar(
27 new Token($data['token']),
28 new Label(empty($data['calendarId']) ? null : $data['calendarId'])
29 );
30
31 if (isset($data['id'])) {
32 $outlookCalendar->setId(new Id($data['id']));
33 }
34 if (isset($data['insertPendingAppointments'])) {
35 $outlookCalendar->setInsertPendingAppointments((bool)$data['insertPendingAppointments']);
36 }
37
38 if (isset($data['includeBufferTime'])) {
39 $outlookCalendar->setIncludeBufferTime((bool)$data['includeBufferTime']);
40 }
41
42 if (isset($data['title'])) {
43 $outlookCalendar->setTitle($data['title']);
44 }
45
46 if (isset($data['description'])) {
47 $outlookCalendar->setDescription($data['description']);
48 }
49
50 return $outlookCalendar;
51 }
52 }
53