// fukntion som söker i dattabasen eller API public override IEnumerable<Forecast> GetForecast(City city) { IEnumerable<Forecast> forecast; // if (_yrnoAPIservice.YrNoAPIResponseTest() == false)// om api är nere så söker man i databasen { // forecast = _repository.FindForecast(city.CityID);// söker i databas // } else// api funkar { forecast = _repository.FindForecast(city.CityID);// söker i databas if (forecast.Count() == 0)// fins inte i databas { forecast = _yrnoAPIservice.GetForecast(city);// söker i API _repository.AddForecast(forecast);// läger till i databas _repository.Save();// sparar datan till databas } else// kontrolerar om väder datan fortfarande är aktuell { foreach (Forecast item in forecast)// lopar igen och kontroelrar dataum { if (item.NextUpdate < DateTime.Now)// if satsen körs om datum är gammal { _repository.DeleteForecast(forecast);// tar bort från databasen _repository.Save();//sparar ändringen forecast = _yrnoAPIservice.GetForecast(city);// söker efter aktuell data i API _repository.AddForecast(forecast);// kalar på funktion som ska läga till stad i databasen _repository.Save();//kalar på funktion som sparar datan till databasen break; } } } } // return forecast; }
public abstract IEnumerable<Forecast> GetForecast(City city);