public async Task InsertSpentOutputsAsync(Guid operationId, IEnumerable <Output> outputs) { var entities = outputs.Select(o => SpentOutputEntity.Create(o.TransactionHash, o.N, operationId)); await entities.GroupBy(o => o.PartitionKey) .ForEachAsyncSemaphore(8, group => _table.InsertOrReplaceAsync(group)); }
public async Task <IEnumerable <Output> > GetSpentOutputsAsync(IEnumerable <Output> outputs) { return((await _table.GetDataAsync(outputs.Select(o => new Tuple <string, string>(SpentOutputEntity.GeneratePartitionKey(o.TransactionHash), SpentOutputEntity.GenerateRowKey(o.N))))) .Select(p => new Output(p.TransactionHash, p.N))); }