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); }
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]); }
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]); }
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>()); } }
/// <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); }
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}" ); }
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]); }
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]); }
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")); }
private static async Task <List <List <FiveDaysForecastResult> > > GetFiveDaysForecastByCityCode(Module module) { return(await FiveDaysForecast.GetByCityId(Convert.ToInt32(module.CityCode), module.Language, "metric")); }