Example #1
0
        public object Delete(TagJunction request)
        {
            switch (request.Junction.ToLower().TrimAndPruneSpaces())
            {
            case "comment":
                return(RemoveJunction <Tag, DocEntityTag, DocEntityComment, Comment, CommentSearch>((int)request.Id, DocConstantModelName.COMMENT, "Comments", request));

            case "favorite":
                return(RemoveJunction <Tag, DocEntityTag, DocEntityFavorite, Favorite, FavoriteSearch>((int)request.Id, DocConstantModelName.FAVORITE, "Favorites", request));

            case "owners":
                return(RemoveJunction <Tag, DocEntityTag, DocEntityTag, Tag, TagSearch>((int)request.Id, DocConstantModelName.TAG, "Owner", request));

            case "scope":
                return(RemoveJunction <Tag, DocEntityTag, DocEntityScope, Scope, ScopeSearch>((int)request.Id, DocConstantModelName.SCOPE, "Scopes", request));

            case "tag":
                return(RemoveJunction <Tag, DocEntityTag, DocEntityTag, Tag, TagSearch>((int)request.Id, DocConstantModelName.TAG, "Tags", request));

            default:
                throw new HttpError(HttpStatusCode.NotFound, $"Route for tag/{request.Id}/{request.Junction} was not found");
            }
        }
Example #2
0
        public object Get(TagJunction request)
        {
            switch (request.Junction.ToLower().TrimAndPruneSpaces())
            {
            case "comment":
                return(GetJunctionSearchResult <Tag, DocEntityTag, DocEntityComment, Comment, CommentSearch>((int)request.Id, DocConstantModelName.COMMENT, "Comments", request, (ss) => HostContext.ResolveService <CommentService>(Request)?.Get(ss)));

            case "favorite":
                return(GetJunctionSearchResult <Tag, DocEntityTag, DocEntityFavorite, Favorite, FavoriteSearch>((int)request.Id, DocConstantModelName.FAVORITE, "Favorites", request, (ss) => HostContext.ResolveService <FavoriteService>(Request)?.Get(ss)));

            case "owners":
                return(GetJunctionSearchResult <Tag, DocEntityTag, DocEntityTag, Tag, TagSearch>((int)request.Id, DocConstantModelName.TAG, "Owner", request, (ss) => HostContext.ResolveService <TagService>(Request)?.Get(ss)));

            case "scope":
                return(GetJunctionSearchResult <Tag, DocEntityTag, DocEntityScope, Scope, ScopeSearch>((int)request.Id, DocConstantModelName.SCOPE, "Scopes", request, (ss) => HostContext.ResolveService <ScopeService>(Request)?.Get(ss)));

            case "tag":
                return(GetJunctionSearchResult <Tag, DocEntityTag, DocEntityTag, Tag, TagSearch>((int)request.Id, DocConstantModelName.TAG, "Tags", request, (ss) => HostContext.ResolveService <TagService>(Request)?.Get(ss)));

            default:
                throw new HttpError(HttpStatusCode.NotFound, $"Route for tag/{request.Id}/{request.Junction} was not found");
            }
        }