public object Delete(UserJunction request) { switch (request.Junction.ToLower().TrimAndPruneSpaces()) { case "comment": return(RemoveJunction <User, DocEntityUser, DocEntityComment, Comment, CommentSearch>((int)request.Id, DocConstantModelName.COMMENT, "Comments", request)); case "documentset": return(RemoveJunction <User, DocEntityUser, DocEntityDocumentSet, DocumentSet, DocumentSetSearch>((int)request.Id, DocConstantModelName.DOCUMENTSET, "DocumentSets", request)); case "favorite": return(RemoveJunction <User, DocEntityUser, DocEntityFavorite, Favorite, FavoriteSearch>((int)request.Id, DocConstantModelName.FAVORITE, "Favorites", request)); case "role": return(RemoveJunction <User, DocEntityUser, DocEntityRole, Role, RoleSearch>((int)request.Id, DocConstantModelName.ROLE, "Roles", request)); case "scope": return(RemoveJunction <User, DocEntityUser, DocEntityScope, Scope, ScopeSearch>((int)request.Id, DocConstantModelName.SCOPE, "Scopes", request)); case "tag": return(RemoveJunction <User, DocEntityUser, DocEntityTag, Tag, TagSearch>((int)request.Id, DocConstantModelName.TAG, "Tags", request)); case "update": return(RemoveJunction <User, DocEntityUser, DocEntityUpdate, Update, UpdateSearch>((int)request.Id, DocConstantModelName.UPDATE, "Updates", request)); default: throw new HttpError(HttpStatusCode.NotFound, $"Route for user/{request.Id}/{request.Junction} was not found"); } }
public object Get(UserJunction request) { switch (request.Junction.ToLower().TrimAndPruneSpaces()) { case "auditrecord": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityAuditRecord, AuditRecord, AuditRecordSearch>((int)request.Id, DocConstantModelName.AUDITRECORD, "Audits", request, (ss) => HostContext.ResolveService <AuditRecordService>(Request)?.Get(ss))); case "lookuptablebinding": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityLookupTableBinding, LookupTableBinding, LookupTableBindingSearch>((int)request.Id, DocConstantModelName.LOOKUPTABLEBINDING, "Bindings", request, (ss) => HostContext.ResolveService <LookupTableBindingService>(Request)?.Get(ss))); case "comment": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityComment, Comment, CommentSearch>((int)request.Id, DocConstantModelName.COMMENT, "Comments", request, (ss) => HostContext.ResolveService <CommentService>(Request)?.Get(ss))); case "documentset": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityDocumentSet, DocumentSet, DocumentSetSearch>((int)request.Id, DocConstantModelName.DOCUMENTSET, "DocumentSets", request, (ss) => HostContext.ResolveService <DocumentSetService>(Request)?.Get(ss))); case "favorite": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityFavorite, Favorite, FavoriteSearch>((int)request.Id, DocConstantModelName.FAVORITE, "Favorites", request, (ss) => HostContext.ResolveService <FavoriteService>(Request)?.Get(ss))); case "history": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityHistory, History, HistorySearch>((int)request.Id, DocConstantModelName.HISTORY, "History", request, (ss) => HostContext.ResolveService <HistoryService>(Request)?.Get(ss))); case "impersonateduser": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityImpersonation, Impersonation, ImpersonationSearch>((int)request.Id, DocConstantModelName.IMPERSONATION, "Impersonated", request, (ss) => HostContext.ResolveService <ImpersonationService>(Request)?.Get(ss))); case "impersonatinguser": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityImpersonation, Impersonation, ImpersonationSearch>((int)request.Id, DocConstantModelName.IMPERSONATION, "Impersonating", request, (ss) => HostContext.ResolveService <ImpersonationService>(Request)?.Get(ss))); case "role": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityRole, Role, RoleSearch>((int)request.Id, DocConstantModelName.ROLE, "Roles", request, (ss) => HostContext.ResolveService <RoleService>(Request)?.Get(ss))); case "scope": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityScope, Scope, ScopeSearch>((int)request.Id, DocConstantModelName.SCOPE, "Scopes", request, (ss) => HostContext.ResolveService <ScopeService>(Request)?.Get(ss))); case "session": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityUserSession, UserSession, UserSessionSearch>((int)request.Id, DocConstantModelName.USERSESSION, "Sessions", request, (ss) => HostContext.ResolveService <UserSessionService>(Request)?.Get(ss))); case "tag": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityTag, Tag, TagSearch>((int)request.Id, DocConstantModelName.TAG, "Tags", request, (ss) => HostContext.ResolveService <TagService>(Request)?.Get(ss))); case "team": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityTeam, Team, TeamSearch>((int)request.Id, DocConstantModelName.TEAM, "Teams", request, (ss) => HostContext.ResolveService <TeamService>(Request)?.Get(ss))); case "timecard": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityTimeCard, TimeCard, TimeCardSearch>((int)request.Id, DocConstantModelName.TIMECARD, "TimeCards", request, (ss) => HostContext.ResolveService <TimeCardService>(Request)?.Get(ss))); case "update": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityUpdate, Update, UpdateSearch>((int)request.Id, DocConstantModelName.UPDATE, "Updates", request, (ss) => HostContext.ResolveService <UpdateService>(Request)?.Get(ss))); case "workflow": return(GetJunctionSearchResult <User, DocEntityUser, DocEntityWorkflow, Workflow, WorkflowSearch>((int)request.Id, DocConstantModelName.WORKFLOW, "Workflows", request, (ss) => HostContext.ResolveService <WorkflowService>(Request)?.Get(ss))); default: throw new HttpError(HttpStatusCode.NotFound, $"Route for user/{request.Id}/{request.Junction} was not found"); } }