public async Task <PagedResultDto <MenuItemListDto> > GetPagedAsync(GetMenuItemsInput input)
        {
            // TODO:过滤不需要的菜单,如未开启多租户属于Host的菜单
            var query         = GetMenuItemsFilteredQuery(input);
            int menuItemCount = await query.CountAsync();

            List <MenuItem> menuItems = await query
                                        .Include(m => m.Parent)
                                        .AsNoTracking()
                                        .OrderBy(input.Sorting)
                                        .PageBy(input)
                                        .ToListAsync();

            List <MenuItemListDto> menuItemListDtos = _mapper.Map <List <MenuItemListDto> >(menuItems);

            return(new PagedResultDto <MenuItemListDto>(
                       menuItemCount,
                       menuItemListDtos
                       ));
        }
Esempio n. 2
0
        public async Task <JsonResult> Load(GetMenuItemsInput input)
        {
            var menuItems = await _menuItemAppService.GetPagedAsync(input);

            return(Json(menuItems));
        }