public IEnumerable<ModuleDto> GetModuleListByRole(ModuleQueryInput input) { //Title:对于这种input不允许不传值的,直接比较,如果没值,就查不到。 //传入角色对应的模块ID集合 var moduleIdList = _roleModulePermissionRepository.GetAll() .Where(m => input.RoleIdList.Contains(m.RoleId) && !m.IsDeleted).Select(m => m.ModuleId).Distinct() .ToList(); //先查第一级 var resulModuleList = _moduleRepository.GetAll().Where(m => moduleIdList.Contains(m.Id) && !m.ParentId.HasValue && !m.IsDeleted).OrderBy(m=>m.OrderSort).MapToList<ModuleDto>(); //所有的二级 var childrenModuleList = _moduleRepository.GetAll().Where(m => moduleIdList.Contains(m.Id) && m.ParentId.HasValue && !m.IsDeleted).MapToList<ModuleDto>(); //循环给第一级添加下级 foreach (var item in resulModuleList) { item.ChildModule = childrenModuleList.Where(m => m.ParentId == item.Id).OrderBy(m=>m.OrderSort).ToList(); } return resulModuleList; }
public IEnumerable <ModuleDto> GetModuleListByRole(ModuleQueryInput input) { //Title:对于这种input不允许不传值的,直接比较,如果没值,就查不到。 //传入角色对应的模块ID集合 var moduleIdList = _roleModulePermissionRepository.GetAll() .Where(m => input.RoleIdList.Contains(m.RoleId) && !m.IsDeleted).Select(m => m.ModuleId).Distinct() .ToList(); //先查第一级 var resulModuleList = _moduleRepository.GetAll().Where(m => moduleIdList.Contains(m.Id) && !m.ParentId.HasValue && !m.IsDeleted).OrderBy(m => m.OrderSort).MapToList <ModuleDto>(); //所有的二级 var childrenModuleList = _moduleRepository.GetAll().Where(m => moduleIdList.Contains(m.Id) && m.ParentId.HasValue && !m.IsDeleted).MapToList <ModuleDto>(); //循环给第一级添加下级 foreach (var item in resulModuleList) { item.ChildModule = childrenModuleList.Where(m => m.ParentId == item.Id).OrderBy(m => m.OrderSort).ToList(); } return(resulModuleList); }
public QueryRequestOut <ModuleItem> GetAll(ModuleQueryInput input) { return(_moduleRepository.GetAll() .WhereIf(!input.Keywords.IsNullOrWhiteSpace(), m => m.Name.Contains(input.Keywords)) .ToOutPut <ModuleItem>(input)); }
public JsonResult List(ModuleQueryInput input) { var list = _moduleService.GetAll(input); return ToJson(list); }
public QueryRequestOut<ModuleItem> GetAll(ModuleQueryInput input) { return _moduleRepository.GetAll() .WhereIf(!input.Keywords.IsNullOrWhiteSpace(),m=>m.Name.Contains(input.Keywords)) .ToOutPut<ModuleItem>(input); }