Completed
Pull Request — master (#3)
by Oleksandr
32:39 queued 22:11
created

EpiserverBusinessFactory::getSalesFacade()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 0
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\Episerver\Business;
9
10
use Spryker\Zed\Kernel\Business\AbstractBusinessFactory;
11
use SprykerEco\Zed\Episerver\Business\Api\Adapter\EpiserverApiAdapter;
12
use SprykerEco\Zed\Episerver\Business\Api\Adapter\EpiserverApiAdapterInterface;
13
use SprykerEco\Zed\Episerver\Business\Api\Adapter\Http\GuzzleAdapter;
14
use SprykerEco\Zed\Episerver\Business\Api\Adapter\Http\HttpAdapterInterface;
15
use SprykerEco\Zed\Episerver\Business\Api\Request\RequestUrlBuilder;
16
use SprykerEco\Zed\Episerver\Business\Api\Request\RequestUrlBuilderInterface;
17
use SprykerEco\Zed\Episerver\Business\Api\Response\ResponseConverter;
18
use SprykerEco\Zed\Episerver\Business\Api\Response\ResponseConverterInterface;
19
use SprykerEco\Zed\Episerver\Business\Handler\Customer\CustomerEventMailer;
20
use SprykerEco\Zed\Episerver\Business\Handler\Customer\CustomerEventMailerInterface;
21
use SprykerEco\Zed\Episerver\Business\Handler\Order\OrderEventMailer;
22
use SprykerEco\Zed\Episerver\Business\Handler\Order\OrderEventMailerInterface;
23
use SprykerEco\Zed\Episerver\Business\Mapper\Customer\CustomerMapper;
24
use SprykerEco\Zed\Episerver\Business\Mapper\Customer\CustomerMapperInterface;
25
use SprykerEco\Zed\Episerver\Business\Mapper\Customer\CustomerNewsletterMapper;
26
use SprykerEco\Zed\Episerver\Business\Mapper\Order\NewOrderMapper;
27
use SprykerEco\Zed\Episerver\Business\Mapper\Order\OrderCanceledMapper;
28
use SprykerEco\Zed\Episerver\Business\Mapper\Order\OrderMapperInterface;
29
use SprykerEco\Zed\Episerver\Business\Mapper\Order\PaymentNotReceivedMapper;
30
use SprykerEco\Zed\Episerver\Business\Mapper\Order\ShippingConfirmationMapper;
31
use SprykerEco\Zed\Episerver\Dependency\Facade\EpiserverToLocaleFacadeInterface;
32
use SprykerEco\Zed\Episerver\Dependency\Facade\EpiserverToMoneyFacadeInterface;
33
use SprykerEco\Zed\Episerver\Dependency\Facade\EpiserverToSalesFacadeInterface;
34
use SprykerEco\Zed\Episerver\EpiserverDependencyProvider;
35
36
/**
37
 * @method \SprykerEco\Zed\Episerver\EpiserverConfig getConfig()
38
 */
39
class EpiserverBusinessFactory extends AbstractBusinessFactory
40
{
41
    /**
42
     * @return \SprykerEco\Zed\Episerver\Business\Handler\Order\OrderEventMailerInterface
43
     */
44
    public function createShippingConfirmationEventMailer(): OrderEventMailerInterface
45
    {
46
        return new OrderEventMailer(
47
            $this->createShippingConfirmationMapper(),
48
            $this->createEpiserverApiAdapter(),
49
            $this->getSalesFacade()
50
        );
51
    }
52
53
    /**
54
     * @return \SprykerEco\Zed\Episerver\Business\Handler\Order\OrderEventMailerInterface
55
     */
56
    public function createPaymentNotReceivedEventMailer(): OrderEventMailerInterface
57
    {
58
        return new OrderEventMailer(
59
            $this->createPaymentNotReceivedMapper(),
60
            $this->createEpiserverApiAdapter(),
61
            $this->getSalesFacade()
62
        );
63
    }
64
65
    /**
66
     * @return \SprykerEco\Zed\Episerver\Business\Handler\Order\OrderEventMailerInterface
67
     */
68
    public function createOrderCancelledEventMailer(): OrderEventMailerInterface
69
    {
70
        return new OrderEventMailer(
71
            $this->createOrderCancelledMapper(),
72
            $this->createEpiserverApiAdapter(),
73
            $this->getSalesFacade()
74
        );
75
    }
76
77
    /**
78
     * @return \SprykerEco\Zed\Episerver\Business\Handler\Order\OrderEventMailerInterface
79
     */
80
    public function createNewOrderEventMailer(): OrderEventMailerInterface
81
    {
82
        return new OrderEventMailer(
83
            $this->createNewOrderMapper(),
84
            $this->createEpiserverApiAdapter(),
85
            $this->getSalesFacade()
86
        );
87
    }
88
89
    /**
90
     * @return \SprykerEco\Zed\Episerver\Business\Handler\Customer\CustomerEventMailerInterface
91
     */
92
    public function createCustomerEventMailer(): CustomerEventMailerInterface
93
    {
94
        return new CustomerEventMailer($this->createCustomerMapper(), $this->createEpiserverApiAdapter());
95
    }
96
97
    /**
98
     * @return \SprykerEco\Zed\Episerver\Business\Handler\Customer\CustomerEventMailerInterface
99
     */
100
    public function createNewsletterSubscriptionEventMailer(): CustomerEventMailerInterface
101
    {
102
        return new CustomerEventMailer($this->createCustomerNewsletterMapper(), $this->createEpiserverApiAdapter());
103
    }
104
105
    /**
106
     * @return \SprykerEco\Zed\Episerver\Dependency\Facade\EpiserverToMoneyFacadeInterface
107
     */
108
    public function getMoneyFacade(): EpiserverToMoneyFacadeInterface
109
    {
110
        return $this->getProvidedDependency(EpiserverDependencyProvider::FACADE_MONEY);
111
    }
112
113
    /**
114
     * @return \SprykerEco\Zed\Episerver\Dependency\Facade\EpiserverToLocaleFacadeInterface
115
     */
116
    public function getLocaleFacade(): EpiserverToLocaleFacadeInterface
117
    {
118
        return $this->getProvidedDependency(EpiserverDependencyProvider::FACADE_LOCALE);
119
    }
120
121
    /**
122
     * @return \SprykerEco\Zed\Episerver\Dependency\Facade\EpiserverToSalesFacadeInterface
123
     */
124
    public function getSalesFacade(): EpiserverToSalesFacadeInterface
125
    {
126
        return $this->getProvidedDependency(EpiserverDependencyProvider::FACADE_SALES);
127
    }
128
129
    /**
130
     * @return \SprykerEco\Zed\Episerver\Business\Api\Request\RequestUrlBuilderInterface
131
     */
132
    public function createRequestUrlBuilder(): RequestUrlBuilderInterface
133
    {
134
        return new RequestUrlBuilder($this->getConfig());
135
    }
136
137
    /**
138
     * @return \SprykerEco\Zed\Episerver\Business\Api\Response\ResponseConverterInterface
139
     */
140
    public function createResponseConverter(): ResponseConverterInterface
141
    {
142
        return new ResponseConverter();
143
    }
144
145
    /**
146
     * @return \SprykerEco\Zed\Episerver\Business\Api\Adapter\Http\HttpAdapterInterface
147
     */
148
    public function createGuzzleAdapter(): HttpAdapterInterface
149
    {
150
        return new GuzzleAdapter($this->getConfig());
151
    }
152
153
    /**
154
     * @return \SprykerEco\Zed\Episerver\Business\Api\Adapter\EpiserverApiAdapterInterface
155
     */
156
    public function createEpiserverApiAdapter(): EpiserverApiAdapterInterface
157
    {
158
        return new EpiserverApiAdapter(
159
            $this->createGuzzleAdapter(),
160
            $this->createRequestUrlBuilder(),
161
            $this->createResponseConverter()
162
        );
163
    }
164
165
    /**
166
     * @return \SprykerEco\Zed\Episerver\Business\Mapper\Customer\CustomerMapperInterface
167
     */
168
    public function createCustomerMapper(): CustomerMapperInterface
169
    {
170
        return new CustomerMapper($this->getConfig(), $this->getLocaleFacade());
171
    }
172
173
    /**
174
     * @return \SprykerEco\Zed\Episerver\Business\Mapper\Customer\CustomerMapperInterface
175
     */
176
    public function createCustomerNewsletterMapper(): CustomerMapperInterface
177
    {
178
        return new CustomerNewsletterMapper($this->getConfig(), $this->getLocaleFacade());
179
    }
180
181
    /**
182
     * @return \SprykerEco\Zed\Episerver\Business\Mapper\Order\OrderMapperInterface
183
     */
184
    public function createNewOrderMapper(): OrderMapperInterface
185
    {
186
        return new NewOrderMapper($this->getConfig(), $this->getMoneyFacade(), $this->getLocaleFacade());
187
    }
188
189
    /**
190
     * @return \SprykerEco\Zed\Episerver\Business\Mapper\Order\OrderMapperInterface
191
     */
192
    public function createPaymentNotReceivedMapper(): OrderMapperInterface
193
    {
194
        return new PaymentNotReceivedMapper($this->getConfig(), $this->getMoneyFacade(), $this->getLocaleFacade());
195
    }
196
197
    /**
198
     * @return \SprykerEco\Zed\Episerver\Business\Mapper\Order\OrderMapperInterface
199
     */
200
    public function createShippingConfirmationMapper(): OrderMapperInterface
201
    {
202
        return new ShippingConfirmationMapper($this->getConfig(), $this->getMoneyFacade(), $this->getLocaleFacade());
203
    }
204
205
    /**
206
     * @return \SprykerEco\Zed\Episerver\Business\Mapper\Order\OrderMapperInterface
207
     */
208
    public function createOrderCancelledMapper(): OrderMapperInterface
209
    {
210
        return new OrderCanceledMapper($this->getConfig(), $this->getMoneyFacade(), $this->getLocaleFacade());
211
    }
212
}
213