Esempio n. 1
0
        public WeatherData GetWeatherForCity(string city)
        {
            var result = FiveDaysForecast.GetByCityName(city, "Czechia", "en", "metric");

            return(result.Success
                ? new WeatherData(city, result.Items.GroupBy(x => x.Date.Date).ToDictionary(x => x.Key, x => new WeatherRecord(x.First())))
                : null);
        }
Esempio n. 2
0
        public void GetFiveDaysForecastByCityCoordinatesTest()
        {
            //Does not exist
            var result = FiveDaysForecast.GetByCoordinates(-1984453.363665, -1984453.363665);

            Assert.IsFalse(result.Success);
            Assert.IsNull(result.Items);

            //Exist
            result = FiveDaysForecast.GetByCoordinates(53.363665, -6.255541, "se", "imperial");
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.Items);
            Assert.IsTrue(result.Items.Count > 0);
            Assert.IsNotNull(result.Items[0]);
        }
Esempio n. 3
0
        public void GetFiveDaysForecastByCityIdTest()
        {
            ClientConfig.ApiUrl = "http://api.openweathermap.org/data/2.5";
            ClientConfig.ApiKey = "a75f4b55aed47dd3b7b65f58a242855f";

            var result = FiveDaysForecast.GetByCityId(-100);

            Assert.IsFalse(result.Success);
            Assert.IsNull(result.Items);

            result = FiveDaysForecast.GetByCityId(3469968);
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.Items);
            Assert.IsTrue(result.Items.Count > 0);
            Assert.IsNotNull(result.Items[0]);
        }
Esempio n. 4
0
        public Result <FiveDaysForecastResult> ObterPrevisao(int idAPI)
        {
            try
            {
                //consulta a previsao na api
                ClientConfig.ApiUrl = "http://api.openweathermap.org/data/2.5";
                ClientConfig.ApiKey = "a75f4b55aed47dd3b7b65f58a242855f";
                var result = FiveDaysForecast.GetByCityId(idAPI);

                return(result);
            }
            catch (Exception)
            {
                return(new Result <FiveDaysForecastResult>());
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Returns forecast for the next five days
        /// </summary>
        /// <param name="cityKey">Key used to identify selected city</param>
        /// <param name="language">Selected language</param>
        /// <returns>A FiveDaysForecast object containing headline and list of forecasts for the next five days</returns>
        public static async Task <FiveDaysForecast> Get5DaysForecast(string cityKey, string language)
        {
            var conditions = new FiveDaysForecast();

            string url = BaseUrl + string.Format(forecast5dUrl, cityKey, ApiKey, language);

            using (HttpClient client = new HttpClient())
            {
                var response = await client.GetAsync(url);

                string json = await response.Content.ReadAsStringAsync();

                conditions = JsonConvert.DeserializeObject <FiveDaysForecast>(json);
            }
            return(conditions);
        }
Esempio n. 6
0
        public async Task WeatherForecast(Location location)
        {
            var weather  = CurrentWeather.GetByCityName("Kiev", "Ukrain");
            var forecast = FiveDaysForecast.GetByCoordinates(location.Latitude, location.Longitude);


            await TelegramBotClient.SendTextMessageAsync(
                chatId : Update.Message.Chat.Id,
                text : $"{weather.Item.Temp}"
                );

            var weather1 = CurrentWeather.GetByCoordinates(location.Latitude, location.Longitude);

            await TelegramBotClient.SendTextMessageAsync(
                chatId : Update.Message.Chat.Id,
                text : $"{weather1.Item.Temp}"
                );
        }
Esempio n. 7
0
        public void GetFiveDaysForecastByCityIdTest()
        {
            //Does not exist
            var result = FiveDaysForecast.GetByCityId(-2964574);

            Assert.IsFalse(result.Success);
            Assert.IsNull(result.Items);

            //Exist
            result = FiveDaysForecast.GetByCityId(2964574);
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.Items);
            Assert.IsTrue(result.Items.Count > 0);
            Assert.IsNotNull(result.Items[0]);

            result = FiveDaysForecast.GetByCityId(2964574, "de", "metric");
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.Items);
            Assert.IsTrue(result.Items.Count > 0);
            Assert.IsNotNull(result.Items[0]);
        }
Esempio n. 8
0
        public void GetFiveDaysForecastByCityNameTest()
        {
            //Does not exist
            var result = FiveDaysForecast.GetByCityName("12345325231432", "32412342134231");

            Assert.IsFalse(result.Success);
            Assert.IsNull(result.Items);

            //Exist
            result = FiveDaysForecast.GetByCityName("Dublin", "Ireland");
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.Items);
            Assert.IsTrue(result.Items.Count > 0);
            Assert.IsNotNull(result.Items[0]);

            result = FiveDaysForecast.GetByCityName("Dublin", "Ireland", "de", "metric");
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.Items);
            Assert.IsTrue(result.Items.Count > 0);
            Assert.IsNotNull(result.Items[0]);
        }
Esempio n. 9
0
        public static string GetWeather()
        {
            ClientSettings.SetApiKey("bd5e378503939ddaee76f12ad7a97608");   // 865190f17e5a219e99d7ce1336df43ba -- Our own
            var result  = CurrentWeather.GetByCityName("Toronto", "Canada", "en", "metric");
            var result2 = FiveDaysForecast.GetByCityName("Toronto", "Canada", "en", "metric");

            // Formation
            if (result.Success)
            {
                // Five day average
                double average = Math.Round(result2.Items.Average(item => item.Temp), 2, MidpointRounding.AwayFromZero);
                // Check rain in tomorrow
                FiveDaysForecastResult temp = result2.Items.Take(7).First(item => item.Description.Contains("rain"));
                string rainForecast         = (temp != null) ? "Tomorrow will have rain, remember to bring an umbrella." : "";
                // Generate output string
                string resultString = string.Format("Current weather in {0}, is {1}; Windspeed {2} meter per second, Temperature {3} degrees.\n Average temperature in next fives days are: {4} degrees. {5}",
                                                    result.Item.City, result.Item.Description, result.Item.WindSpeed, result.Item.Temp, average, rainForecast);
                return(resultString);
            }

            return(null);
        }
 private static async Task <List <List <FiveDaysForecastResult> > > getFiveDaysForecastByCityName(Module module)
 {
     return(await FiveDaysForecast.GetByCityName(module.City, module.Country, module.Language, "metric"));
 }
 public Result <FiveDaysForecastResult> GetFiveDayForcast()
 {
     return(FiveDaysForecast.GetByCityName("Brisbane", "Australia"));
 }
Esempio n. 12
0
 private static async Task <List <List <FiveDaysForecastResult> > > GetFiveDaysForecastByCityCode(Module module)
 {
     return(await FiveDaysForecast.GetByCityId(Convert.ToInt32(module.CityCode), module.Language, "metric"));
 }