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})"); } }