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)); }
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); }