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