Code Duplication    Length = 41-41 lines in 2 locations

src/SprykerEco/Zed/Amazonpay/Communication/Plugin/Oms/Condition/AbstractByOrderItemConditionPlugin.php 1 location

@@ 13-53 (lines=41) @@
10
use Orm\Zed\Sales\Persistence\SpySalesOrderItem;
11
use Spryker\Zed\Oms\Dependency\Plugin\Condition\ConditionInterface;
12
13
abstract class AbstractByOrderItemConditionPlugin implements ConditionInterface
14
{
15
16
    /**
17
     * @return string
18
     */
19
    abstract protected function getConditionalStatus();
20
21
    /**
22
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem
23
     *
24
     * @return bool
25
     */
26
    public function check(SpySalesOrderItem $orderItem)
27
    {
28
        $payment = $this->getPaymentAmazonpayBySalesOrderItem($orderItem);
29
30
        if ($payment === null) {
31
            return true;
32
        }
33
34
        return $payment->getStatus() === $this->getConditionalStatus();
35
    }
36
37
    /**
38
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem
39
     *
40
     * @return \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay|null
41
     */
42
    protected function getPaymentAmazonpayBySalesOrderItem(SpySalesOrderItem $orderItem)
43
    {
44
        $lastPayment = $orderItem->getSpyPaymentAmazonpaySalesOrderItems()->getLast();
45
46
        if (!$lastPayment) {
47
            return null;
48
        }
49
50
        return $lastPayment->getSpyPaymentAmazonpay();
51
    }
52
53
}
54

src/SprykerEco/Zed/Amazonpay/Communication/Plugin/Oms/Condition/AbstractOrderItemConditionPlugin.php 1 location

@@ 13-53 (lines=41) @@
10
use Orm\Zed\Sales\Persistence\SpySalesOrderItem;
11
use Spryker\Zed\Oms\Dependency\Plugin\Condition\ConditionInterface;
12
13
abstract class AbstractOrderItemConditionPlugin implements ConditionInterface
14
{
15
16
    /**
17
     * @return string
18
     */
19
    abstract protected function getConditionalStatus();
20
21
    /**
22
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem
23
     *
24
     * @return bool
25
     */
26
    public function check(SpySalesOrderItem $orderItem)
27
    {
28
        $payment = $this->getPaymentAmazonpayBySalesOrderItem($orderItem);
29
30
        if ($payment === null) {
31
            return true;
32
        }
33
34
        return $payment->getStatus() === $this->getConditionalStatus();
35
    }
36
37
    /**
38
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem
39
     *
40
     * @return \Orm\Zed\Amazonpay\Persistence\SpyPaymentAmazonpay|null
41
     */
42
    protected function getPaymentAmazonpayBySalesOrderItem(SpySalesOrderItem $orderItem)
43
    {
44
        $lastPayment = $orderItem->getSpyPaymentAmazonpaySalesOrderItems()->getLast();
45
46
        if (!$lastPayment) {
47
            return null;
48
        }
49
50
        return $lastPayment->getSpyPaymentAmazonpay();
51
    }
52
53
}
54