Esempio n. 1
0
        public async Task <Model.Forecast> GetAllForecastByName(string input)
        {
            var result = await _repository.GetAllForecastByName(input);

            if (result is null)
            {
                return(null);
            }

            result = await _client.GetAllForecastByName(input);

            var list = result.list.GroupBy(x => x.dt_txt.Split(' ').First()).ToList();

            result.list = list.Select(item => item.First()).ToList();
            foreach (var item in result.list)
            {
                item.main.temp_min = (list.FirstOrDefault(x => x.Key == item.dt_txt.Split(' ').First()) ??
                                      throw new InvalidOperationException())
                                     .Min(x => x.main.temp_min);
                item.main.temp_max = (list.FirstOrDefault(x => x.Key == item.dt_txt.Split(' ').First()) ??
                                      throw new InvalidOperationException())
                                     .Max(x => x.main.temp_min);
            }
            //await _repository.SaveAllForecast(result);

            return(result);
        }