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; }
public async Task <ConditionsRootObject> GetConditions() { HttpClient httpClient = new HttpClient(); string apiUrl = $"https://newsapi.org/v1/articles?source=the-wall-street-journal&sortBy=top&apiKey={apiKey}"; string responseString = await httpClient.GetStringAsync(apiUrl); ConditionsRootObject conditions = JsonConvert.DeserializeObject <ConditionsRootObject>(responseString); return(conditions); }
public async Task <ConditionsRootObject> GetConditions(string cityLink) { HttpClient httpClient = new HttpClient(); string apiUrl = $"http://api.wunderground.com/api/{apiKey}/conditions{cityLink}.json"; string responseString = await httpClient.GetStringAsync(apiUrl); ConditionsRootObject conditions = JsonConvert.DeserializeObject <ConditionsRootObject>(responseString); return(conditions); }
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 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; ViewModel.temp = conditionsRoot.Current_observation.Temp_f; // These checks are to notify the user if their plants are in danger of anything if (ViewModel.temp < 32) { WarningTextBlock.Text = "Warning : There is frost outside"; } if (!(ViewModel.Description.Equals("rain") || ViewModel.Description.Equals("thunderstorm"))) { WarningTextBlock.Text = "Warning : May need to water your garden"; } }
private async Task MoreNews() { NewsRetriever newsRetriever = new NewsRetriever(); ConditionsRootObject conditionsRoot = await newsRetriever.GetConditions(); NewsDayViewModel first = new NewsDayViewModel(); first.author = conditionsRoot.articles.ElementAt(4).author; first.title = conditionsRoot.articles.ElementAt(4).title; first.description = conditionsRoot.articles.ElementAt(4).description; first.url = conditionsRoot.articles.ElementAt(4).url; first.urlToImage = conditionsRoot.articles.ElementAt(4).urlToImage; news.Add(first); NewsDayViewModel second = new NewsDayViewModel(); second.author = conditionsRoot.articles.ElementAt(5).author; second.title = conditionsRoot.articles.ElementAt(5).title; second.description = conditionsRoot.articles.ElementAt(5).description; second.url = conditionsRoot.articles.ElementAt(5).url; second.urlToImage = conditionsRoot.articles.ElementAt(5).urlToImage; news.Add(second); NewsDayViewModel third = new NewsDayViewModel(); third.author = conditionsRoot.articles.ElementAt(6).author; third.title = conditionsRoot.articles.ElementAt(6).title; third.description = conditionsRoot.articles.ElementAt(6).description; third.url = conditionsRoot.articles.ElementAt(6).url; third.urlToImage = conditionsRoot.articles.ElementAt(6).urlToImage; news.Add(third); NewsDayViewModel fourth = new NewsDayViewModel(); fourth.author = conditionsRoot.articles.ElementAt(7).author; fourth.title = conditionsRoot.articles.ElementAt(7).title; fourth.description = conditionsRoot.articles.ElementAt(7).description; fourth.url = conditionsRoot.articles.ElementAt(7).url; fourth.urlToImage = conditionsRoot.articles.ElementAt(7).urlToImage; news.Add(fourth); }