示例#1
0
        public async Task <ApiResult <List <TreeListSysRoleDto> > > GetRoleTreeList(string Id)
        {
            ApiResult <List <TreeListSysRoleDto> > res = new ApiResult <List <TreeListSysRoleDto> >();

            res.data = new List <TreeListSysRoleDto>();
            TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext);

            try
            {
                var RoleList = _mapper.Map <List <TreeListSysRoleDto> >(await _sysRoleService.QueryAsync(s => s.OrganizeId == Id));

                var sysRole = new List <TreeListSysRoleDto>();
                sysRole.AddRange(RoleList);

                //如果不是管理员
                if (!token.IsAdmin)
                {
                    var sysRoleInfo = sysRole.Where(s => s.key == token.Role).FirstOrDefault();
                    sysRoleInfo.children = new List <TreeListSysRoleDto>();
                    sysRoleInfo.children.AddRange(TreeGenerateTools.TreeGroup(RoleList.Where(s => s.key != sysRoleInfo.key).ToList(), sysRoleInfo.key));
                    res.data.Add(sysRoleInfo);
                }
                else
                {
                    res.data.AddRange(TreeGenerateTools.TreeGroup(RoleList, "00000000-0000-0000-0000-000000000000"));
                }
            }
            catch (Exception ex)
            {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }
            return(await Task.Run(() => res));
        }
示例#2
0
        public async Task <ApiResult <List <TreeListSysOrganizeDto> > > GetOrganizeTreeList()
        {
            ApiResult <List <TreeListSysOrganizeDto> > res = new ApiResult <List <TreeListSysOrganizeDto> >();

            res.data = new List <TreeListSysOrganizeDto>();
            TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext);

            try
            {
                var OrganizeList = _mapper.Map <List <TreeListSysOrganizeDto> >(await _sysOrganizeService.QueryAsync());

                List <TreeListSysOrganizeDto> TreeList = new List <TreeListSysOrganizeDto>();
                TreeList.AddRange(OrganizeList.FindAll(s => s.key == token.Organize));
                foreach (var item in TreeList)
                {
                    item.children = new List <TreeListSysOrganizeDto>();
                    item.children.AddRange(TreeGenerateTools.TreeGroup(OrganizeList.Where(s => s.key == item.key).ToList(), item.key));
                    res.data.Add(item);
                }
            }
            catch (Exception ex)
            {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }
            return(await Task.Run(() => res));
        }
示例#3
0
        public async Task <ApiResult <List <TreeListSysModuleDto> > > GetModuleTreeList()
        {
            ApiResult <List <TreeListSysModuleDto> > res = new ApiResult <List <TreeListSysModuleDto> >();
            TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext);


            try {
                var ModuleList = await _sysModuleService.QueryAsync(s => s.DeleteMark == false && s.EnabledMark == true);

                res.data = TreeGenerateTools.TreeGroup(_mapper.Map <List <TreeListSysModuleDto> >(ModuleList), "00000000-0000-0000-0000-000000000000");
            }
            catch (Exception ex) {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }

            return(await Task.Run(() => res));
        }
示例#4
0
        public async Task <ApiResult <List <CommonTreeModel> > > GetModuleTreeAuthList(string Id)
        {
            ApiResult <List <CommonTreeModel> > res = new ApiResult <List <CommonTreeModel> >();

            res.data = new List <CommonTreeModel>();
            TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext);

            try
            {
                //获取可以看到的 模块
                var ModuleList = await _sysRoleAuthorizeService.GetRoleModuleByIdAsync(token.Role);

                if (ModuleList.Count > 0)
                {
                    //查询这个角色是否是菜单
                    var role = await _sysRoleService.QueryByIDAsync(Id);

                    //如果不是菜单
                    if (!string.IsNullOrEmpty(Id) && !UniversalTool.ModuleIsNull(role))
                    {
                        //获取传入角色的权限信息
                        List <string> roleKeyList = (await _sysRoleAuthorizeService.GetRoleModuleByIdAsync(Id)).Select(s => s.key).ToList();
                        ModuleList.Where(a => roleKeyList.Contains(a.key) && a.type == 1).ToList().ForEach(a => a.@checked = true);
                        //如果打开的是自己的就禁用
                        if (Id == token.Role)
                        {
                            ModuleList.ForEach(a => a.disableCheckbox = true);
                        }
                    }

                    res.data.AddRange(TreeGenerateTools.TreeGroup(ModuleList, "00000000-0000-0000-0000-000000000000"));
                }
            }
            catch (Exception ex)
            {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }

            return(await Task.Run(() => res));
        }