Beispiel #1
0
        public async Task <IReadOnlyCollection <ClaimedGasAmountAggregate> > GetAsync(
            DateTime from,
            DateTime to)
        {
            var claimedGasAmounts = new List <ClaimedGasAmountAggregate>();

            foreach (var rangeQuery in GetRangeQueries(from, to))
            {
                var continuationToken = (string)null;

                do
                {
                    IEnumerable <ClaimedGasAmountEntity> entities;

                    (entities, continuationToken) = await _claimedGasAmountTable
                                                    .GetDataWithContinuationTokenAsync(rangeQuery, continuationToken);

                    claimedGasAmounts.AddRange(entities.Select(x => ClaimedGasAmountAggregate.CreateOrRestore
                                                               (
                                                                   amount: x.Amount,
                                                                   transactionId: x.TransactionId,
                                                                   transactionBroadcastingMoment: x.TransactionBroadcastingMoment
                                                               )));
                } while (continuationToken != null);
            }

            return(claimedGasAmounts);
        }
 public Task RegisterGasClaimAsync(
     Guid transactionId,
     DateTime transactionBroadcastingMoment,
     decimal amount)
 {
     return(_claimedGasAmountRepository.SaveAsync(ClaimedGasAmountAggregate.CreateOrRestore
                                                  (
                                                      transactionId,
                                                      transactionBroadcastingMoment,
                                                      amount
                                                  )));
 }