updateNativeAmount($autoBudget); } public function updated(AutoBudget $autoBudget): void { Log::debug('Observe "updated" of an auto budget.'); $this->updateNativeAmount($autoBudget); } private function updateNativeAmount(AutoBudget $autoBudget): void { if(!Amount::convertToNative($autoBudget->budget->user)) { return; } $userCurrency = app('amount')->getDefaultCurrencyByUserGroup($autoBudget->budget->user->userGroup); $autoBudget->native_amount = null; if ($autoBudget->transactionCurrency->id !== $userCurrency->id) { $converter = new ExchangeRateConverter(); $converter->setIgnoreSettings(true); $autoBudget->native_amount = $converter->convert($autoBudget->transactionCurrency, $userCurrency, today(), $autoBudget->amount); } $autoBudget->saveQuietly(); Log::debug('Auto budget native amount is updated.'); } }