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); } } }
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); }
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); } } }