Example #1
0
        public async Task <PagingQueryResult <IEnumerable <TAggregateRoot> > > PagingQueryAsync <TOrderKey>(PagingQueryModel queryModel, Expression <Func <TAggregateRoot, TOrderKey> > orderSelector, bool asc = true, CancellationToken cancellationToken = default)
        {
            var dbset = await GetDbSetAsync(cancellationToken);

            IEnumerable <TAggregateRoot> result;

            if (asc)
            {
                result = await dbset.OrderBy(orderSelector).Skip(queryModel.CurrentStartNo).Take(queryModel.PageNum).ToListAsync();
            }
            else
            {
                result = await dbset.OrderByDescending(orderSelector).Skip(queryModel.CurrentStartNo).Take(queryModel.PageNum).ToListAsync();
            }
            var count = await GetCountAsync(cancellationToken);

            return(new PagingQueryResult <IEnumerable <TAggregateRoot> >(queryModel.PageIndex, count, result));
        }
Example #2
0
        public async Task <PagingQueryResult <IEnumerable <TAggregateRoot> > > PagingQueryAsync(PagingQueryModel queryModel, CancellationToken cancellationToken = default)
        {
            var dbset = await GetDbSetAsync(cancellationToken);

            var result = await dbset.Skip(queryModel.CurrentStartNo).Take(queryModel.PageNum).ToListAsync();

            var count = await GetCountAsync(cancellationToken);

            return(new PagingQueryResult <IEnumerable <TAggregateRoot> >(queryModel.PageIndex, count, result));
        }