InxmailBusinessFactory   A
last analyzed

Complexity

Total Complexity 19

Size/Duplication

Total Lines 204
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 19
eloc 60
c 3
b 0
f 0
dl 0
loc 204
rs 10

19 Methods

Rating   Name   Duplication   Size   Complexity  
A createNewOrderMapper() 0 8 1
A createShippingConfirmationMapper() 0 8 1
A getUtilDateTimeService() 0 3 1
A getSalesFacade() 0 3 1
A createCustomerRegistrationEventHandler() 0 5 1
A createCustomerResetPasswordMapper() 0 5 1
A createOrderCanceledMapper() 0 8 1
A createCustomerResetPasswordEventHandler() 0 5 1
A createEventAdapter() 0 3 1
A getUtilEncodingService() 0 3 1
A createShippingConfirmationEventHandler() 0 6 1
A createCustomerRegistrationMapper() 0 5 1
A createNewOrderEventHandler() 0 6 1
A createOrderCanceledEventHandler() 0 6 1
A createPaymentNotReceivedEventHandler() 0 6 1
A getProductFacade() 0 3 1
A createPaymentNotReceivedMapper() 0 8 1
A getLocaleFacade() 0 3 1
A getMoneyFacade() 0 3 1
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Zed\Inxmail\Business;
9
10
use Spryker\Zed\Kernel\Business\AbstractBusinessFactory;
11
use SprykerEco\Zed\Inxmail\Business\Api\Adapter\AdapterInterface;
12
use SprykerEco\Zed\Inxmail\Business\Api\Adapter\EventAdapter;
13
use SprykerEco\Zed\Inxmail\Business\Handler\Customer\CustomerEventHandler;
14
use SprykerEco\Zed\Inxmail\Business\Handler\Customer\CustomerEventHandlerInterface;
15
use SprykerEco\Zed\Inxmail\Business\Handler\Order\OrderEventHandler;
16
use SprykerEco\Zed\Inxmail\Business\Handler\Order\OrderEventHandlerInterface;
17
use SprykerEco\Zed\Inxmail\Business\Mapper\Customer\CustomerMapperInterface;
18
use SprykerEco\Zed\Inxmail\Business\Mapper\Customer\CustomerRegistrationMapper;
19
use SprykerEco\Zed\Inxmail\Business\Mapper\Customer\CustomerResetPasswordMapper;
20
use SprykerEco\Zed\Inxmail\Business\Mapper\Order\NewOrderMapper;
21
use SprykerEco\Zed\Inxmail\Business\Mapper\Order\OrderCanceledMapper;
22
use SprykerEco\Zed\Inxmail\Business\Mapper\Order\OrderMapperInterface;
23
use SprykerEco\Zed\Inxmail\Business\Mapper\Order\PaymentNotReceivedMapper;
24
use SprykerEco\Zed\Inxmail\Business\Mapper\Order\ShippingConfirmationMapper;
25
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToLocaleFacadeInterface;
26
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToMoneyFacadeInterface;
27
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToProductFacadeInterface;
28
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToSalesFacadeInterface;
29
use SprykerEco\Zed\Inxmail\Dependency\Service\InxmailToUtilDateTimeServiceInterface;
30
use SprykerEco\Zed\Inxmail\Dependency\Service\InxmailToUtilEncodingServiceInterface;
31
use SprykerEco\Zed\Inxmail\InxmailDependencyProvider;
32
33
/**
34
 * @method \SprykerEco\Zed\Inxmail\InxmailConfig getConfig()
35
 * @method \SprykerEco\Zed\Inxmail\Persistence\InxmailQueryContainerInterface getQueryContainer()
36
 */
37
class InxmailBusinessFactory extends AbstractBusinessFactory
38
{
39
    /**
40
     * @return \SprykerEco\Zed\Inxmail\Business\Handler\Customer\CustomerEventHandlerInterface
41
     */
42
    public function createCustomerRegistrationEventHandler(): CustomerEventHandlerInterface
43
    {
44
        return new CustomerEventHandler(
45
            $this->createCustomerRegistrationMapper(),
46
            $this->createEventAdapter()
47
        );
48
    }
49
50
    /**
51
     * @return \SprykerEco\Zed\Inxmail\Business\Handler\Customer\CustomerEventHandlerInterface
52
     */
53
    public function createCustomerResetPasswordEventHandler(): CustomerEventHandlerInterface
54
    {
55
        return new CustomerEventHandler(
56
            $this->createCustomerResetPasswordMapper(),
57
            $this->createEventAdapter()
58
        );
59
    }
60
61
    /**
62
     * @return \SprykerEco\Zed\Inxmail\Business\Handler\Order\OrderEventHandlerInterface
63
     */
64
    public function createNewOrderEventHandler(): OrderEventHandlerInterface
65
    {
66
        return new OrderEventHandler(
67
            $this->createNewOrderMapper(),
68
            $this->createEventAdapter(),
69
            $this->getSalesFacade()
70
        );
71
    }
72
73
    /**
74
     * @return \SprykerEco\Zed\Inxmail\Business\Handler\Order\OrderEventHandlerInterface
75
     */
76
    public function createOrderCanceledEventHandler(): OrderEventHandlerInterface
77
    {
78
        return new OrderEventHandler(
79
            $this->createOrderCanceledMapper(),
80
            $this->createEventAdapter(),
81
            $this->getSalesFacade()
82
        );
83
    }
84
85
    /**
86
     * @return \SprykerEco\Zed\Inxmail\Business\Handler\Order\OrderEventHandlerInterface
87
     */
88
    public function createPaymentNotReceivedEventHandler(): OrderEventHandlerInterface
89
    {
90
        return new OrderEventHandler(
91
            $this->createPaymentNotReceivedMapper(),
92
            $this->createEventAdapter(),
93
            $this->getSalesFacade()
94
        );
95
    }
96
97
    /**
98
     * @return \SprykerEco\Zed\Inxmail\Business\Handler\Order\OrderEventHandlerInterface
99
     */
100
    public function createShippingConfirmationEventHandler(): OrderEventHandlerInterface
101
    {
102
        return new OrderEventHandler(
103
            $this->createShippingConfirmationMapper(),
104
            $this->createEventAdapter(),
105
            $this->getSalesFacade()
106
        );
107
    }
108
109
    /**
110
     * @return \SprykerEco\Zed\Inxmail\Business\Api\Adapter\AdapterInterface
111
     */
112
    public function createEventAdapter(): AdapterInterface
113
    {
114
        return new EventAdapter($this->getConfig(), $this->getUtilEncodingService());
115
    }
116
117
    /**
118
     * @return \SprykerEco\Zed\Inxmail\Business\Mapper\Customer\CustomerMapperInterface
119
     */
120
    public function createCustomerRegistrationMapper(): CustomerMapperInterface
121
    {
122
        return new CustomerRegistrationMapper(
123
            $this->getConfig(),
124
            $this->getLocaleFacade()
125
        );
126
    }
127
128
    /**
129
     * @return \SprykerEco\Zed\Inxmail\Business\Mapper\Customer\CustomerMapperInterface
130
     */
131
    public function createCustomerResetPasswordMapper(): CustomerMapperInterface
132
    {
133
        return new CustomerResetPasswordMapper(
134
            $this->getConfig(),
135
            $this->getLocaleFacade()
136
        );
137
    }
138
139
    /**
140
     * @return \SprykerEco\Zed\Inxmail\Business\Mapper\Order\OrderMapperInterface
141
     */
142
    public function createNewOrderMapper(): OrderMapperInterface
143
    {
144
        return new NewOrderMapper(
145
            $this->getConfig(),
146
            $this->getUtilDateTimeService(),
147
            $this->getMoneyFacade(),
148
            $this->getProductFacade(),
149
            $this->getLocaleFacade()
150
        );
151
    }
152
153
    /**
154
     * @return \SprykerEco\Zed\Inxmail\Business\Mapper\Order\OrderMapperInterface
155
     */
156
    public function createOrderCanceledMapper(): OrderMapperInterface
157
    {
158
        return new OrderCanceledMapper(
159
            $this->getConfig(),
160
            $this->getUtilDateTimeService(),
161
            $this->getMoneyFacade(),
162
            $this->getProductFacade(),
163
            $this->getLocaleFacade()
164
        );
165
    }
166
167
    /**
168
     * @return \SprykerEco\Zed\Inxmail\Business\Mapper\Order\OrderMapperInterface
169
     */
170
    public function createPaymentNotReceivedMapper(): OrderMapperInterface
171
    {
172
        return new PaymentNotReceivedMapper(
173
            $this->getConfig(),
174
            $this->getUtilDateTimeService(),
175
            $this->getMoneyFacade(),
176
            $this->getProductFacade(),
177
            $this->getLocaleFacade()
178
        );
179
    }
180
181
    /**
182
     * @return \SprykerEco\Zed\Inxmail\Business\Mapper\Order\OrderMapperInterface
183
     */
184
    public function createShippingConfirmationMapper(): OrderMapperInterface
185
    {
186
        return new ShippingConfirmationMapper(
187
            $this->getConfig(),
188
            $this->getUtilDateTimeService(),
189
            $this->getMoneyFacade(),
190
            $this->getProductFacade(),
191
            $this->getLocaleFacade()
192
        );
193
    }
194
195
    /**
196
     * @return \SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToSalesFacadeInterface
197
     */
198
    public function getSalesFacade(): InxmailToSalesFacadeInterface
199
    {
200
        return $this->getProvidedDependency(InxmailDependencyProvider::FACADE_SALES);
201
    }
202
203
    /**
204
     * @return \SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToMoneyFacadeInterface
205
     */
206
    public function getMoneyFacade(): InxmailToMoneyFacadeInterface
207
    {
208
        return $this->getProvidedDependency(InxmailDependencyProvider::FACADE_MONEY);
209
    }
210
211
    /**
212
     * @return \SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToProductFacadeInterface
213
     */
214
    public function getProductFacade(): InxmailToProductFacadeInterface
215
    {
216
        return $this->getProvidedDependency(InxmailDependencyProvider::FACADE_PRODUCT);
217
    }
218
219
    /**
220
     * @return \SprykerEco\Zed\Inxmail\Dependency\Service\InxmailToUtilDateTimeServiceInterface
221
     */
222
    public function getUtilDateTimeService(): InxmailToUtilDateTimeServiceInterface
223
    {
224
        return $this->getProvidedDependency(InxmailDependencyProvider::UTIL_DATE_TIME_SERVICE);
225
    }
226
227
    /**
228
     * @return \SprykerEco\Zed\Inxmail\Dependency\Service\InxmailToUtilEncodingServiceInterface
229
     */
230
    public function getUtilEncodingService(): InxmailToUtilEncodingServiceInterface
231
    {
232
        return $this->getProvidedDependency(InxmailDependencyProvider::UTIL_ENCODING_SERVICE);
233
    }
234
235
    /**
236
     * @return \SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToLocaleFacadeInterface
237
     */
238
    public function getLocaleFacade(): InxmailToLocaleFacadeInterface
239
    {
240
        return $this->getProvidedDependency(InxmailDependencyProvider::FACADE_LOCALE);
241
    }
242
}
243