示例#1
0
        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());
        }
示例#2
0
        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());
        }