public FourteenDayValuesDomainModel MapToFourteenDayValuesDomainModel(OpenWeatherOneCallApiDataModel model) { FourteenDayValuesDomainModel domainmodel = new FourteenDayValuesDomainModel(); domainmodel.FourteenDayValues = new List <FourteenDayDomainModel>(); for (int i = 0; i < 7; i++) { domainmodel.FourteenDayValues.Add(MapToFourteenDayValueDomainModel(model.Daily[i])); } for (int noDataIndex = 7; noDataIndex < 14; noDataIndex++) { domainmodel.FourteenDayValues.Add(CreateEmptyDomainModel()); } return(domainmodel); }
public List <string> GetFourteenDayWeatherForecast(int zipcode, ITemperatureStrategy temperatureStrategy, DateTime date) { List <string> result = new List <string>(); var fourteenDayData = Task.Run(() => _weatherForecastProvider.GetWeatherForFourteenDays(zipcode)); fourteenDayData.Wait(); FourteenDayValuesDomainModel model = fourteenDayData.Result; foreach (var day in model.FourteenDayValues) { if (day.WeatherDescription == "Empty Data") { result.Add("Keine Wetterdaten vorhanden"); } else { TemperatureInfo temperatureInfo = temperatureStrategy.GetTemperatureFromKelvin(day.Temperature); double roundedTemperature = Math.Round(temperatureInfo.Temperature); result.Add($"In {zipcode} hat es am {day.Time.ToString("d")} {roundedTemperature} {temperatureInfo.Display} und es ist {day.WeatherDescription}"); } } return(result); }