public List <Domain.QueryView> QueryAuthorized(Func <QueryDescriptor <Domain.QueryView>, QueryDescriptor <Domain.QueryView> > container) { QueryDescriptor <Domain.QueryView> q = container(QueryDescriptorBuilder.Build <Domain.QueryView>()); var datas = _queryViewRepository.Query(q).ToList(); if (datas.NotEmpty()) { var authIds = datas.Where(x => x.AuthorizationEnabled).Select(x => x.QueryViewId).ToArray(); if (authIds.NotEmpty()) { var authorizedItems = _roleObjectAccessService.Authorized(QueryViewDefaults.ModuleName, authIds); datas.RemoveAll(x => x.AuthorizationEnabled && !authorizedItems.Contains(x.QueryViewId)); } } WrapLocalizedLabel(datas); return(datas); }
public List <Domain.SystemForm> QueryAuthorized(Func <QueryDescriptor <Domain.SystemForm>, QueryDescriptor <Domain.SystemForm> > container, FormType formType) { container += (QueryDescriptor <Domain.SystemForm> x) => { x.Where(f => f.FormType == (int)formType); return(x); }; QueryDescriptor <Domain.SystemForm> q = container(QueryDescriptorBuilder.Build <Domain.SystemForm>()); var datas = _systemFormRepository.Query(q)?.ToList(); if (datas.NotEmpty()) { var formIds = datas.Where(x => x.AuthorizationEnabled).Select(x => x.SystemFormId).ToArray(); if (formIds.NotEmpty()) { var authorizedItems = _roleObjectAccessService.Authorized(formType == FormType.Dashboard ? DashBoardDefaults.ModuleName : FormDefaults.ModuleName, formIds); datas.RemoveAll(x => x.AuthorizationEnabled && !authorizedItems.Contains(x.SystemFormId)); } } WrapLocalizedLabel(datas); return(datas); }
public List <WorkFlow> QueryAuthorized(Guid entityid, FlowType category) { var q = QueryDescriptorBuilder.Build <WorkFlow>(); q.Where(f => f.EntityId == entityid); var datas = _workFlowRepository.Query(x => x.EntityId == entityid && x.StateCode == Xms.Core.RecordState.Enabled && x.Category == (int)category)?.ToList(); if (datas.NotEmpty()) { var authIds = datas.Where(x => x.AuthorizationEnabled).Select(x => x.WorkFlowId).ToArray(); if (authIds.NotEmpty()) { var authorizedItems = _roleObjectAccessService.Authorized(WorkFlowDefaults.ModuleName, authIds); datas.RemoveAll(x => x.AuthorizationEnabled && !authorizedItems.Contains(x.WorkFlowId)); } } WrapLocalizedLabel(datas); return(datas); }