PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 / Notification / NotificationLogFactory.php
ameliabooking / src / Domain / Factory / Notification Last commit date
NotificationFactory.php 2 years ago NotificationLogFactory.php 4 years ago
NotificationLogFactory.php
75 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Notification;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\Entity\Notification\NotificationLog;
7 use AmeliaBooking\Domain\Services\DateTime\DateTimeService;
8 use AmeliaBooking\Domain\ValueObjects\BooleanValueObject;
9 use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue;
10 use AmeliaBooking\Domain\ValueObjects\Json;
11 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
12 use Exception;
13
14 /**
15 * Class NotificationLogFactory
16 *
17 * @package AmeliaBooking\Domain\Factory\Notification
18 */
19 class NotificationLogFactory
20 {
21 /**
22 * @param array $data
23 *
24 * @return NotificationLog
25 * @throws InvalidArgumentException
26 * @throws Exception
27 */
28 public static function create($data)
29 {
30 $notificationLog = new NotificationLog();
31
32 if (isset($data['id'])) {
33 $notificationLog->setId(new Id($data['id']));
34 }
35
36 if (isset($data['notificationId'])) {
37 $notificationLog->setNotificationsId(new Id($data['notificationId']));
38 }
39
40 if (isset($data['userId'])) {
41 $notificationLog->setUserId(new Id($data['userId']));
42 }
43
44 if (isset($data['appointmentId'])) {
45 $notificationLog->setAppointmentId(new Id($data['appointmentId']));
46 }
47
48 if (isset($data['eventId'])) {
49 $notificationLog->setEventId(new Id($data['eventId']));
50 }
51
52 if (isset($data['packageCustomerId'])) {
53 $notificationLog->setPackageCustomerId(new Id($data['packageCustomerId']));
54 }
55
56 if (isset($data['sentDateTime'])) {
57 $notificationLog->setSentDateTime(
58 new DateTimeValue(
59 DateTimeService::getCustomDateTimeObjectFromUtc($data['sentDateTime'])
60 )
61 );
62 }
63
64 if (isset($data['sent'])) {
65 $notificationLog->setSent(new BooleanValueObject($data['sent']));
66 }
67
68 if (isset($data['data'])) {
69 $notificationLog->setData(new Json($data['data']));
70 }
71
72 return $notificationLog;
73 }
74 }
75