findTransactionRequestLogByIdSalesOrderForShipment()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 17
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 12
nc 2
nop 1
dl 0
loc 17
rs 9.8666
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\Braintree\Persistence;
9
10
use Generated\Shared\Transfer\PaymentBraintreeOrderItemTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...intreeOrderItemTransfer 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\PaymentBraintreeTransactionStatusLogTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...actionStatusLogTransfer 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 Generated\Shared\Transfer\PaymentBraintreeTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfer\PaymentBraintreeTransfer 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...
13
use Propel\Runtime\ActiveQuery\Criteria;
14
use Spryker\Zed\Kernel\Persistence\AbstractRepository;
15
16
/**
17
 * @method \SprykerEco\Zed\Braintree\Persistence\BraintreePersistenceFactory getFactory()
18
 */
19
class BraintreeRepository extends AbstractRepository implements BraintreeRepositoryInterface
20
{
21
    /**
22
     * @param int $idPaymentBraintree
23
     *
24
     * @return \Generated\Shared\Transfer\PaymentBraintreeTransfer|null
25
     */
26
    public function findPaymentBraintreeById(int $idPaymentBraintree): ?PaymentBraintreeTransfer
27
    {
28
        $paymentBraintreeEntity = $this->getFactory()
29
            ->createPaymentBraintreeQuery()
30
            ->findOneByIdPaymentBraintree($idPaymentBraintree);
31
32
        if ($paymentBraintreeEntity === null) {
33
            return null;
34
        }
35
36
        return $this->getFactory()
37
            ->createBraintreePersistenceMapper()
38
            ->mapEntityToPaymentBraintreeTransfer($paymentBraintreeEntity, new PaymentBraintreeTransfer());
39
    }
40
41
    /**
42
     * @param int $idSalesOrder
43
     *
44
     * @return \Generated\Shared\Transfer\PaymentBraintreeTransfer|null
45
     */
46
    public function findPaymentBraintreeBySalesOrderId(int $idSalesOrder): ?PaymentBraintreeTransfer
47
    {
48
        $paymentBraintreeEntity = $this->getFactory()
49
            ->createPaymentBraintreeQuery()
50
            ->findOneByFkSalesOrder($idSalesOrder);
51
52
        if ($paymentBraintreeEntity === null) {
53
            return null;
54
        }
55
56
        return $this->getFactory()
57
            ->createBraintreePersistenceMapper()
58
            ->mapEntityToPaymentBraintreeTransfer($paymentBraintreeEntity, new PaymentBraintreeTransfer());
59
    }
60
61
    /**
62
     * @param int $idSalesOrderItem
63
     *
64
     * @return \Generated\Shared\Transfer\PaymentBraintreeOrderItemTransfer|null
65
     */
66
    public function findPaymentBraintreeOrderItemByIdSalesOrderItem(int $idSalesOrderItem): ?PaymentBraintreeOrderItemTransfer
67
    {
68
        $paymentBraintreeOrderItemEntity = $this->getFactory()
69
            ->createPaymentBraintreeOrderItemQuery()
70
            ->findOneByFkSalesOrderItem($idSalesOrderItem);
71
72
        if ($paymentBraintreeOrderItemEntity === null) {
73
            return null;
74
        }
75
76
        return $this->getFactory()
77
            ->createBraintreePersistenceMapper()
78
            ->mapEntityToPaymentBraintreeOrderItemTransfer($paymentBraintreeOrderItemEntity, new PaymentBraintreeOrderItemTransfer());
79
    }
80
81
    /**
82
     * @param array $idsSalesOrderItem
83
     *
84
     * @return \Generated\Shared\Transfer\PaymentBraintreeOrderItemTransfer[]
85
     */
86
    public function findPaymentBraintreeOrderItemsByIdsSalesOrderItem(array $idsSalesOrderItem): array
87
    {
88
        $result = [];
89
90
        $paymentBraintreeOrderItemEntities = $this->getFactory()
91
            ->createPaymentBraintreeOrderItemQuery()
92
            ->filterByFkSalesOrderItem_In($idsSalesOrderItem)
93
            ->find();
94
95
        foreach ($paymentBraintreeOrderItemEntities as $paymentBraintreeOrderItemEntity) {
96
            $result[] = $this->getFactory()
97
                ->createBraintreePersistenceMapper()
98
                ->mapEntityToPaymentBraintreeOrderItemTransfer($paymentBraintreeOrderItemEntity, new PaymentBraintreeOrderItemTransfer());
99
        }
100
101
        return $result;
102
    }
103
104
    /**
105
     * @param int $idSalesOrder
106
     *
107
     * @return \Generated\Shared\Transfer\PaymentBraintreeTransactionStatusLogTransfer|null
108
     */
109
    public function findPaymentBraintreeTransactionStatusLogQueryBySalesOrderId(int $idSalesOrder): ?PaymentBraintreeTransactionStatusLogTransfer
110
    {
111
        $paymentBraintreeTransactionStatusLogEntity = $this->getFactory()
112
            ->createPaymentBraintreeTransactionStatusLogQuery()
113
            ->useSpyPaymentBraintreeQuery()
114
            ->filterByFkSalesOrder($idSalesOrder)
115
            ->endUse()
116
            ->findOne();
117
118
        if ($paymentBraintreeTransactionStatusLogEntity === null) {
119
            return null;
120
        }
121
122
        return $this->getFactory()
123
            ->createBraintreePersistenceMapper()
124
            ->mapEntityToPaymentBraintreeTransactionStatusLogTransfer($paymentBraintreeTransactionStatusLogEntity, new PaymentBraintreeTransactionStatusLogTransfer());
125
    }
126
127
    /**
128
     * @param int $idSalesOrder
129
     * @param string $transactionCode
130
     * @param string|array $statusCode
131
     *
132
     * @return bool
133
     */
134
    public function isSucceededPaymentBraintreeTransactionStatusLogQueryExistBySalesOrderIdAndTransactionCode(
135
        int $idSalesOrder,
136
        string $transactionCode,
137
        $statusCode
138
    ): bool {
139
        return $this->getFactory()
140
            ->createPaymentBraintreeTransactionStatusLogQuery()
141
            ->filterByTransactionCode($transactionCode)
142
            ->filterByTransactionStatus((array)$statusCode, Criteria::IN)
143
            ->filterByIsShipmentOperation(false)
144
            ->useSpyPaymentBraintreeQuery()
145
                ->filterByFkSalesOrder($idSalesOrder)
146
            ->endUse()
147
            ->filterByIsSuccess(true)
148
            ->exists();
149
    }
150
151
    /**
152
     * @param int $idPaymentBraintreeOrderItem
153
     *
154
     * @return \Generated\Shared\Transfer\PaymentBraintreeTransactionStatusLogTransfer|null
155
     */
156
    public function findPaymentBraintreeTransactionStatusLogQueryByPaymentBraintreeOrderItem(
157
        int $idPaymentBraintreeOrderItem
158
    ): ?PaymentBraintreeTransactionStatusLogTransfer {
159
        $paymentBraintreeTransactionStatusLogEntity = $this->getFactory()
160
            ->createPaymentBraintreeTransactionStatusLogQuery()
161
            ->useSpyPaymentBraintreeTransactionStatusLogToOrderItemQuery()
162
                ->filterByFkPaymentBraintreeOrderItem($idPaymentBraintreeOrderItem)
163
            ->endUse()
164
            ->findOne();
165
166
        if ($paymentBraintreeTransactionStatusLogEntity === null) {
167
            return null;
168
        }
169
170
        return $this->getFactory()
171
            ->createBraintreePersistenceMapper()
172
            ->mapEntityToPaymentBraintreeTransactionStatusLogTransfer($paymentBraintreeTransactionStatusLogEntity, new PaymentBraintreeTransactionStatusLogTransfer());
173
    }
174
175
    /**
176
     * @param int $idSalesOrder
177
     *
178
     * @return \Generated\Shared\Transfer\PaymentBraintreeTransactionStatusLogTransfer|null
179
     */
180
    public function findTransactionRequestLogByIdSalesOrderForShipment(int $idSalesOrder): ?PaymentBraintreeTransactionStatusLogTransfer
181
    {
182
        $paymentBraintreeTransactionStatusLogEntity = $this->getFactory()
183
            ->createPaymentBraintreeTransactionStatusLogQuery()
184
            ->useSpyPaymentBraintreeQuery()
185
                ->filterByFkSalesOrder($idSalesOrder)
186
            ->endUse()
187
            ->filterByIsShipmentOperation(true)
188
            ->findOne();
189
190
        if ($paymentBraintreeTransactionStatusLogEntity === null) {
191
            return null;
192
        }
193
194
        return $this->getFactory()
195
            ->createBraintreePersistenceMapper()
196
            ->mapEntityToPaymentBraintreeTransactionStatusLogTransfer($paymentBraintreeTransactionStatusLogEntity, new PaymentBraintreeTransactionStatusLogTransfer());
197
    }
198
}
199