public async Task InsertOrReplace(IPendingTransaction pendingTransactions)
        {
            var        entity = PendingTransactionEntity.CreateEntity(pendingTransactions);
            AzureIndex index  = new AzureIndex(_indexName, pendingTransactions.TransactionHash, entity);
            await _table.InsertOrReplaceAsync(entity);

            await _index.InsertOrReplaceAsync(index);
        }
        public async Task Delete(string transactionHash)
        {
            AzureIndex index = await _index.GetDataAsync(_indexName, transactionHash);

            if (index == null)
            {
                return;
            }

            IPendingTransaction transaction = await _table.GetDataAsync(index);

            if (transaction == null)
            {
                return;
            }
            await _table.DeleteIfExistAsync(PendingTransactionEntity.GeneratePartitionKey(transaction.CoinAdapterAddress), transaction.UserAddress);

            await _table.DeleteIfExistAsync(_indexName, index.RowKey);
        }
        public async Task <IPendingTransaction> GetAsync(string coinAdapterAddress, string userAddress)
        {
            IPendingTransaction transaction = await _table.GetDataAsync(PendingTransactionEntity.GeneratePartitionKey(coinAdapterAddress), userAddress);

            return(transaction);
        }