RiskCheckRequestConverter   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 101
Duplicated Lines 0 %

Importance

Changes 9
Bugs 0 Features 0
Metric Value
eloc 44
c 9
b 0
f 0
dl 0
loc 101
rs 10
wmc 7

5 Methods

Rating   Name   Duplication   Size   Complexity  
A convertDeliveryCustomer() 0 12 1
A convertCustomerAddress() 0 9 1
A convertOrder() 0 23 2
A convertBillingCustomer() 0 12 1
A convert() 0 9 2
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\ArvatoRss\Business\Api\Converter;
9
10
use Generated\Shared\Transfer\ArvatoRssCustomerAddressTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...CustomerAddressTransfer 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 Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...iskCheckRequestTransfer 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...
12
use SprykerEco\Zed\ArvatoRss\Business\Api\ArvatoRssRequestApiConfig;
13
14
class RiskCheckRequestConverter implements RiskCheckRequestConverterInterface
15
{
16
    /**
17
     * @param \Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer
18
     *
19
     * @return array
20
     */
21
    public function convert(ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer)
22
    {
23
        $result = $this->convertBillingCustomer($arvatoRssRiskCheckRequestTransfer);
24
        if ($arvatoRssRiskCheckRequestTransfer->getDeliveryCustomer()) {
25
            $result += $this->convertDeliveryCustomer($arvatoRssRiskCheckRequestTransfer);
26
        }
27
        $result += $this->convertOrder($arvatoRssRiskCheckRequestTransfer);
28
29
        return $result;
30
    }
31
32
    /**
33
     * @param \Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer
34
     *
35
     * @return array
36
     */
37
    protected function convertBillingCustomer(ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer)
38
    {
39
        $result = [];
40
        $billingCustomerTransfer = $arvatoRssRiskCheckRequestTransfer->getBillingCustomer();
41
        $customerAddressTransfer = $billingCustomerTransfer->getAddress();
42
        $result[ArvatoRssRequestApiConfig::ARVATORSS_API_BILLINGCUSTOMER] = [
43
            ArvatoRssRequestApiConfig::ARVATORSS_API_FIRSTNAME => $billingCustomerTransfer->getFirstName(),
44
            ArvatoRssRequestApiConfig::ARVATORSS_API_LASTNAME => $billingCustomerTransfer->getLastName(),
45
            ArvatoRssRequestApiConfig::ARVATORSS_API_ADDRESS => $this->convertCustomerAddress($customerAddressTransfer),
46
        ];
47
48
        return $result;
49
    }
50
51
    /**
52
     * @param \Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer
53
     *
54
     * @return array
55
     */
56
    protected function convertDeliveryCustomer(ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer)
57
    {
58
        $result = [];
59
        $deliveryCustomerTransfer = $arvatoRssRiskCheckRequestTransfer->getDeliveryCustomer();
60
        $customerAddressTransfer = $deliveryCustomerTransfer->getAddress();
61
        $result[ArvatoRssRequestApiConfig::ARVATORSS_API_DELIVERYCUSTOMER] = [
62
            ArvatoRssRequestApiConfig::ARVATORSS_API_FIRSTNAME => $deliveryCustomerTransfer->getFirstName(),
63
            ArvatoRssRequestApiConfig::ARVATORSS_API_LASTNAME => $deliveryCustomerTransfer->getLastName(),
64
            ArvatoRssRequestApiConfig::ARVATORSS_API_ADDRESS => $this->convertCustomerAddress($customerAddressTransfer),
65
        ];
66
67
        return $result;
68
    }
69
70
    /**
71
     * @param \Generated\Shared\Transfer\ArvatoRssCustomerAddressTransfer $customerAddressTransfer
72
     *
73
     * @return array
74
     */
75
    protected function convertCustomerAddress(ArvatoRssCustomerAddressTransfer $customerAddressTransfer)
76
    {
77
        return [
78
            ArvatoRssRequestApiConfig::ARVATORSS_API_COUNTRY => $customerAddressTransfer->getCountry(),
79
            ArvatoRssRequestApiConfig::ARVATORSS_API_CITY => $customerAddressTransfer->getCity(),
80
            ArvatoRssRequestApiConfig::ARVATORSS_API_STREET => $customerAddressTransfer->getStreet(),
81
            ArvatoRssRequestApiConfig::ARVATORSS_API_STREET_NUMBER => $customerAddressTransfer->getStreetNumber(),
82
            ArvatoRssRequestApiConfig::ARVATORSS_API_ZIPCODE => $customerAddressTransfer->getZipCode(),
83
            ArvatoRssRequestApiConfig::ARVATORSS_API_STREET_NUMBER_ADDITIONAL => $customerAddressTransfer->getStreetNumberAdditional(),
84
        ];
85
    }
86
87
    /**
88
     * @param \Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer
89
     *
90
     * @return array
91
     */
92
    protected function convertOrder(ArvatoRssRiskCheckRequestTransfer $arvatoRssRiskCheckRequestTransfer)
93
    {
94
        $result = [];
95
        $order = $arvatoRssRiskCheckRequestTransfer->getOrder();
96
97
        $result[ArvatoRssRequestApiConfig::ARVATORSS_API_ORDER] = [
98
            ArvatoRssRequestApiConfig::ARVATORSS_API_REGISTEREDORDER => $order->getRegisteredOrder(),
99
            ArvatoRssRequestApiConfig::ARVATORSS_API_CURRENCY => $order->getCurrency(),
100
            ArvatoRssRequestApiConfig::ARVATORSS_API_GROSSTOTALBILL => $order->getGrossTotalBill(),
101
            ArvatoRssRequestApiConfig::ARVATORSS_API_TOTALORDERVALUE => $order->getTotalOrderValue(),
102
        ];
103
        $result[ArvatoRssRequestApiConfig::ARVATORSS_API_ORDER][ArvatoRssRequestApiConfig::ARVATORSS_API_ITEM] = [];
104
105
        foreach ($order->getItems() as $item) {
106
            $result[ArvatoRssRequestApiConfig::ARVATORSS_API_ORDER][ArvatoRssRequestApiConfig::ARVATORSS_API_ITEM][] = [
107
                ArvatoRssRequestApiConfig::ARVATORSS_API_PRODUCTNUMBER => $item->getProductNumber(),
108
                ArvatoRssRequestApiConfig::ARVATORSS_API_PRODUCTGROUPID => $item->getProductGroupId(),
109
                ArvatoRssRequestApiConfig::ARVATORSS_API_UNITPRICE => $item->getUnitPrice(),
110
                ArvatoRssRequestApiConfig::ARVATORSS_API_UNITCOUNT => $item->getUnitCount(),
111
            ];
112
        }
113
114
        return $result;
115
    }
116
}
117