Passed
Pull Request — feature/eco-2295/master (#7)
by Aleksey
03:55
created

createCaptureSplitOmsCommand()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 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\CrefoPay\Communication;
9
10
use Spryker\Zed\Kernel\Communication\AbstractCommunicationFactory;
11
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CancelOmsCommand;
12
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CaptureOmsCommand;
13
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CaptureSplitOmsCommand;
14
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByItemInterface;
15
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByOrderInterface;
16
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\FinishOmsCommand;
17
use SprykerEco\Zed\CrefoPay\Communication\Oms\Command\RefundOmsCommand;
18
use SprykerEco\Zed\CrefoPay\Communication\Oms\CrefoPayOmsMapper;
19
use SprykerEco\Zed\CrefoPay\Communication\Oms\CrefoPayOmsMapperInterface;
20
use SprykerEco\Zed\CrefoPay\CrefoPayDependencyProvider;
21
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToCalculationFacadeInterface;
22
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToRefundFacadeInterface;
23
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToSalesFacadeInterface;
24
25
/**
26
 * @method \SprykerEco\Zed\CrefoPay\Business\CrefoPayFacadeInterface getFacade()
27
 * @method \SprykerEco\Zed\CrefoPay\CrefoPayConfig getConfig()
28
 * @method \SprykerEco\Zed\CrefoPay\Persistence\CrefoPayEntityManagerInterface getEntityManager()
29
 * @method \SprykerEco\Zed\CrefoPay\Persistence\CrefoPayRepositoryInterface getRepository()
30
 */
31
class CrefoPayCommunicationFactory extends AbstractCommunicationFactory
32
{
33
    /**
34
     * @return \SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByOrderInterface
35
     */
36
    public function createCancelOmsCommand(): CrefoPayOmsCommandByOrderInterface
37
    {
38
        return new CancelOmsCommand(
39
            $this->createCrefoPayOmsMapper(),
40
            $this->getFacade(),
41
            $this->getConfig()
42
        );
43
    }
44
45
    /**
46
     * @return \SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByOrderInterface
47
     */
48
    public function createCaptureOmsCommand(): CrefoPayOmsCommandByOrderInterface
49
    {
50
        return new CaptureOmsCommand(
51
            $this->createCrefoPayOmsMapper(),
52
            $this->getFacade()
53
        );
54
    }
55
56
    /**
57
     * @return \SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByItemInterface
58
     */
59
    public function createCaptureSplitOmsCommand(): CrefoPayOmsCommandByItemInterface
60
    {
61
        return new CaptureSplitOmsCommand(
62
            $this->createCrefoPayOmsMapper(),
63
            $this->getFacade()
64
        );
65
    }
66
67
    /**
68
     * @return \SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByItemInterface
69
     */
70
    public function createRefundOmsCommand(): CrefoPayOmsCommandByItemInterface
71
    {
72
        return new RefundOmsCommand(
73
            $this->createCrefoPayOmsMapper(),
74
            $this->getFacade(),
75
            $this->getRefundFacade()
76
        );
77
    }
78
79
    /**
80
     * @return \SprykerEco\Zed\CrefoPay\Communication\Oms\Command\CrefoPayOmsCommandByOrderInterface
81
     */
82
    public function createFinishOmsCommand(): CrefoPayOmsCommandByOrderInterface
83
    {
84
        return new FinishOmsCommand(
85
            $this->createCrefoPayOmsMapper(),
86
            $this->getFacade(),
87
            $this->getConfig()
88
        );
89
    }
90
91
    /**
92
     * @return \SprykerEco\Zed\CrefoPay\Communication\Oms\CrefoPayOmsMapperInterface
93
     */
94
    public function createCrefoPayOmsMapper(): CrefoPayOmsMapperInterface
95
    {
96
        return new CrefoPayOmsMapper(
97
            $this->getSalesFacade(),
98
            $this->getCalculationFacade()
99
        );
100
    }
101
102
    /**
103
     * @return \SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToSalesFacadeInterface
104
     */
105
    public function getSalesFacade(): CrefoPayToSalesFacadeInterface
106
    {
107
        return $this->getProvidedDependency(CrefoPayDependencyProvider::FACADE_SALES);
108
    }
109
110
    /**
111
     * @return \SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToCalculationFacadeInterface
112
     */
113
    public function getCalculationFacade(): CrefoPayToCalculationFacadeInterface
114
    {
115
        return $this->getProvidedDependency(CrefoPayDependencyProvider::FACADE_CALCULATION);
116
    }
117
118
    /**
119
     * @return \SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToRefundFacadeInterface
120
     */
121
    public function getRefundFacade(): CrefoPayToRefundFacadeInterface
122
    {
123
        return $this->getProvidedDependency(CrefoPayDependencyProvider::FACADE_REFUND);
124
    }
125
}
126