public async Task ProcessAllAsync(Func <IEnumerable <IOperationToHashMatch>, Task> processAction)
        {
            Action <IEnumerable <IOperationToHashMatch> > function = async(items) =>
            {
                await processAction(items);
            };

            await _table.GetDataByChunksAsync(OperationToHashMatchEntity.GetPartitionKey(), function);
        }
        public async Task InsertOrReplaceAsync(IOperationToHashMatch match)
        {
            var entity        = OperationToHashMatchEntity.Create(match);
            var historyEntity = OperationToHashMatchHistoryEntity.Create(match);

            if (match.TransactionHash != null)
            {
                var entityReverse = HashToOperationMatchEntity.Create(match);
                await _tableReverse.InsertOrReplaceAsync(entityReverse);
            }
            else
            {
                await _tableReverse.DeleteIfExistAsync(HashToOperationMatchEntity.GetPartitionKey(), match.TransactionHash);
            }

            await _table.InsertOrReplaceAsync(entity);

            await _tableHistory.InsertOrReplaceAsync(historyEntity);
        }
        public async Task <IOperationToHashMatch> GetAsync(string operationId)
        {
            var match = await _table.GetDataAsync(OperationToHashMatchEntity.GetPartitionKey(), operationId);

            return(match);
        }