Ejemplo n.º 1
0
        public void ConfigureRoutes(HttpConfiguration config, bool useSchoolYear)
        {
            Preconditions.ThrowIfNull(config, nameof(config));

            var routeConstraints = RouteConfigurationHelper.CreateSchoolYearConstraint(useSchoolYear);

            var schoolYearSegment = useSchoolYear
                ? "{schoolYearFromRoute}/"
                : string.Empty;

            config.Routes.MapHttpRoute(
                name: "IdentitiesCreate",
                routeTemplate: "identity/v{identityVersion}/" + schoolYearSegment + "identities",
                defaults: new
            {
                identityVersion = ApiVersionConstants.Identity,
                controller      = "Identities",
                action          = "Create"
            },
                constraints: routeConstraints
                );

            config.Routes.MapHttpRoute(
                name: "IdentitiesFind",
                routeTemplate: "identity/v{identityVersion}/" + schoolYearSegment + "identities/find",
                defaults: new
            {
                identityVersion = ApiVersionConstants.Identity,
                controller      = "Identities",
                action          = "Find"
            },
                constraints: routeConstraints
                );

            config.Routes.MapHttpRoute(
                name: "IdentitiesSearch",
                routeTemplate: "identity/v{identityVersion}/" + schoolYearSegment + "identities/search",
                defaults: new
            {
                identityVersion = ApiVersionConstants.Identity,
                controller      = "Identities",
                action          = "Search"
            },
                constraints: routeConstraints
                );

            config.Routes.MapHttpRoute(
                name: "IdentitiesGetById",
                routeTemplate: "identity/v{identityVersion}/" + schoolYearSegment + "identities/{id}",
                defaults: new
            {
                identityVersion = ApiVersionConstants.Identity,
                controller      = "Identities",
                action          = "GetById"
            },
                constraints: routeConstraints
                );

            config.Routes.MapHttpRoute(
                name: "IdentitiesSearchResult",
                routeTemplate: "identity/v{identityVersion}/" + schoolYearSegment + "identities/results/{id}",
                defaults: new
            {
                identityVersion = ApiVersionConstants.Identity,
                controller      = "Identities",
                action          = "Result"
            },
                constraints: routeConstraints
                );
        }