public async Task <IEnumerable <Menu> > GetAllMenusWithOptions(int page, int size, List <SearchObj> searchParameters, List <SortObj> sortParameters) { var skip = page == 1 ? 0 : (page - 1) * size; var searchQuery = SearchHelper.GenerateFromSearchObj(searchParameters, true); var sorting = SortHelper.GenerateFromSortObj(sortParameters); return(await _repository .Query() .Where(searchQuery) .OrderBy(sorting) .Skip(skip) .Take(size) .ToListAsync()); }