PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 / Infrastructure / Licence / Lite / DomainService.php
ameliabooking / src / Infrastructure / Licence / Lite Last commit date
ApplicationService.php 8 months ago DataModifier.php 4 months ago DomainService.php 2 years ago EventListener.php 1 year ago InfrastructureService.php 4 months ago Licence.php 3 months ago
DomainService.php
130 lines
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\Licence\Lite;
4
5 use AmeliaBooking\Domain\Services as DomainServices;
6 use Interop\Container\Exception\ContainerException;
7
8 /**
9 * Class DomainService
10 *
11 * @package AmeliaBooking\Infrastructure\Licence\Lite
12 */
13 class DomainService
14 {
15 /**
16 * Container $c
17 *
18 * @return DomainServices\Permissions\PermissionsService
19 * @throws ContainerException
20 */
21 public static function getPermissionService($c)
22 {
23 return new DomainServices\Permissions\PermissionsService(
24 $c,
25 new \AmeliaBooking\Infrastructure\WP\PermissionsService\PermissionsChecker()
26 );
27 }
28
29 /**
30 * @return DomainServices\Api\BasicApiService
31 */
32 public static function getApiService()
33 {
34 return new DomainServices\Api\BasicApiService();
35 }
36
37 /**
38 * @return DomainServices\Resource\AbstractResourceService
39 */
40 public static function getResourceService()
41 {
42 $intervalService = new DomainServices\Interval\IntervalService();
43
44 $locationService = new DomainServices\Location\LocationService();
45
46 $providerService = new DomainServices\User\ProviderService(
47 $intervalService
48 );
49
50 $scheduleService = new DomainServices\Schedule\ScheduleService(
51 $intervalService,
52 $providerService,
53 $locationService
54 );
55
56 return new DomainServices\Resource\BasicResourceService(
57 $intervalService,
58 $scheduleService
59 );
60 }
61
62 /**
63 * @return DomainServices\Entity\EntityService
64 */
65 public static function getEntityService()
66 {
67 $intervalService = new DomainServices\Interval\IntervalService();
68
69 $locationService = new DomainServices\Location\LocationService();
70
71 $providerService = new DomainServices\User\ProviderService(
72 $intervalService
73 );
74
75 $scheduleService = new DomainServices\Schedule\ScheduleService(
76 $intervalService,
77 $providerService,
78 $locationService
79 );
80
81 $resourceService = new DomainServices\Resource\BasicResourceService(
82 $intervalService,
83 $scheduleService
84 );
85
86 return new DomainServices\Entity\EntityService(
87 $providerService,
88 $resourceService
89 );
90 }
91
92 /**
93 * @return DomainServices\TimeSlot\TimeSlotService
94 */
95 public static function getTimeSlotService()
96 {
97 $intervalService = new DomainServices\Interval\IntervalService();
98
99 $locationService = new DomainServices\Location\LocationService();
100
101 $providerService = new DomainServices\User\ProviderService(
102 $intervalService
103 );
104
105 $scheduleService = new DomainServices\Schedule\ScheduleService(
106 $intervalService,
107 $providerService,
108 $locationService
109 );
110
111 $resourceService = new DomainServices\Resource\BasicResourceService(
112 $intervalService,
113 $scheduleService
114 );
115
116 $entityService = new DomainServices\Entity\EntityService(
117 $providerService,
118 $resourceService
119 );
120
121 return new DomainServices\TimeSlot\TimeSlotService(
122 $intervalService,
123 $scheduleService,
124 $providerService,
125 $resourceService,
126 $entityService
127 );
128 }
129 }
130