Esempio n. 1
0
        public ThreeDayValuesDomainModel MapToThreeDayValuesDomainModel(OpenWeatherOneCallApiDataModel model)
        {
            ThreeDayValuesDomainModel domainmodel = new ThreeDayValuesDomainModel();

            domainmodel.ThreeDayValues = new List <ThreeDayDomainModel>();
            for (int i = 0; i < 3; i++)
            {
                domainmodel.ThreeDayValues.Add(MapToThreeDayValueDomainModel(model.Daily[i]));
            }

            return(domainmodel);
        }
Esempio n. 2
0
        public List <string> GetThreeDayWeatherForecast(int zipcode, ITemperatureStrategy temperatureStrategy, DateTime date)
        {
            List <string> result       = new List <string>();
            var           threeDayData = Task.Run(() => _weatherForecastProvider.GetWeatherForThreeDays(zipcode));

            threeDayData.Wait();
            ThreeDayValuesDomainModel model = threeDayData.Result;

            foreach (var day in model.ThreeDayValues)
            {
                TemperatureInfo MorningTemperatureInfo    = temperatureStrategy.GetTemperatureFromKelvin(day.DailyMorningTemperature);
                double          roundedMorningTemperature = Math.Round(MorningTemperatureInfo.Temperature);
                TemperatureInfo DayTemperatureInfo        = temperatureStrategy.GetTemperatureFromKelvin(day.DailyDayTemperature);
                double          roundedDayTemperature     = Math.Round(DayTemperatureInfo.Temperature);
                TemperatureInfo EveningTemperatureInfo    = temperatureStrategy.GetTemperatureFromKelvin(day.DailyEveningTemperature);
                double          roundedEveningTemperature = Math.Round(EveningTemperatureInfo.Temperature);
                result.Add($"In {zipcode} hat es am {day.Time.ToString("d")} morgens {roundedMorningTemperature} {MorningTemperatureInfo.Display} und es ist {day.WeatherDescription}");
                result.Add($"In {zipcode} hat es am {day.Time.ToString("d")} mittags {roundedDayTemperature} {DayTemperatureInfo.Display} und es ist {day.WeatherDescription}");
                result.Add($"In {zipcode} hat es am {day.Time.ToString("d")} mittags {roundedEveningTemperature} {EveningTemperatureInfo.Display} und es ist {day.WeatherDescription}");
            }

            return(result);
        }