public async Task <ResponseDTO <IEnumerable <MainMenuDTO> > > SearchMainMenuAsync(MainMenuSearchRequest search) { List <OrderExpression <MainMenuDTO> > orderExpressionList = new List <OrderExpression <MainMenuDTO> >(); orderExpressionList.Add(new OrderExpression <MainMenuDTO>(OrderType.Asc, p => p.ParentSortOrder)); orderExpressionList.Add(new OrderExpression <MainMenuDTO>(OrderType.Asc, p => p.ParentModuleCode)); orderExpressionList.Add(new OrderExpression <MainMenuDTO>(OrderType.Asc, p => p.SortOrder)); orderExpressionList.Add(new OrderExpression <MainMenuDTO>(OrderType.Asc, p => p.ModuleCode)); Expression <Func <MainMenuDTO, bool> > queryFilter = c => true; if (search.UserId > 0) { queryFilter = queryFilter.And(p => p.UserId == search.UserId); } IEnumerable <MainMenuDTO> mainMenu = await _mainMenuDataAcces.ListAsync(queryFilter, orderExpressionList.ToArray()); return(ResponseBuilder.Correct(mainMenu)); }
public async Task <ResponseDTO <IEnumerable <MainMenuDTO> > > Search([FromUri] MainMenuSearchRequest search) { //search.UserId = ControllerContext.RequestContext.Principal.Identity.GetUserId(); search.UserId = User.Identity.GetUserId(); return(await _mainMenuApplicationService.SearchMainMenuAsync(search)); }