public async Task <IPagedResult <AssignmentToPointOfSale> > BrowseAsync(IPagedQueryImpl <AssignmentToPointOfSale> pagedQuery) { if (pagedQuery == null) { throw new ArgumentNullException(nameof(pagedQuery)); } return(await DbContext.Assignments.OfType <AssignmentToPointOfSale>().PaginateAsync(pagedQuery)); }
public async Task <IPagedResult <SaleBasedStockOperation> > BrowseAsync(IPagedQueryImpl <SaleBasedStockOperation> pagedQuery) { if (pagedQuery == null) { throw new ArgumentNullException(nameof(pagedQuery)); } return(await DbContext.StockOperations.OfType <SaleBasedStockOperation>().PaginateAsync(pagedQuery)); }
public virtual async Task <IPagedResult <TEntity> > BrowseAsync(IPagedQueryImpl <TEntity> pagedQuery) { return(await QueryableAccessorFunc().PaginateAsync(pagedQuery)); }
internal static Task <IPagedResult <T> > PaginateClientsideAsync <T>(this ICollection <T> collection, IPagedQueryImpl <T> pagedQuery) { if (collection == null) { throw new ArgumentNullException(nameof(collection)); } if (pagedQuery == null) { throw new ArgumentNullException(nameof(pagedQuery)); } var pageNo = pagedQuery.CurrentPage; if (pageNo < 1) { pageNo = 1; } var resultsPerPage = pagedQuery.ResultsPerPage; if (resultsPerPage < 1) { resultsPerPage = 10; } var items = pagedQuery.Apply(collection.AsQueryable()); if (items.Any() == false) { return(Task.FromResult <IPagedResult <T> >(new PagedResult <T>(new PagedResult(pageNo, resultsPerPage, 0, 0), null))); } var resultCount = items.Count(); var paginationData = new PagedResult(pageNo, resultsPerPage, (int)Math.Ceiling(1d * resultCount / resultsPerPage), resultCount); items = items.Skip(resultsPerPage * (pageNo - 1)).Take(resultsPerPage); return(Task.FromResult <IPagedResult <T> >(new PagedResult <T>(paginationData, items))); }
public static async Task <IPagedResult <T> > PaginateAsync <T>(this IQueryable <T> queryable, IPagedQueryImpl <T> pagedQuery) { if (queryable == null) { throw new ArgumentNullException(nameof(queryable)); } if (pagedQuery == null) { throw new ArgumentNullException(nameof(pagedQuery)); } var pageNo = pagedQuery.CurrentPage; if (pageNo < 1) { pageNo = 1; } var resultsPerPage = pagedQuery.ResultsPerPage; if (resultsPerPage < 1) { resultsPerPage = 10; } queryable = pagedQuery.Apply(queryable); if (await queryable.AnyAsync() == false) { return(new PagedResult <T>(new PagedResult(pageNo, resultsPerPage, 0, 0), null)); } var resultCount = await queryable.CountAsync(); var paginationData = new PagedResult(pageNo, resultsPerPage, (int)Math.Ceiling(1d * resultCount / resultsPerPage), resultCount); var items = await queryable.Skip(resultsPerPage *(pageNo - 1)).Take(resultsPerPage).ToListAsync(); return(new PagedResult <T>(paginationData, items)); }
public async Task <IPagedResult <UserAuthorization> > BrowseAsync(IPagedQueryImpl <UserAuthorization> query) { return(await _dbContext.UserAuthorizations.PaginateAsync(query)); }
public Task <IPagedResult <T> > PaginateAsync(ICollection <T> sourceCollection, IPagedQueryImpl <T> query) { return(sourceCollection.PaginateClientsideAsync(query)); }
public async Task <IPagedResult <SpendingOfUsers> > BrowseAsync(IPagedQueryImpl <SpendingOfUsers> query) => await _dbContext.SpendingOfUsers.PaginateAsync(query);
public async Task <IPagedResult <SaleStrategy> > BrowseAsync(IPagedQueryImpl <SaleStrategy> query) { return(await _paginator.PaginateAsync(_saleStrategies, query)); }
public async Task <IPagedResult <AuthenticationMeans> > BrowseMeansAssignedToPointOfSale(Guid posId, IPagedQueryImpl <AuthenticationMeans> query) { var now = DateTimeOffset.UtcNow; return(await _dbContext.Assignments.OfType <AssignmentToPointOfSale>().Where(ass => ass.PointOfSaleId == posId) .Join(_dbContext.MeansOfAuthentication, ass => ass.MeansId, means => means.Id, (ass, means) => means) .PaginateAsync(query)); }