public async Task <ApiResult> Get(SearchModuleReq req)
        {
            if (req == null)
            {
                return(Error("请求参数不能为空"));
            }
            Expression <Func <SysModule, bool> > exp = m => true;

            if (req.ParentId > 0)
            {
                if (req.IsAllChildren)
                {
                    var path = "," + req.ParentId + ",";
                    exp = exp.And(m => m.TreePath.Contains(path));
                }
                else
                {
                    exp = exp.And(m => m.ParentId == req.ParentId);
                }
            }
            var query = _sysModuleService.GetQueryable(exp);

            var list = await query.ToListAsync();

            return(Success(list));
        }
Exemple #2
0
        private async Task <List <SysModuleRes> > GetUserModules(List <long> roles)
        {
            var temp = from relation in _roleModuleService.GetQueryable(m => roles.Contains(m.RoleId)).Select(m => new { m.ModuleId, m.FuncPermission })
                       join module in _moduleService.GetQueryable() on relation.ModuleId equals module.Id
                       select new SysModuleRes
            {
                Id             = module.Id,
                Name           = module.Name,
                ParentId       = module.ParentId,
                ParentName     = module.ParentName,
                TreePath       = module.ParentName,
                Url            = module.Url,
                Component      = module.Component,
                FuncPermission = relation.FuncPermission,
                Icon           = module.Icon,
                IsLeaf         = module.IsLeaf,
                Sort           = module.Sort,
                IsAutoExpand   = module.IsAutoExpand,
                Remark         = module.Remark
            };

            var modules = await temp.ToListAsync();

            return(modules);
        }