Example #1
0
        public IEnumerable <GetTreeMenuOutput> GetAllMenus(GetMenuInput input)
        {
            var menus = _menuRepository.GetAll()
                        .Where(t => t.Status == SysStatus.效)
                        .OrderBy("Sort").ToList();
            var menusOutput = new List <GetTreeMenuOutput>();

            //有查询条件时,不构造树形结构
            if (!string.IsNullOrWhiteSpace(input.Name))
            {
                var whereMenus = menus.Where(t => t.Name.Contains(input.Name) || t.Code.Contains(input.Name));
                foreach (var menu in whereMenus)
                {
                    var menuMap = ObjectMapper.Map <GetTreeMenuOutput>(menu);
                    GetParentId(menus, menu, menuMap.ParentIdList);
                    menuMap.Children = null;
                    menusOutput.Add(menuMap);
                }
            }
            else
            {
                foreach (var menu in menus.Where(t => t.ParentId == -1))
                {
                    var menuMap = ObjectMapper.Map <GetTreeMenuOutput>(menu);
                    GetParentId(menus, menu, menuMap.ParentIdList);
                    menuMap.Children = GetChildrens(menus, menuMap);
                    menusOutput.Add(menuMap);
                }
            }
            return(menusOutput);
        }
        // 获取单个菜单,包括其子菜单
        public GetMenuOutput GetMenu(GetMenuInput input)
        {
            var rootMenu = _menuManager.GetMenuForCache(input.MenuName);

            return(new GetMenuOutput()
            {
                Menu = CreateMenuDto(rootMenu)
            });
        }
Example #3
0
        public GetMenuOutput GetMenu(GetMenuInput input)
        {
            var menu =
                _menuRepository
                .GetAll()
                .Include(q => q.CreatorUser)
                .Include(q => q.Items)
                .FirstOrDefault(q => q.Id == input.Id);

            if (menu == null)
            {
                throw new UserFriendlyException("There is no such a menu. Maybe it's deleted.");
            }

            return(new GetMenuOutput()
            {
                Menu = menu.MapTo <MenuDto>()
            });
        }
Example #4
0
        /// <summary>
        /// 根据查询条件获取菜单分页列表
        /// </summary>
        public async Task <PagedResultDto <MenuListDto> > GetPagedMenusAsync(GetMenuInput input)
        {
            var query = _menuRepository.GetAll();

            query = query.WhereIf(!input.FilterText.IsNullOrWhiteSpace(), c => c.DisplayName.Contains(input.FilterText));
            var menuCount = await query.CountAsync();

            var menus = await query
                        .OrderBy(input.Sorting)
                        .PageBy(input)
                        .ToListAsync();

            var menuListDtos = menus.MapTo <List <MenuListDto> >();

            return(new PagedResultDto <MenuListDto>(
                       menuCount,
                       menuListDtos
                       ));
        }
Example #5
0
        public GetMenuOutput GetMenu(GetMenuInput input)
        {
            var menu =
                _menuRepository
                    .GetAll()
                    .Include(q => q.CreatorUser)
                    .Include(q => q.Items)
                    .FirstOrDefault(q => q.Id == input.Id);

            if (menu == null)
            {
                throw new UserFriendlyException("There is no such a menu. Maybe it's deleted.");
            }

            return new GetMenuOutput()
                   {
                       Menu = menu.MapTo<MenuDto>()
                   };
        }
Example #6
0
 [AbpAuthorize("CanDeleteMenues")] //An example of permission checking
 public async Task DeleteMenu(GetMenuInput input)
 {
     await _menuRepository.DeleteAsync(input.Id);
 }
Example #7
0
 [AbpAuthorize("CanDeleteMenues")] //An example of permission checking
 public async Task DeleteMenu(GetMenuInput input)
 {
     await _menuRepository.DeleteAsync(input.Id);
 }
Example #8
0
        public IActionResult GetAllMenus([FromQuery] GetMenuInput input)
        {
            var result = _menuService.GetAllMenus(input);

            return(Ok(ResponseBody.From(result)));
        }