updateNativeAmount($budgetLimit); } public function created(BudgetLimit $budgetLimit): void { Log::debug('Observe "created" of a budget limit.'); $this->updateNativeAmount($budgetLimit); } private function updateNativeAmount(BudgetLimit $budgetLimit): void { $userCurrency = app('amount')->getDefaultCurrencyByUserGroup($budgetLimit->budget->user->userGroup); $budgetLimit->native_amount = null; if ($budgetLimit->transactionCurrency->id !== $userCurrency->id) { $converter = new ExchangeRateConverter(); $converter->setIgnoreSettings(true); $budgetLimit->native_amount = $converter->convert($budgetLimit->transactionCurrency, $userCurrency, today(), $budgetLimit->amount); } $budgetLimit->saveQuietly(); Log::debug('Bill native amounts are updated.'); } }