public async Task <IActionResult> Put([FromRoute] IsoCode code, [FromBody] CurrencyUpdateModel model, CancellationToken token = default) { try { var updateCurrency = await _currencyService.GetCurrencyByIsoCode(code.IsoCodeValue, true, token) .ConfigureAwait(false); if (updateCurrency == null) { return(NotFoundObjectResult(nameof(CurrencyService), "currency don't exist")); } await _repository.UpdateAsync(updateCurrency.Update(model), token : token).ConfigureAwait(false); await _currencyService.ClearCurrencyCacheAsync(); return(OkObjectResult(updateCurrency.ToModel())); } catch (Exception e) { return(LogAndError500Response(nameof(CurrenciesController), e)); } }