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(); 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; }
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 SearchForCities(string userText) { WeatherRetriever weatherRetriever = new WeatherRetriever(); AutoCompleteRootObject acr = await weatherRetriever.GetSuggestions(userText); ViewModel.AutoCompleteNames = new List <string>(); foreach (Models.AutoComplete.Response resp in acr.response) { string fullName = resp.place.name; if (resp.place.state != null && resp.place.state != "") { fullName += "," + resp.place.state; } fullName += "," + resp.place.country; ViewModel.AutoCompleteNames.Add(fullName); } LocationAutoSuggestBox.ItemsSource = ViewModel.AutoCompleteNames; }
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) }); } }
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); } } }