Example #1
0
 /// <summary>
 /// Displays transaction history
 /// </summary>
 private void DisplayTransactions()
 {
     ConsoleHelper.ConsoleWriteColor(ConsoleColor.White, "Transaction History", true);
     AccountView.AccountAmount(mcAccount.mcAccountBalance.mBalance.ToString());
     AccountView.ViewTransactions(mcAccount.mcTransactions);
     Console.ReadLine();
 }
Example #2
0
        /// <summary>
        /// Handles Account information
        /// </summary>
        private void Account()
        {
            const int MAKE_TRANSACTION = 1;
            const int VIEW_TRANSACTION = 2;
            const int REFRESH          = 3;
            const int LOGOUT           = 4;
            const int LOGOUT_EXIT      = 0;

            int  selection;
            bool bLoggedIn = true;

            List <int> rules = new List <int>
            {
                MAKE_TRANSACTION, VIEW_TRANSACTION, REFRESH, LOGOUT, LOGOUT_EXIT
            };

            Console.Title = "KISS Banking - Account";

            while (bLoggedIn)
            {
                mcAccount = Task.Run(() => GetAccountEventRaised.Invoke()).Result;

                Console.Clear();

                AccountView.MainMenuHeader(GetUsernameEventRaised.Invoke());
                AccountView.AccountAmount(mcAccount.mcAccountBalance.mBalance.ToString());

                selection = ConsoleHelper.ValidateSelection(
                    AccountView.MainMenuSelections, rules
                    );

                switch (selection)
                {
                case MAKE_TRANSACTION:
                    MakeTransaction();
                    break;

                case VIEW_TRANSACTION:
                    DisplayTransactions();
                    break;

                case REFRESH:
                    break;

                case LOGOUT:
                    Logout();
                    bLoggedIn = false;
                    break;

                case LOGOUT_EXIT:
                    bLoggedIn = false;
                    Exit();
                    break;
                }
            }
        }
Example #3
0
        /// <summary>
        /// Handles new transactions
        /// </summary>
        private void MakeTransaction()
        {
            const int WITHDRAW = 1;
            const int DEPOSIT  = 2;

            Transaction newTransaction = new Transaction();
            int         selection;
            decimal     transferAmount;
            bool        bValidDecimal = true;
            List <int>  rules         = new List <int> {
                WITHDRAW, DEPOSIT
            };

            Console.Clear();
            AccountView.AccountAmount(mcAccount.mcAccountBalance.mBalance.ToString());

            selection = ConsoleHelper.ValidateSelection(AccountView.TransactionTypeMenu, rules);

            if (selection == WITHDRAW)
            {
                newTransaction.TransactionType = Transaction.Type.WITHDRAW;
            }
            else
            {
                newTransaction.TransactionType = Transaction.Type.DEPOSIT;
            }

            do
            {
                Console.Clear();
                if (!bValidDecimal)
                {
                    ConsoleHelper.ConsoleWriteColor(ConsoleColor.Red, "Invalid Amount, must be a decimal number", true);
                }
                AccountView.TransactionAmount();
            } while (!(bValidDecimal = decimal.TryParse(Console.ReadLine(), out transferAmount)));

            newTransaction.Amount = new Money(transferAmount);
            Task.Run(() => TransactionEventRaised.Invoke(newTransaction)).Wait();
        }