public static string GetDistance(Dictionary <string, string> message) { StringBuilder replyString = new StringBuilder(); string firstCity; string secondCity; message.TryGetValue("location_value", out firstCity); message.TryGetValue("location_value2", out secondCity); var firstLocation = WitBotLocation.GetCityLocation(firstCity); var secondLocation = WitBotLocation.GetCityLocation(secondCity); GeoCoordinate first = new GeoCoordinate(firstLocation.Item1, firstLocation.Item2); GeoCoordinate second = new GeoCoordinate(secondLocation.Item1, secondLocation.Item2); var distance = Math.Round(first.GetDistanceTo(second) / 1000); replyString.AppendLine($"{distance} km."); return(replyString.ToString()); }
public static string GetWeather(Dictionary <string, string> message) { string city; message.TryGetValue("location_value", out city); var cityLocation = WitBotLocation.GetCityLocation(city); var forecastType = GetForecastType(message); var duration = SetForecastDuration(message, forecastType); var weather = WeatherFromLocation(cityLocation, forecastType, duration); StringBuilder reply_string = new StringBuilder(); reply_string.AppendLine($" Forecast for {weather.Item1}. \r\n"); var forecast = weather.Item2; foreach (var dayilyForecast in forecast) { reply_string.AppendLine($"{dayilyForecast.Item1.ToShortDateString()} Day temperature is {dayilyForecast.Item2} and night {dayilyForecast.Item3} degrees. \r\n"); reply_string.AppendLine($"Minimum temperature is {dayilyForecast.Item4} and maximum is {dayilyForecast.Item5}. \r\n"); } return(reply_string.ToString()); }