public static OperationToHashMatchEntity Create(IOperationToHashMatch match) { return(new OperationToHashMatchEntity { PartitionKey = GetPartitionKey(), OperationId = match.OperationId, TransactionHash = match.TransactionHash }); }
public async Task <IPendingOperation> GetOperationByHashAsync(string hash) { IOperationToHashMatch match = await _operationToHashMatchRepository.GetByHashAsync(hash); if (match == null) { return(null); } IPendingOperation operation = await _pendingOperationRepository.GetOperation(match.OperationId); return(operation); }
public async Task MatchHashToOpId(string transactionHash, string operationId) { IOperationToHashMatch match = await _operationToHashMatchRepository.GetAsync(operationId); if (match == null) { //await _operationToHashMatchRepository.InsertOrReplaceHistoricalAsync(match); return; } match.TransactionHash = transactionHash; await _operationToHashMatchRepository.InsertOrReplaceAsync(match); }
public async Task RefreshOperationByIdAsync(string operationId) { IOperationToHashMatch match = await _operationToHashMatchRepository.GetAsync(operationId); if (match == null) { return; } match.TransactionHash = ""; await _operationToHashMatchRepository.InsertOrReplaceAsync(match); await _queue.PutRawMessageAsync(JsonConvert.SerializeObject(new OperationHashMatchMessage() { OperationId = match.OperationId })); }
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 RefreshOperationAsync(string trHash) { IOperationToHashMatch match = await _operationToHashMatchRepository.GetByHashAsync(trHash); if (match == null) { return; } IPendingOperation operation = await _pendingOperationRepository.GetOperation(match.OperationId); match.TransactionHash = ""; await _operationToHashMatchRepository.InsertOrReplaceAsync(match); await _queue.PutRawMessageAsync(JsonConvert.SerializeObject(new OperationHashMatchMessage() { OperationId = match.OperationId })); }
public async Task InsertOrReplaceHistoricalAsync(IOperationToHashMatch match) { var historyEntity = OperationToHashMatchHistoryEntity.Create(match); await _tableHistory.InsertOrReplaceAsync(historyEntity); }