/// <summary> /// 获取菜单 /// </summary> /// <param name="menuTreeQueryRequest"></param> /// <returns></returns> public async Task <IList <MenuTreeViewResponse> > GetMenuForTree(MenuTreeQueryRequest menuTreeQueryRequest) { var menu = await _menuRespository.EntitiesByExpressionAsync(menuTreeQueryRequest.GetMenuTreeExpression() , m => new MenuQueryDto { Name = m.Name, Id = m.Id, ParentId = m.ParentId, SortIndex = m.SortIndex }, m => m.SortIndex); var id = Guid.Empty.ToString(); var result = GetTree(menu.ToList(), id); return(result.OrderBy(r => r.sortIndex).ToList()); }
public static Expression <Func <Menu, bool> > GetMenuTreeExpression(this MenuTreeQueryRequest menuQueryRequest) { var empty = string.Empty; Expression <Func <Menu, bool> > menuExpressionAnd = m => m.Id.ToString() != empty && m.IsDelete == false; if (!string.IsNullOrEmpty(menuQueryRequest.MenuName)) { menuExpressionAnd = menuExpressionAnd.And <Menu, string>(m => m.Name.Contains(menuQueryRequest.MenuName), menuQueryRequest.MenuName); } if (!string.IsNullOrEmpty(menuQueryRequest.ModuleId)) { menuExpressionAnd = menuExpressionAnd.And <Menu, string>(m => !m.ModuleId.Equals(menuQueryRequest.ModuleId), menuQueryRequest.ModuleId); } if (!string.IsNullOrEmpty(menuQueryRequest.MenuId)) { menuExpressionAnd = menuExpressionAnd.And <Menu, string>(m => !m.Id.Equals(menuQueryRequest.MenuId), menuQueryRequest.MenuId); } return(menuExpressionAnd); }
/// <summary> /// 获取菜单树 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IList <MenuTreeViewResponse> > GetMenuTree(MenuTreeQueryRequest input) { return(await _menuAppService.GetMenuForTree(input)); }