private async Task UpdateWeather(string cityLink)
        {
            WeatherRetriever       weatherRetriever = new WeatherRetriever();
            ObservationsRootObject observationsRoot = await weatherRetriever.GetObservations(cityLink);

            ViewModel.Description  = observationsRoot.response.ob.weatherShort;
            ViewModel.LocationName = observationsRoot.response.place.name + ", " + observationsRoot.response.place.state + " " + observationsRoot.response.place.country;
            ViewModel.Temperature  = "" + observationsRoot.response.ob.tempF + "F";
            ViewModel.ImageUrl     = GetIconURLFromName(observationsRoot.response.ob.icon);

            //So that if you choose a different city it removes the forecast for previous city
            ViewModel.Forecast.Clear();

            ForecastRootObject forecastRoot = await weatherRetriever.GetForecast(cityLink);

            foreach (Models.Forecast.Response response in forecastRoot.response)
            {
                foreach (Period period in response.periods)
                {
                    ForecastDayViewModel dayViewModel = new ForecastDayViewModel {
                        Date             = period.dateTimeISO.Date.Month + "/" + period.dateTimeISO.Date.Day,
                        TemperatureRange = "" + period.minTempF + " - " + period.maxTempF,
                        ImageUrl         = GetIconURLFromName(period.icon),
                        Description      = period.weather
                    };
                    ViewModel.Forecast.Add(dayViewModel);
                }
            }
        }
Exemple #2
0
        private async Task UpdateWeather(string cityLink)
        {
            WeatherRetriever     weatherRetriever = new Lab6.WeatherRetriever();
            ConditionsRootObject conditionsRoot   = await weatherRetriever.GetConditions(cityLink);

            ViewModel.Description  = conditionsRoot.current_observation.weather;
            ViewModel.LocationName = conditionsRoot.current_observation.display_location.full;
            ViewModel.Temperature  = conditionsRoot.current_observation.temperature_string;
            ViewModel.ImageUrl     = conditionsRoot.current_observation.icon_url;

            ForecastRootObject forecastRoot = await weatherRetriever.GetForecast(cityLink);

            ForecastDayViewModel ViewForecast = new ForecastDayViewModel();

            ViewForecast.Date        = forecastRoot.forecast.txt_forecast.date;
            ViewForecast.Temperature = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(0).low.fahrenheit;
            ViewForecast.ImageUrl    = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(0).icon_url;
            ViewForecast.Description = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(0).conditions;
            forecasts.Add(ViewForecast);
            ForecastDayViewModel ViewForecast1 = new ForecastDayViewModel();

            ViewForecast1.Date        = forecastRoot.forecast.txt_forecast.date;
            ViewForecast1.Temperature = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(1).low.fahrenheit;
            ViewForecast1.ImageUrl    = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(1).icon_url;
            ViewForecast1.Description = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(1).conditions;
            forecasts.Add(ViewForecast1);
            ForecastDayViewModel ViewForecast2 = new ForecastDayViewModel();

            ViewForecast2.Date        = forecastRoot.forecast.txt_forecast.date;
            ViewForecast2.Temperature = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(2).low.fahrenheit;
            ViewForecast2.ImageUrl    = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(2).icon_url;
            ViewForecast2.Description = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(2).conditions;
            forecasts.Add(ViewForecast2);
            ForecastDayViewModel ViewForecast3 = new ForecastDayViewModel();

            ViewForecast3.Date        = forecastRoot.forecast.txt_forecast.date;
            ViewForecast3.Temperature = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(3).low.fahrenheit;
            ViewForecast3.ImageUrl    = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(3).icon_url;
            ViewForecast3.Description = forecastRoot.forecast.simpleforecast.forecastday.ElementAt(3).conditions;
            forecasts.Add(ViewForecast3);
        }
Exemple #3
0
        private async Task UpdateForecast(string cityLink)
        {
            WeatherRetriever weatherRetriever = new WeatherRetriever();

            ForecastRootObject forecastRoot = await weatherRetriever.GetForecast(cityLink);

            ViewModel.Forecast.Clear();

            foreach (Models.Forecast.Response resp in forecastRoot.response)
            {
                List <Period> periods = resp.periods;

                foreach (Period input in periods)
                {
                    ForecastDayViewModel ViewModel2 = new ForecastDayViewModel();
                    ViewModel2.TempRange = input.maxTempF + "-" + input.minTempF;
                    ViewModel2.Date      = input.dateTimeISO.Date.Month + "/" + input.dateTimeISO.Day;
                    ViewModel2.DescriDay = input.weather;
                    ViewModel2.Image     = GetIconURLFromName(input.icon);

                    ViewModel.Forecast.Add(ViewModel2);
                }
            }
        }