Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }