コード例 #1
0
        public override string ToString()
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            //adding required parrameters
            if (Origin != null)
            {
                parameters.Add("origin", Origin.ToString());
            }

            if (Destination != null)
            {
                parameters.Add("destination", value: Destination.ToString());
            }

            if (!string.IsNullOrEmpty(Key))
            {
                parameters.Add("key", Key);
            }


            //adding optional parametres
            if (TravelMode != null)
            {
                parameters.Add("mode", TravelMode.Value.ToString());
            }

            if (WayPoints != null && WayPoints.Count > 0)
            {
                parameters.Add("waypoints", string.Join("|", WayPoints.Distinct().Select(d => d.ToString())));
            }

            if (Alternatives)
            {
                parameters.Add("alternatives", Alternatives.ToString());
            }

            if (Avoid != null)
            {
                parameters.Add("avoid", string.Join("|", Avoid.Distinct().Select(d => d.ToString())));
            }

            if (!string.IsNullOrEmpty(Language))
            {
                parameters.Add("language", Language);
            }

            if (Units is UnitSystem.imperial)
            {
                parameters.Add("units", Units.ToString());
            }

            if (!string.IsNullOrEmpty(Region))
            {
                parameters.Add("region", Region);
            }

            if (!string.IsNullOrEmpty(ArrivalTime))
            {
                parameters.Add("arrival_time",
                               _ArrivalTime - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc) != null
                        ? Math.Floor((_ArrivalTime.Value.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds).ToString(CultureInfo.InvariantCulture)
                        : null);
            }

            if (!string.IsNullOrEmpty(DepartureTime))
            {
                parameters.Add("departure_time",
                               _DepartureTime != null
                        ?Math.Floor((_DepartureTime.Value.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))
                                    .TotalSeconds).ToString(CultureInfo.InvariantCulture)
                        : null);
            }

            if (TrafficModel != null)
            {
                parameters.Add("traffic_model", TrafficModel.ToString());
            }

            if (TransitMode != null)
            {
                parameters.Add("transit_mode", string.Join("|", TransitMode.Distinct().Select(d => d.ToString())));
            }

            if (TransitRoutingPreferences != null)
            {
                parameters.Add("transit_routing_preference", TransitRoutingPreferences.ToString());
            }

            return(string.Join("&", parameters.Select(d => d.Key + "=" + d.Value)));
        }
コード例 #2
0
        public override string ToString()
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            //adding required parrameters
            if (Origins != null)
            {
                parameters.Add("origins", string.Join("|", Origins.Select(d => d.ToString())));
            }

            if (Destinations != null)
            {
                parameters.Add("destinations", string.Join("|", Destinations.Select(d => d.ToString())));
            }

            if (!string.IsNullOrEmpty(Key))
            {
                parameters.Add("key", Key);
            }


            //adding optional parametres
            if (TravelMode != null)
            {
                parameters.Add("mode", TravelMode.Value.ToString());
            }



            if (Avoid != null)
            {
                parameters.Add("avoid", string.Join("|", Avoid.Distinct().Select(d => d.ToString())));
            }

            if (string.IsNullOrEmpty(Language))
            {
                parameters.Add("language", Language);
            }

            if (Units is UnitSystem.imperial)
            {
                parameters.Add("units", Units.ToString());
            }

            if (string.IsNullOrEmpty(Region))
            {
                parameters.Add("region", Region);
            }

            if (ArrivalTime != null)
            {
                parameters.Add("arrival_time",
                               ArrivalTime - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc) != null
                        ? (ArrivalTime.Value - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Seconds.ToString()
                        : null);
            }

            if (DepartureTime != null)
            {
                parameters.Add("departure_time",
                               DepartureTime - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc) != null
                        ? (DepartureTime.Value - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Seconds.ToString()
                        : null);
            }

            if (TrafficModel != null)
            {
                parameters.Add("traffic_model", TrafficModel.ToString());
            }

            if (TransitMode != null)
            {
                parameters.Add("transit_mode", string.Join("|", TransitMode.Distinct().Select(d => d.ToString())));
            }

            if (TransitRoutingPreference != null)
            {
                parameters.Add("transit_routing_preference", TransitRoutingPreference.ToString());
            }

            return(string.Join("&", parameters.Select(d => d.Key + "=" + d.Value)));
        }