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 ))); }
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) })); }