示例#1
0
        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);
        }
示例#2
0
        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);
        }