From 47e287e3ad572f0825beb228e41227eff0cb229e Mon Sep 17 00:00:00 2001 From: ahmedsophyudden Date: Sun, 12 Jun 2022 18:23:21 +0800 Subject: [PATCH] Fix create order button not working at dashboard --- .../CalculatesTransactionServiceCharge.php | 15 +++++++++------ .../Services/CalculatesTransactionTransferFee.php | 14 +++++++++----- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php b/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php index 29751d80..695b465e 100644 --- a/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php +++ b/app/Classes/Modules/Transactions/Services/CalculatesTransactionServiceCharge.php @@ -25,15 +25,18 @@ class CalculatesTransactionServiceCharge * @param SegmentConstant|null $service_charge * @return float */ - public function execute(float $amount, float $rate, ?SegmentConstant $service_charge) { + public function execute(float $amount, float $rate, ?SegmentConstant $service_charge) + { - if(!$service_charge) { + if (!$service_charge) { return 0; } $transfer_fee = $this->calculatesTransactionTransferFee->execute(($amount * (1 / $rate)), $service_charge); - return $service_charge->detail->amount->type === 'percentage' ? (($amount + $transfer_fee) * ( (float) $service_charge->detail->amount->value /100) * (1/$rate)) : (float) $service_charge->detail->amount->value; - + if (isset($service_charge->detail->amount)) { + return $service_charge->detail->amount->type === 'percentage' ? (($amount + $transfer_fee) * ((float) $service_charge->detail->amount->value / 100) * (1 / $rate)) : (float) $service_charge->detail->amount->value; + } else { + return 0; + } } - -} \ No newline at end of file +} diff --git a/app/Classes/Modules/Transactions/Services/CalculatesTransactionTransferFee.php b/app/Classes/Modules/Transactions/Services/CalculatesTransactionTransferFee.php index 5a02a394..0bcaba28 100644 --- a/app/Classes/Modules/Transactions/Services/CalculatesTransactionTransferFee.php +++ b/app/Classes/Modules/Transactions/Services/CalculatesTransactionTransferFee.php @@ -12,13 +12,17 @@ class CalculatesTransactionTransferFee * @param SegmentConstant|null $service_charge * @return float */ - public function execute(float $amount, ?SegmentConstant $service_charge) { + public function execute(float $amount, ?SegmentConstant $service_charge) + { - if(!$service_charge) { + if (!$service_charge) { return 0; } - return $service_charge->detail->transferFee->type === 'percentage' ? $amount * ((float) $service_charge->detail->transferFee->value /100) : (float) $service_charge->detail->transferFee->value; + if (isset($service_charge->detail->transferFee)) { + return $service_charge->detail->transferFee->type === 'percentage' ? $amount * ((float) $service_charge->detail->transferFee->value / 100) : (float) $service_charge->detail->transferFee->value; + } else { + return 0; + } } - -} \ No newline at end of file +}