private async Task UpdateWeather(string cityLink) { WeatherRetriever weatherRetriever = new WeatherRetriever(); ObservationsRootObject observationsRoot = await weatherRetriever.GetObservations(cityLink); ForecastRootObject forecastRoot = await weatherRetriever.GetForecast(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; ViewModel.ImageUrl = GetIconURLFromName(observationsRoot.response.ob.icon); foreach (Models.Forecast.Response resp in forecastRoot.response) { int count = 0; foreach (Period period in resp.periods) { ViewModel.Forecast[count].Date = period.validTime.ToString().Substring(0, 3); ViewModel.Forecast[count].TempRange = period.minTempF.ToString() + " - " + period.maxTempF.ToString(); ViewModel.Forecast[count].Weather = period.weather; ViewModel.Forecast[count].ImageUrl = GetIconURLFromName(period.icon); count++; } } }
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 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; ViewModel.ImageUrl = GetIconURLFromName(observationsRoot.response.ob.icon); }
private async Task UpdateWeather(string cityLink, int limit) { 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; ViewModel.ImageUrl = GetIconURLFromName(observationsRoot.response.ob.icon); ViewModel.Forecast.Clear(); ForecastRootObject forecastRootObject = await weatherRetriever.GetForecasts(cityLink, limit); for (int i = 0; i < limit; i++) { ViewModel.Forecast.Add(new ForecastDayViewModel { Date = (forecastRootObject.response[0].periods[i].dateTimeISO.Month + "/" + forecastRootObject.response[0].periods[i].dateTimeISO.Day), Temp = (forecastRootObject.response[0].periods[i].minTempF + "-" + forecastRootObject.response[0].periods[i].maxTempF), Description = forecastRootObject.response[0].periods[i].weather, ImageUrl = GetIconURLFromName(forecastRootObject.response[0].periods[i].icon) }); } }