Passed
Push — feature/ECO-808-scrutinizer ( 956529...82fb0b )
by Andrey
05:28 queued 01:30
created

AmazonpayDataQuoteInitializer::update()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nc 1
nop 1
dl 0
loc 15
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Apache OSL-2
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\Amazonpay\Business\Quote;
9
10
use Generated\Shared\Transfer\AmazonpayAuthorizationDetailsTransfer;
11
use Generated\Shared\Transfer\AmazonpayCaptureDetailsTransfer;
12
use Generated\Shared\Transfer\AmazonpayRefundDetailsTransfer;
13
use Generated\Shared\Transfer\AmazonpayStatusTransfer;
14
use Generated\Shared\Transfer\QuoteTransfer;
15
16
class AmazonpayDataQuoteInitializer implements QuoteUpdaterInterface
17
{
18
19
    /**
20
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
21
     *
22
     * @return \Generated\Shared\Transfer\QuoteTransfer
23
     */
24
    public function update(QuoteTransfer $quoteTransfer)
25
    {
26
        $quoteTransfer->getAmazonpayPayment()->setAuthorizationDetails(
27
            $this->createAmazonpayAuthorizationDetailsTransfer()
28
        );
29
30
        $quoteTransfer->getAmazonpayPayment()->setCaptureDetails(
31
            $this->createAmazonpayCaptureDetailsTransfer()
32
        );
33
34
        $quoteTransfer->getAmazonpayPayment()->setRefundDetails(
35
            $this->createAmazonpayRefundDetailsTransfer()
36
        );
37
38
        return $quoteTransfer;
39
    }
40
41
    /**
42
     * @return \Generated\Shared\Transfer\AmazonpayAuthorizationDetailsTransfer
43
     */
44
    protected function createAmazonpayAuthorizationDetailsTransfer()
45
    {
46
        $amazonpayAuthorizationDetails = new AmazonpayAuthorizationDetailsTransfer();
47
        $amazonpayAuthorizationDetails->setAuthorizationStatus($this->createStatusTransfer());
48
49
        return $amazonpayAuthorizationDetails;
50
    }
51
52
    /**
53
     * @return \Generated\Shared\Transfer\AmazonpayCaptureDetailsTransfer
54
     */
55
    protected function createAmazonpayCaptureDetailsTransfer()
56
    {
57
        $amazonpayCaptureDetails = new AmazonpayCaptureDetailsTransfer();
58
        $amazonpayCaptureDetails->setCaptureStatus($this->createStatusTransfer());
59
60
        return $amazonpayCaptureDetails;
61
    }
62
63
    /**
64
     * @return \Generated\Shared\Transfer\AmazonpayRefundDetailsTransfer
65
     */
66
    protected function createAmazonpayRefundDetailsTransfer()
67
    {
68
        $amazonpayRefundDetails = new AmazonpayRefundDetailsTransfer();
69
        $amazonpayRefundDetails->setRefundStatus($this->createStatusTransfer());
70
71
        return $amazonpayRefundDetails;
72
    }
73
74
    /**
75
     * @return \Generated\Shared\Transfer\AmazonpayStatusTransfer
76
     */
77
    protected function createStatusTransfer()
78
    {
79
        return new AmazonpayStatusTransfer();
80
    }
81
82
}
83