diff --git a/app/Classes/Modules/Wallets/Processors/CreditWalletProcessor.php b/app/Classes/Modules/Wallets/Processors/CreditWalletProcessor.php index 3806f852..72747d1a 100644 --- a/app/Classes/Modules/Wallets/Processors/CreditWalletProcessor.php +++ b/app/Classes/Modules/Wallets/Processors/CreditWalletProcessor.php @@ -15,6 +15,7 @@ use App\Classes\Modules\Transactions\Services\CreatesTransactionableTransaction; use App\Classes\Modules\Wallets\DataTransferObjects\WalletObject; use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject; use App\Classes\Modules\Transactions\Services\GeneratesTransactionBillNumber; +use App\Classes\Modules\Wallets\Services\UpdatesWalletBalance; use App\Models\CompanyModule; class CreditWalletProcessor @@ -36,6 +37,9 @@ class CreditWalletProcessor /** @var UpdatesWallet */ private $updatesWallet; + + /** @var UpdatesWalletBalance */ + private $updatesWalletBalance; /** * CreateWalletLogic constructor. @@ -45,6 +49,7 @@ class CreditWalletProcessor * @param CreatesTransaction $createsTransaction * @param CreatesTransactionableTransaction $createsTransactionableTransaction * @param UpdatesWallet $updatesWallet + * @param UpdatesWalletBalance $updatesWalletBalance */ public function __construct( GeneratesWalletCode $generatesWalletCode, @@ -52,7 +57,8 @@ class CreditWalletProcessor GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction, CreatesTransactionableTransaction $createsTransactionableTransaction, - UpdatesWallet $updatesWallet + UpdatesWallet $updatesWallet, + UpdatesWalletBalance $updatesWalletBalance ) { $this->generatesWalletCode = $generatesWalletCode; @@ -61,6 +67,7 @@ class CreditWalletProcessor $this->createsTransaction = $createsTransaction; $this->createsTransactionableTransaction = $createsTransactionableTransaction; $this->updatesWallet = $updatesWallet; + $this->updatesWalletBalance = $updatesWalletBalance; } @@ -87,11 +94,13 @@ class CreditWalletProcessor $transaction_object = new TransactionObject($billNumber, $transactionType === 2 ? TransactionType::DEBIT_NOTE : TransactionType::CREDIT_NOTE, 1, $wallet->owner->id, 1, PaymentMethodType::CASH, $amount, $amount, 1, 1, 1, 0, 0, null, ApprovalStatus::APPROVED, [], $reference); $transaction = $this->createsTransactionableTransaction->execute($wallet, $transaction_object); - $updateWalletAmount = $transactionType === 2 ? ($wallet->amount - $transaction->amount) : ($wallet->amount + $transaction->amount); + $this->updatesWalletBalance->execute($wallet, $transaction->amount); - $walletObject = new WalletObject($wallet->owner->id, $wallet->currency_id, $wallet->code, $updateWalletAmount); + // $updateWalletAmount = $transactionType === 2 ? ($wallet->amount - $transaction->amount) : ($wallet->amount + $transaction->amount); - $wallet = $this->updatesWallet->execute($wallet, $walletObject); + // $walletObject = new WalletObject($wallet->owner->id, $wallet->currency_id, $wallet->code, $updateWalletAmount); + + // $wallet = $this->updatesWallet->execute($wallet, $walletObject); return $wallet; }