Ejemplo n.º 1
0
        /// <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;
            }
        }