/// <summary>
        ///     Отправляет заявки.
        /// </summary>
        /// <param name="transaction">
        ///     Экземпляр заявки для отправки.
        /// </param>
        public void SendTransaction(Transaction transaction)
        {
            if (!_initiator.IsLoggedOn)
            {
                SendMessage(TransactionReply.Rejected(transaction, "Router is off-line"));
            }

            transaction.Accept(this);
        }
 public void Send(Transaction transaction)
 {
     try
     {
         transaction.Accept(this);
     }
     catch (TransactionRejectedException exception)
     {
         Reject(transaction, exception.Message);
     }
     catch (Exception exception)
     {
         _Log.Error()
         .Print(exception, "Unable to send transaction", LogFields.Transaction(transaction),
                LogFields.Message(exception.Message));
         Reject(transaction, "Transaction execution failed: {0}", exception.Message);
     }
 }
Beispiel #3
0
        public void Deposit(double amount)
        {
            Account.Balance += amount;

            if (Account.Balance < MinimumBalance)
            {
                Account.Balance -= Penalty;
            }

            var transaction = new Transaction
            {
                AccountState = Account.State,
                AccountType  = this,
                Amount       = amount,
                Type         = TransactionType.Deposit
            };

            transaction.Accept(_cashbackVisitor);

            Account.Transactions.Add(transaction);
        }
Beispiel #4
0
 public void SendTransaction(Transaction transaction)
 {
     transaction.Accept(this);
 }
Beispiel #5
0
 public void Dispatch(Transaction transaction)
 {
     transaction.Accept(this);
 }
Beispiel #6
0
 protected override void SendTransactionImp(Transaction transaction)
 {
     transaction.Accept(this);
     // TODO send TransactionReply(Rejected)
 }