Пример #1
0
        public Task <PagedResult <PaymentClaim> > BrowseAsync(GetPaymentClaims query)
        {
            if (query is null)
            {
                return(Task.FromResult(PagedResult <PaymentClaim> .Empty));
            }

            var paymentClaims = GetAll();

            if (paymentClaims.Length == 0)
            {
                return(Task.FromResult(PagedResult <PaymentClaim> .Empty));
            }

            return(Task.FromResult(Query(paymentClaims.AsEnumerable(), query.DepositId, query.AssetId,
                                         query.Consumer, query.OnlyUnclaimed, query.OnlyPending).ToArray().Paginate(query)));
        }
Пример #2
0
        public async Task Can_browse_with_query_and_pagination()
        {
            IMongoDatabase database     = MongoForTest.Provider.GetDatabase();
            var            repo         = new PaymentClaimMongoRepository(database);
            PaymentClaim   paymentClaim = BuildDummyPaymentClaim();
            await repo.AddAsync(paymentClaim);

            GetPaymentClaims query = new GetPaymentClaims();

            query.Consumer      = paymentClaim.Consumer;
            query.AssetId       = paymentClaim.AssetId;
            query.DepositId     = paymentClaim.DepositId;
            query.OnlyPending   = false;
            query.OnlyUnclaimed = false;
            query.Page          = 0;
            query.Results       = 10;
            await repo.BrowseAsync(query);
        }
Пример #3
0
 public async Task <PagedResult <PaymentClaim> > BrowseAsync(GetPaymentClaims query)
 => query is null
         ? PagedResult <PaymentClaim> .Empty
         : await Query(query.DepositId, query.AssetId, query.Consumer, query.OnlyUnclaimed, query.OnlyPending)
 .PaginateAsync(query);