public async Task <DigitalAccountTransactionModel> GetByIdAsync(int transactionId) { DigitalAccountTransactionModel transaction = await _digitalAccountTransactionRepository.GetByIdAsync(transactionId); if (transaction == null) { throw new KeyNotFoundException("Transação não localizada"); } return(transaction); }
public async Task ConsistQueueAsync(int transactionId) { DigitalAccountTransactionModel transaction = await _digitalAccountTransactionRepository.GetByIdAsync(transactionId); bool limitAttemptExceeded = false; if (transaction.DigitalAccountSenderId.HasValue) { limitAttemptExceeded = await CheckExceededLimitAttemptToIntervalTransactionAsync(transaction.DigitalAccountSenderId.Value); } if (transaction.DigitalAccountSenderId.HasValue && limitAttemptExceeded) { await GenerateRollbackTransation(transaction); } else { await EffectedTransation(transaction); } }