예제 #1
0
        public static async Task <SiteDopResults> GetDopAtASite(
            NavigationData <IVerifiable> dopDataForSite)
        {
            string relativeUri = string.Empty;

            dopDataForSite.Verify();

            if ((Type)dopDataForSite.Path == typeof(SiteData))
            {
                relativeUri = ServiceUris.NavigationDopSiteUri;
            }

            if (string.IsNullOrEmpty(relativeUri))
            {
                throw new ArgumentOutOfRangeException("dopDataForSite", (Type)dopDataForSite.Path,
                                                      (Type)dopDataForSite.Path + " is not a valid type for Navigation paths");
            }

            var uri = Networking.GetFullUri(relativeUri);

            return(await Networking.HttpPostCall <NavigationData <IVerifiable>,
                                                  SiteDopResults>(uri, dopDataForSite));
        }
예제 #2
0
        public static async Task <RouteDopResults> GetDopOnARoute(NavigationData <IVerifiable> dopDataForRoute)
        {
            string relativeUri = string.Empty;

            dopDataForRoute.Verify();

            if ((Type)dopDataForRoute.Path == typeof(PointToPointRouteData))
            {
                relativeUri = ServiceUris.NavigationDopPointToPointUri;
            }
            else if ((Type)dopDataForRoute.Path == typeof(SimpleFlightRouteData))
            {
                relativeUri = ServiceUris.NavigationDopSimpleFlightUri;
            }
            else if ((Type)dopDataForRoute.Path == typeof(TolRouteData))
            {
                relativeUri = ServiceUris.NavigationDopTolUri;
            }
            else if ((Type)dopDataForRoute.Path == typeof(RasterRouteData))
            {
                relativeUri = ServiceUris.NavigationDopRasterUri;
            }
            else if ((Type)dopDataForRoute.Path == typeof(GreatArcRouteData))
            {
                relativeUri = ServiceUris.NavigationDopGreatArcUri;
            }

            if (string.IsNullOrEmpty(relativeUri))
            {
                throw new ArgumentOutOfRangeException("accessData", (Type)dopDataForRoute.Path,
                                                      (Type)dopDataForRoute.Path + " is not a valid type for Navigation paths");
            }

            var uri = Networking.GetFullUri(relativeUri);

            return(await Networking.HttpPostCall <NavigationData <IVerifiable>, RouteDopResults>(uri, dopDataForRoute));
        }