Beispiel #1
0
        public async Task SaveByYear(int year)
        {
            if (year <= 0 || year > DateTime.Now.Year)
            {
                throw new ArgumentException("Invalid year value", nameof(year));
            }

            var result = await _currencyProvider.GetByYear(year);

            var parseResult = _yearParser.Parse(result).ToArray();

            var incorrectValue = parseResult.FirstOrDefault(r => r.Date.Year != year);

            if (incorrectValue == null)
            {
                await SaveToDb(parseResult);
            }
            else
            {
                _logger.LogInformation(
                    $"SaveByYear result contains not suitable value ({incorrectValue.Date.Year}) for request ({year})");
            }
        }