示例#1
0
        /// <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);
        }
示例#3
0
 /// <summary>
 /// 获取菜单树
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public async Task <IList <MenuTreeViewResponse> > GetMenuTree(MenuTreeQueryRequest input)
 {
     return(await _menuAppService.GetMenuForTree(input));
 }