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 / Booking / Event / EventTicketFactory.php
ameliabooking / src / Domain / Factory / Booking / Event Last commit date
CustomerBookingEventPeriodFactory.php 6 months ago CustomerBookingEventTicketFactory.php 6 months ago EventFactory.php 2 weeks ago EventPeriodFactory.php 6 months ago EventTagFactory.php 6 months ago EventTicketFactory.php 6 months ago RecurringFactory.php 6 months ago
EventTicketFactory.php
80 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Domain\Factory\Booking\Event;
9
10 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
11 use AmeliaBooking\Domain\Entity\Booking\Event\EventTicket;
12 use AmeliaBooking\Domain\ValueObjects\BooleanValueObject;
13 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
14 use AmeliaBooking\Domain\ValueObjects\Number\Integer\IntegerValue;
15 use AmeliaBooking\Domain\ValueObjects\String\Name;
16 use AmeliaBooking\Domain\ValueObjects\Number\Float\Price;
17 use AmeliaBooking\Domain\ValueObjects\Json;
18
19 /**
20 * Class EventTicketFactory
21 *
22 * @package AmeliaBooking\Domain\Factory\Booking\Event
23 */
24 class EventTicketFactory
25 {
26 /**
27 * @param $data
28 *
29 * @return EventTicket
30 * @throws InvalidArgumentException
31 */
32
33 public static function create($data)
34 {
35 $eventTicket = new EventTicket();
36
37 if (isset($data['id'])) {
38 $eventTicket->setId(new Id($data['id']));
39 }
40
41 if (isset($data['eventId'])) {
42 $eventTicket->setEventId(new Id($data['eventId']));
43 }
44
45 if (isset($data['name'])) {
46 $eventTicket->setName(new Name($data['name']));
47 }
48
49 if (isset($data['enabled'])) {
50 $eventTicket->setEnabled(new BooleanValueObject($data['enabled']));
51 }
52
53 if (isset($data['price'])) {
54 $eventTicket->setPrice(new Price($data['price']));
55 }
56
57 if (isset($data['spots'])) {
58 $eventTicket->setSpots(new IntegerValue($data['spots']));
59 }
60
61 if (isset($data['waitingListSpots'])) {
62 $eventTicket->setWaitingListSpots(new IntegerValue($data['waitingListSpots']));
63 }
64
65 if (isset($data['dateRanges'])) {
66 $eventTicket->setDateRanges(new Json($data['dateRanges']));
67 }
68
69 if (isset($data['sold'])) {
70 $eventTicket->setSold(new IntegerValue($data['sold']));
71 }
72
73 if (!empty($data['translations'])) {
74 $eventTicket->setTranslations(new Json($data['translations']));
75 }
76
77 return $eventTicket;
78 }
79 }
80