public async Task <WeatherDataForecast> GetForecastData(string query) { var current = Connectivity.NetworkAccess; if (current == NetworkAccess.Internet) { // NO CONNECTION WeatherDataForecast weatherData = null; try { var response = await _client.GetAsync(query); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); weatherData = JsonConvert.DeserializeObject <WeatherDataForecast>(content); } } catch (Exception ex) { Debug.WriteLine("\t\tERROR {0}", ex.Message); } return(weatherData); } else { return(null); } }
async void OnGetWeather(string city) { if (!string.IsNullOrWhiteSpace(city)) { WeatherDataForecast weatherData = await _restService.GetForecastData(GenerateRequestUri(Constants.OpenWeatherMapEndpointForecast, city)); if (weatherData == null) { this.DisplayAlert("", "No internet connection", "OK"); } else { weatherData.List[0].Main.Temp = weatherData.List[0].Main.Temp + "°C "; weatherImage.Source = "http://openweathermap.org/img/w/" + weatherData.List[0].Weather[0].Icon + ".png"; Day_0.Text = System.DateTime.Now.AddDays(1).DayOfWeek.ToString(); Day_1.Text = System.DateTime.Now.AddDays(2).DayOfWeek.ToString(); Day_2.Text = System.DateTime.Now.AddDays(3).DayOfWeek.ToString(); BindingContext = weatherData; Application.Current.Properties["city"] = city; } } }