Code Duplication    Length = 158-162 lines in 2 locations

src/SprykerEco/Zed/Amazonpay/Business/Converter/AmazonpayEntityToTransferConverter.php 1 location

@@ 19-180 (lines=162) @@
16
use Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay;
17
use SprykerEco\Shared\Amazonpay\AmazonpayConstants;
18
19
class AmazonpayEntityToTransferConverter implements AmazonpayEntityToTransferConverterInterface
20
{
21
22
    /**
23
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
24
     *
25
     * @return \Generated\Shared\Transfer\AmazonpayPaymentTransfer
26
     */
27
    public function mapEntityToTransfer(SpyPaymentAmazonpay $entity)
28
    {
29
        $responseHeader = new AmazonpayResponseHeaderTransfer();
30
        $responseHeader->setIsSuccess(true);
31
32
        $paymentTransfer = new AmazonpayPaymentTransfer();
33
        $paymentTransfer->fromArray($entity->toArray(), true);
34
        $paymentTransfer->setResponseHeader($responseHeader);
35
        $paymentTransfer->setOrderReferenceStatus(new AmazonpayStatusTransfer());
36
        $paymentTransfer->setAuthorizationDetails($this->getAuthorizationDetailsTransfer($entity));
37
        $paymentTransfer->setCaptureDetails($this->getCaptureDetailsTransfer($entity));
38
        $paymentTransfer->setRefundDetails($this->getAmazonpayRefundDetailsTransfer($entity));
39
40
        return $paymentTransfer;
41
    }
42
43
    /**
44
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
45
     *
46
     * @return \Generated\Shared\Transfer\AmazonpayAuthorizationDetailsTransfer
47
     */
48
    protected function getAuthorizationDetailsTransfer(SpyPaymentAmazonpay $entity)
49
    {
50
        $authDetailsTransfer = new AmazonpayAuthorizationDetailsTransfer();
51
        $authDetailsTransfer->fromArray($entity->toArray(), true);
52
        $authDetailsTransfer->setAuthorizationStatus(
53
            $this->getAuthStatusTransfer($entity->getStatus())
54
        );
55
56
        return $authDetailsTransfer;
57
    }
58
59
    /**
60
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
61
     *
62
     * @return \Generated\Shared\Transfer\AmazonpayRefundDetailsTransfer
63
     */
64
    protected function getAmazonpayRefundDetailsTransfer(SpyPaymentAmazonpay $entity)
65
    {
66
        $refundDetailsTransfer = new AmazonpayRefundDetailsTransfer();
67
        $refundDetailsTransfer->fromArray($entity->toArray(), true);
68
        $refundDetailsTransfer->setRefundStatus(
69
            $this->getRefundStatusTransfer($entity->getStatus())
70
        );
71
72
        return $refundDetailsTransfer;
73
    }
74
75
    /**
76
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
77
     *
78
     * @return \Generated\Shared\Transfer\AmazonpayCaptureDetailsTransfer
79
     */
80
    protected function getCaptureDetailsTransfer(SpyPaymentAmazonpay $entity)
81
    {
82
        $captureDetailsTransfer = new AmazonpayCaptureDetailsTransfer();
83
        $captureDetailsTransfer->fromArray($entity->toArray(), true);
84
        $captureDetailsTransfer->setCaptureStatus(
85
            $this->getCaptureStatusTransfer($entity->getStatus())
86
        );
87
88
        return $captureDetailsTransfer;
89
    }
90
91
    /**
92
     * @param string $statusName
93
     *
94
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
95
     */
96
    protected function getAuthStatusTransfer($statusName)
97
    {
98
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
99
100
        $amazonpayStatusTransfer->setIsPending(
101
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_PENDING
102
        );
103
104
        $amazonpayStatusTransfer->setIsDeclined(
105
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_DECLINED ||
106
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_SUSPENDED
107
        );
108
109
        $amazonpayStatusTransfer->setIsSuspended(
110
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_SUSPENDED
111
        );
112
113
        $amazonpayStatusTransfer->setIsTransactionTimedOut(
114
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_TRANSACTION_TIMED_OUT
115
        );
116
117
        $amazonpayStatusTransfer->setIsOpen(
118
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_OPEN
119
        );
120
121
        $amazonpayStatusTransfer->setIsClosed(
122
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_CLOSED
123
        );
124
125
        return $amazonpayStatusTransfer;
126
    }
127
128
    /**
129
     * @param string $statusName
130
     *
131
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
132
     */
133
    protected function getCaptureStatusTransfer($statusName)
134
    {
135
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
136
137
        $amazonpayStatusTransfer->setIsPending(
138
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_PENDING
139
        );
140
141
        $amazonpayStatusTransfer->setIsDeclined(
142
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_DECLINED
143
        );
144
145
        $amazonpayStatusTransfer->setIsCompleted(
146
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_COMPLETED
147
        );
148
149
        $amazonpayStatusTransfer->setIsClosed(
150
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_CLOSED
151
        );
152
153
        return $amazonpayStatusTransfer;
154
    }
155
156
    /**
157
     * @param string $statusName
158
     *
159
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
160
     */
161
    protected function getRefundStatusTransfer($statusName)
162
    {
163
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
164
165
        $amazonpayStatusTransfer->setIsPending(
166
            $statusName === AmazonpayConstants::OMS_STATUS_REFUND_PENDING
167
        );
168
169
        $amazonpayStatusTransfer->setIsDeclined(
170
            $statusName === AmazonpayConstants::OMS_STATUS_REFUND_DECLINED
171
        );
172
173
        $amazonpayStatusTransfer->setIsCompleted(
174
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_COMPLETED
175
        );
176
177
        return $amazonpayStatusTransfer;
178
    }
179
180
}
181

src/SprykerEco/Zed/Amazonpay/Business/Payment/PaymentAmazonpayConverter.php 1 location

@@ 19-176 (lines=158) @@
16
use Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay;
17
use SprykerEco\Shared\Amazonpay\AmazonpayConstants;
18
19
class PaymentAmazonpayConverter implements PaymentAmazonpayConverterInterface
20
{
21
22
    /**
23
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
24
     *
25
     * @return \Generated\Shared\Transfer\AmazonpayPaymentTransfer
26
     */
27
    public function mapPaymentEntity(SpyPaymentAmazonpay $entity)
28
    {
29
        $responseHeader = new AmazonpayResponseHeaderTransfer();
30
        $responseHeader->setIsSuccess(true);
31
32
        $paymentTransfer = new AmazonpayPaymentTransfer();
33
        $paymentTransfer->fromArray($entity->toArray(), true);
34
        $paymentTransfer->setResponseHeader($responseHeader);
35
        $paymentTransfer->setOrderReferenceStatus(new AmazonpayStatusTransfer());
36
        $paymentTransfer->setAuthorizationDetails($this->getAuthorizationDetailsTransfer($entity));
37
        $paymentTransfer->setCaptureDetails($this->getCaptureDetailsTransfer($entity));
38
        $paymentTransfer->setRefundDetails($this->getAmazonpayRefundDetailsTransfer($entity));
39
40
        return $paymentTransfer;
41
    }
42
43
    /**
44
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
45
     *
46
     * @return \Generated\Shared\Transfer\AmazonpayAuthorizationDetailsTransfer
47
     */
48
    protected function getAuthorizationDetailsTransfer(SpyPaymentAmazonpay $entity)
49
    {
50
        $authDetailsTransfer = new AmazonpayAuthorizationDetailsTransfer();
51
        $authDetailsTransfer->fromArray($entity->toArray(), true);
52
        $authDetailsTransfer->setAuthorizationStatus(
53
            $this->getAuthStatusTransfer($entity->getStatus())
54
        );
55
56
        return $authDetailsTransfer;
57
    }
58
59
    /**
60
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
61
     *
62
     * @return \Generated\Shared\Transfer\AmazonpayRefundDetailsTransfer
63
     */
64
    protected function getAmazonpayRefundDetailsTransfer(SpyPaymentAmazonpay $entity)
65
    {
66
        $refundDetailsTransfer = new AmazonpayRefundDetailsTransfer();
67
        $refundDetailsTransfer->fromArray($entity->toArray(), true);
68
        $refundDetailsTransfer->setRefundStatus(
69
            $this->getRefundStatusTransfer($entity->getStatus())
70
        );
71
72
        return $refundDetailsTransfer;
73
    }
74
75
    /**
76
     * @param \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay $entity
77
     *
78
     * @return \Generated\Shared\Transfer\AmazonpayCaptureDetailsTransfer
79
     */
80
    protected function getCaptureDetailsTransfer(SpyPaymentAmazonpay $entity)
81
    {
82
        $captureDetailsTransfer = new AmazonpayCaptureDetailsTransfer();
83
        $captureDetailsTransfer->fromArray($entity->toArray(), true);
84
        $captureDetailsTransfer->setCaptureStatus(
85
            $this->getCaptureStatusTransfer($entity->getStatus())
86
        );
87
88
        return $captureDetailsTransfer;
89
    }
90
91
    /**
92
     * @param string $statusName
93
     *
94
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
95
     */
96
    protected function getAuthStatusTransfer($statusName)
97
    {
98
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
99
100
        $amazonpayStatusTransfer->setIsPending(
101
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_PENDING
102
        );
103
104
        $amazonpayStatusTransfer->setIsDeclined(
105
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_DECLINED ||
106
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_SUSPENDED
107
        );
108
109
        $amazonpayStatusTransfer->setIsSuspended(
110
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_SUSPENDED
111
        );
112
113
        $amazonpayStatusTransfer->setIsTransactionTimedOut(
114
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_TRANSACTION_TIMED_OUT
115
        );
116
117
        $amazonpayStatusTransfer->setIsOpen(
118
            $statusName === AmazonpayConstants::OMS_STATUS_AUTH_OPEN
119
        );
120
121
        return $amazonpayStatusTransfer;
122
    }
123
124
    /**
125
     * @param string $statusName
126
     *
127
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
128
     */
129
    protected function getCaptureStatusTransfer($statusName)
130
    {
131
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
132
133
        $amazonpayStatusTransfer->setIsPending(
134
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_PENDING
135
        );
136
137
        $amazonpayStatusTransfer->setIsDeclined(
138
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_DECLINED
139
        );
140
141
        $amazonpayStatusTransfer->setIsCompleted(
142
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_COMPLETED
143
        );
144
145
        $amazonpayStatusTransfer->setIsClosed(
146
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_CLOSED
147
        );
148
149
        return $amazonpayStatusTransfer;
150
    }
151
152
    /**
153
     * @param string $statusName
154
     *
155
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
156
     */
157
    protected function getRefundStatusTransfer($statusName)
158
    {
159
        $amazonpayStatusTransfer = new AmazonpayStatusTransfer();
160
161
        $amazonpayStatusTransfer->setIsPending(
162
            $statusName === AmazonpayConstants::OMS_STATUS_REFUND_PENDING
163
        );
164
165
        $amazonpayStatusTransfer->setIsDeclined(
166
            $statusName === AmazonpayConstants::OMS_STATUS_REFUND_DECLINED
167
        );
168
169
        $amazonpayStatusTransfer->setIsCompleted(
170
            $statusName === AmazonpayConstants::OMS_STATUS_CAPTURE_COMPLETED
171
        );
172
173
        return $amazonpayStatusTransfer;
174
    }
175
176
}
177