static void GetCurrentForecast(float lat, float lng, string tempScale)
        {
            try
            {
                // Plugs google response into openweathermap API
                WebRequest   request  = WebRequest.Create("http://api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lng + "&APPID=408e6e270720aed460c1c391408063f5");
                WebResponse  response = request.GetResponse();
                Stream       apiText  = response.GetResponseStream();
                StreamReader reader   = new StreamReader(apiText);
                serverData = reader.ReadToEnd();

                // Pulls current temperature in Kelvin
                CurrentTemp tmp = JsonConvert.DeserializeObject <CurrentTemp>((JObject.Parse(serverData)["main"]).ToString());
                //Main tmpMax = JsonConvert.DeserializeObject<Main>((JObject.Parse(serverData)["temp_max"]).ToString());
                //Main tmpMin = JsonConvert.DeserializeObject<Main>((JObject.Parse(serverData)["temp_min"]).ToString());
                OpenWeatherMap_Current.Weather condition = JsonConvert.DeserializeObject <OpenWeatherMap_Current.Weather>((JObject.Parse(serverData)["weather"][0]).ToString());

                // Invokes logkeeper to track each query
                InvokeCurrentTempLogkeeper(tmp.Temp);

                Console.WriteLine();
                Console.WriteLine("   " + UNDERLINE + "               " + RESET);
                Console.WriteLine("***" + UNDERLINE + "CURRENT WEATHER" + RESET + "***");
                Console.WriteLine();
                // Converts temperature in Kelvin to Farenheit or Celsius,
                // dependent on user choice

                DisplayTemp(tempScale, tmp.Temp, tmp.TempMax, tmp.TempMin);

                Console.WriteLine("CONDITIONS: " + condition.Description.ToUpper());
                Console.WriteLine();

                // Closes StreamReader
                reader.Close();
                response.Close();
            }
            catch (System.Net.WebException)
            {
                Console.WriteLine("You may be over the request limit! Try again soon.");
            }
        }
Example #2
0
        public async Task GetCurrentTempAsync_LondonsIdIspassed_resultIsNotNull()
        {
            CurrentTemp result = await WeatherProvider.GetCurrentTempAsync("328328");

            Assert.IsNotNull(result);
        }