/// <inheritdoc /> public async Task RetrieveAsync(CancellationToken cancellationToken = default) { try { _logger.LogInformation($"Start retrieving exchange rates data."); var result = await _serviceClient.GetDataAsync <ExchangeRatesSynchronizerResult>(_applicationSettings.ExchangeRatesBaseAddress, cancellationToken); _logger.LogInformation($"Exchange rates data retrieved successfully."); await _repository.SaveAsync(result.ToExchangeRates(), cancellationToken); } catch (Exception ex) { _logger.LogError(ex, $"Error retrieving the data. Message: {ex.Message}"); throw; } }