| @@ 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 | ||
| @@ 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 | ||