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) }); }
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>() }); }
/// <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 )); }
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>() }; }
[AbpAuthorize("CanDeleteMenues")] //An example of permission checking public async Task DeleteMenu(GetMenuInput input) { await _menuRepository.DeleteAsync(input.Id); }
public IActionResult GetAllMenus([FromQuery] GetMenuInput input) { var result = _menuService.GetAllMenus(input); return(Ok(ResponseBody.From(result))); }