コード例 #1
0
 public override void RefreshWeather(City city)
 {
     //om det inte finns några väder eller om värderna är äldre än tidsstämplen
     if (!city.WeatherByDay.Any() || city.TimeStamp < DateTime.Now)
     {
         //tabort vädret om det är för gammalt!
         foreach (var weather in city.WeatherByDay.ToList())
         {
             _repository.DeleteWeather(weather.WeatherID);
         }
         //hämta vädret från apiet lägg dem i databasen
         foreach (var weather in _webservice.GetCityWeather(city))
         {
             _repository.AddWeather(weather);
         }
         city.TimeStamp = DateTime.Now.AddMinutes(15);
         _repository.Save();
     }
 }
コード例 #2
0
        public override IEnumerable <Weather> RefreshWeather(Location location)
        {
            var weather = _repository.FindWeather(location.LocationID);

            if (!weather.Any() || weather.Any(x => x.NextUpdate < DateTime.Now))
            {
                foreach (var item in weather)
                {
                    _repository.DeleteWeather(item.WeatherID);
                }

                weather = _owmWebservice.GetForecast(location);

                foreach (var item in weather)
                {
                    _repository.AddWeather(item);
                }


                _repository.Save();
            }

            return(weather);
        }