Ejemplo n.º 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
                                                  )));
 }
Ejemplo n.º 3
0
        public Task SaveAsync(
            ClaimedGasAmountAggregate claimedGasAmount)
        {
            return(_claimedGasAmountTable.InsertOrReplaceAsync(new ClaimedGasAmountEntity
            {
                Amount = claimedGasAmount.Amount,
                TransactionId = claimedGasAmount.TransactionId,
                TransactionBroadcastingMoment = claimedGasAmount.TransactionBroadcastingMoment,

                PartitionKey = GetPartitionKey(claimedGasAmount.TransactionBroadcastingMoment),
                RowKey = GetRowKey(claimedGasAmount.TransactionBroadcastingMoment, claimedGasAmount.TransactionId)
            }));
        }