Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
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);
        }
Beispiel #5
0
        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";
            }
        }
Beispiel #6
0
        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);
        }