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));
        }
Example #2
0
 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));
 }