queryLatestRegistrationByIdShippingAddress()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 6
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\Heidelpay\Persistence;
9
10
use Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayCreditCardRegistrationQuery;
11
use Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayQuery;
12
use Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayTransactionLogQuery;
13
use Spryker\Zed\Kernel\Persistence\AbstractQueryContainer;
14
use Spryker\Zed\PropelOrm\Business\Runtime\ActiveQuery\Criteria;
15
use SprykerEco\Shared\Heidelpay\HeidelpayConfig;
16
17
/**
18
 * @method \SprykerEco\Zed\Heidelpay\Persistence\HeidelpayPersistenceFactory getFactory()
19
 */
20
class HeidelpayQueryContainer extends AbstractQueryContainer implements HeidelpayQueryContainerInterface
21
{
22
    /**
23
     * @api
24
     *
25
     * @param int $idSalesOrder
26
     *
27
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayTransactionLogQuery
28
     */
29
    public function queryExternalResponseTransactionLog(int $idSalesOrder): SpyPaymentHeidelpayTransactionLogQuery
30
    {
31
        return $this->getFactory()
32
            ->createPaymentHeidelpayTransactionLogQuery()
33
            ->filterByFkSalesOrder($idSalesOrder)
34
            ->filterByTransactionType(HeidelpayConfig::TRANSACTION_TYPE_EXTERNAL_RESPONSE);
35
    }
36
37
    /**
38
     * @api
39
     *
40
     * @param int $idSalesOrder
41
     *
42
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayTransactionLogQuery
43
     */
44
    public function queryCaptureTransactionLog(int $idSalesOrder): SpyPaymentHeidelpayTransactionLogQuery
45
    {
46
        return $this->getFactory()
47
            ->createPaymentHeidelpayTransactionLogQuery()
48
            ->filterByFkSalesOrder($idSalesOrder)
49
            ->filterByTransactionType(HeidelpayConfig::TRANSACTION_TYPE_CAPTURE);
50
    }
51
52
    /**
53
     * @api
54
     *
55
     * @param int $idSalesOrder
56
     *
57
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayTransactionLogQuery
58
     */
59
    public function queryReservationTransactionLog($idSalesOrder)
60
    {
61
        return $this->getFactory()
62
            ->createPaymentHeidelpayTransactionLogQuery()
63
            ->filterByFkSalesOrder($idSalesOrder)
64
            ->filterByTransactionType(HeidelpayConfig::TRANSACTION_TYPE_RESERVATION);
65
    }
66
67
    /**
68
     * @api
69
     *
70
     * @param int $idSalesOrder
71
     *
72
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayTransactionLogQuery
73
     */
74
    public function queryFinalizeTransactionLog($idSalesOrder): SpyPaymentHeidelpayTransactionLogQuery
75
    {
76
        return $this->getFactory()
77
            ->createPaymentHeidelpayTransactionLogQuery()
78
            ->filterByFkSalesOrder($idSalesOrder)
79
            ->filterByTransactionType(HeidelpayConfig::TRANSACTION_TYPE_FINALIZE);
80
    }
81
82
    /**
83
     * @api
84
     *
85
     * @param int $idSalesOrder
86
     *
87
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayQuery
88
     */
89
    public function queryPaymentByIdSalesOrder(int $idSalesOrder): SpyPaymentHeidelpayQuery
90
    {
91
        return $this
92
            ->getFactory()
93
            ->createPaymentHeidelpayQuery()
94
            ->filterByFkSalesOrder($idSalesOrder);
95
    }
96
97
    /**
98
     * @api
99
     *
100
     * @param int $idSalesOrder
101
     * @param string $transactionType
102
     *
103
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayTransactionLogQuery
104
     */
105
    public function queryTransactionByIdSalesOrderAndType(int $idSalesOrder, string $transactionType): SpyPaymentHeidelpayTransactionLogQuery
106
    {
107
        return $this->getFactory()
108
            ->createPaymentHeidelpayTransactionLogQuery()
109
            ->filterByFkSalesOrder($idSalesOrder)
110
            ->filterByTransactionType($transactionType);
111
    }
112
113
    /**
114
     * @api
115
     *
116
     * @param string $registrationNumber
117
     *
118
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayCreditCardRegistrationQuery
119
     */
120
    public function queryCreditCardRegistrationByRegistrationNumber(string $registrationNumber): SpyPaymentHeidelpayCreditCardRegistrationQuery
121
    {
122
        return $this->getFactory()
123
            ->createHeidelpayCreditCardRegistrationQuery()
124
            ->filterByRegistrationNumber($registrationNumber);
125
    }
126
127
    /**
128
     * @api
129
     *
130
     * @param int $idAddress
131
     *
132
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayCreditCardRegistrationQuery
133
     */
134
    public function queryLatestRegistrationByIdShippingAddress(int $idAddress): SpyPaymentHeidelpayCreditCardRegistrationQuery
135
    {
136
        return $this->getFactory()
137
            ->createHeidelpayCreditCardRegistrationQuery()
138
            ->filterByFkCustomerAddress($idAddress)
139
            ->orderByIdCreditCardRegistration(Criteria::DESC);
140
    }
141
142
    /**
143
     * @api
144
     *
145
     * @param int $idRegistration
146
     * @param string $quoteHash
147
     *
148
     * @return \Orm\Zed\Heidelpay\Persistence\SpyPaymentHeidelpayCreditCardRegistrationQuery
149
     */
150
    public function queryRegistrationByIdAndQuoteHash(int $idRegistration, string $quoteHash): SpyPaymentHeidelpayCreditCardRegistrationQuery
151
    {
152
        return $this->getFactory()
153
            ->createHeidelpayCreditCardRegistrationQuery()
154
            ->filterByIdCreditCardRegistration($idRegistration)
155
            ->filterByQuoteHash($quoteHash);
156
    }
157
}
158