Completed
Pull Request — feature/eco-2295/master (#7)
by Aleksey
15:33 queued 04:30
created

RefundSplitOmsCommand::execute()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 2
dl 0
loc 10
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\Oms\Command;
9
10
use Orm\Zed\Sales\Persistence\SpySalesOrderItem;
0 ignored issues
show
Bug introduced by
The type Orm\Zed\Sales\Persistence\SpySalesOrderItem was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
11
use Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject;
12
use SprykerEco\Zed\CrefoPay\Business\CrefoPayFacadeInterface;
13
use SprykerEco\Zed\CrefoPay\Communication\Oms\CrefoPayOmsMapperInterface;
14
use SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToRefundFacadeInterface;
15
16
class RefundSplitOmsCommand implements CrefoPayOmsCommandByItemInterface
17
{
18
    /**
19
     * @var \SprykerEco\Zed\CrefoPay\Communication\Oms\CrefoPayOmsMapperInterface
20
     */
21
    protected $mapper;
22
23
    /**
24
     * @var \SprykerEco\Zed\CrefoPay\Business\CrefoPayFacadeInterface
25
     */
26
    protected $facade;
27
28
    /**
29
     * @var \SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToRefundFacadeInterface
30
     */
31
    protected $refundFacade;
32
33
    /**
34
     * @param \SprykerEco\Zed\CrefoPay\Communication\Oms\CrefoPayOmsMapperInterface $mapper
35
     * @param \SprykerEco\Zed\CrefoPay\Business\CrefoPayFacadeInterface $facade
36
     * @param \SprykerEco\Zed\CrefoPay\Dependency\Facade\CrefoPayToRefundFacadeInterface $refundFacade
37
     */
38
    public function __construct(
39
        CrefoPayOmsMapperInterface $mapper,
40
        CrefoPayFacadeInterface $facade,
41
        CrefoPayToRefundFacadeInterface $refundFacade
42
    ) {
43
        $this->mapper = $mapper;
44
        $this->facade = $facade;
45
        $this->refundFacade = $refundFacade;
46
    }
47
48
    /**
49
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $salesOrderItem
50
     * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
51
     *
52
     * @return void
53
     */
54
    public function execute(SpySalesOrderItem $salesOrderItem, ReadOnlyArrayObject $data): void
55
    {
56
        $orderTransfer = $this->mapper
57
            ->mapSpySalesOrderToOrderTransfer($salesOrderItem->getOrder());
58
59
        $refundTransfer = $this->refundFacade
60
            ->calculateRefund([$salesOrderItem], $salesOrderItem->getOrder());
61
62
        $this->facade
63
            ->executeRefundOmsCommand($refundTransfer, $orderTransfer, [$salesOrderItem->getIdSalesOrderItem()]);
64
    }
65
}
66