public async Task <PaginatedQueryResult <TEntity> > GetAllAsync(Query queryVM) { var query = _dbContext.Set <TEntity>() as IQueryable <TEntity>; var result = new PaginatedQueryResult <TEntity> { TotalElements = await query.CountAsync() }; query = query.ApplyPaging(queryVM.Page, queryVM.PageSize); result.Items = await query.ToListAsync(); return(result); }
public CommandResult <PaginatedQueryResult <Cliente> > ObterPaginado(ClienteSort sort, bool ascending, int pagina, int quantidade, DataString?nomeCompleto_RazaoSocial, DataString?cpfCnpj) { var listaBase = ObterBase(sort, ascending, nomeCompleto_RazaoSocial, cpfCnpj); var total = listaBase.Count(); var skip = Pagination.PagesToSkip(quantidade, total, pagina); var resultado = new PaginatedQueryResult <Cliente>() { Total = total, Data = listaBase.Skip(skip).Take(quantidade).ToArray() }; return(CommandResult <PaginatedQueryResult <Cliente> > .Valid(resultado)); }
public CommandResult <PaginatedQueryResult <Contrato> > ObterPaginado(int pagina, int quantidade, ContratoSort sort, bool ascending) { var listaBase = ObterBase(sort, ascending); var total = listaBase.Count(); var skip = Pagination.PagesToSkip(quantidade, total, pagina); var resultado = new PaginatedQueryResult <Contrato>() { Total = total, Data = listaBase.Skip(skip).Take(quantidade).ToArray() }; return(CommandResult <PaginatedQueryResult <Contrato> > .Valid(resultado)); }