예제 #1
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            if (validateInputs())
            {
                SelectedBankAccount = comboBoxAccounts.SelectedItem as BankAccount;
                ToAccount           = comboBoxToAccounts.SelectedItem as BankAccount;

                BankAccountCollection involvedAccounts = new BankAccountCollection();
                involvedAccounts.Add(SelectedBankAccount);
                involvedAccounts.Add(ToAccount);
                transaction.Accounts = involvedAccounts;
                transaction.Amount   = getAmountEntered();

                try
                {
                    transaction.DoTransaction();
                    SelectedCustomer.AddTransaction(transaction);
                    this.DialogResult = DialogResult.OK;
                }
                catch (Exception ex)
                {
                    errorProviderMain.SetError(textBoxAmount, ex.Message);
                }
            }
        }
예제 #2
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                decimal.TryParse(txtAmount.Text, out amount);

                // Create a new transaction
                Transaction transaction = new TransferFundsTransaction(customer.Accounts[selectedAccount],
                                                                       customer.Accounts[cboDestinationAccount.SelectedIndex], amount);
                transaction.DoTransaction();

                // Add the transaction to the transaction history.
                this.customer.TransactionHistory.Add(transaction);

                // This will close the dialog with a positive result.
                this.DialogResult = DialogResult.OK;
            }
            catch (TransferFundsException exception)
            {
                MessageBox.Show(exception.Message, "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (AccountInactiveException exception)
            {
                MessageBox.Show(exception.Message, "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (NoSufficientFundsException exception)
            {
                MessageBox.Show(exception.Message, "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (InvalidTransactionAmtException exception)
            {
                // Make sure the input is numeric.
                if (!decimal.TryParse(txtAmount.Text, out amount))
                {
                    MessageBox.Show("Invalid amount. Please enter a numeric value.", "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    MessageBox.Show(exception.Message, "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }