Esempio n. 1
0
        public async Task <PaginationViewModel <TEntity> > SelectPageAsync(int page, int pageSize, bool includeTotalCount)
        {
            var paginationViewModel = new PaginationViewModel <TEntity>();

            paginationViewModel.SetPaginationState(-1, page, pageSize);

            if (includeTotalCount)
            {
                paginationViewModel.Pagination.Count = await _repository.Select(_expression).CountAsync();
            }

            if (paginationViewModel.Pagination.Count > 0)
            {
                var entities = await _repository.SelectAsync(_expression, _orderBy, _includes, _includesDotNotation, page, pageSize);

                paginationViewModel.AddItems(entities);
            }

            return(paginationViewModel);
        }