Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var giftCard = new GiftCardAccount("gift card", 100, 50);

            giftCard.MakeWithdrawal(20, DateTime.Now, "get expensive coffee");
            giftCard.MakeWithdrawal(50, DateTime.Now, "buy groceries");
            giftCard.PerformMonthEndTransactions();
            // can make additional deposits:
            giftCard.MakeDeposit(27.50m, DateTime.Now, "add some additional spending money");
            Console.WriteLine(giftCard.GetAccountHistory());

            var savings = new InterestEarningAccount("savings account", 10000);

            savings.MakeDeposit(750, DateTime.Now, "save some money");
            savings.MakeDeposit(1250, DateTime.Now, "Add more savings");
            savings.MakeWithdrawal(250, DateTime.Now, "Needed to pay monthly bills");
            savings.PerformMonthEndTransactions();
            Console.WriteLine(savings.GetAccountHistory());

            var lineOfCredit = new LineOfCreditAccount("line of credit", 0, 10000);

            // How much is too much to borrow?
            lineOfCredit.MakeWithdrawal(1000m, DateTime.Now, "Take out monthly advance");
            lineOfCredit.MakeDeposit(50m, DateTime.Now, "Pay back small amount");
            lineOfCredit.MakeWithdrawal(5000m, DateTime.Now, "Emergency funds for repairs");
            lineOfCredit.MakeDeposit(150m, DateTime.Now, "Partial restoration on repairs");
            lineOfCredit.PerformMonthEndTransactions();
            Console.WriteLine(lineOfCredit.GetAccountHistory());
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            var account = new BankAccount("Пашка", 1001);

            Console.WriteLine($"Account {account.Number} was created for {account.Owner} with {account.Balance} initial balance.");
            account.MakeWithdrawal(500, DateTime.Now, "Rent payment");
            Console.WriteLine(account.Balance);
            account.MakeDeposit(100, DateTime.Now, "Friend paid me back");
            Console.WriteLine(account.Balance);

            /*  try
             * {
             *    var invalidAccount = new BankAccount("invalid", -55);
             * }
             * catch (ArgumentOutOfRangeException e)
             * {
             *    Console.WriteLine("Exception caught creating account with negative balance");
             *    Console.WriteLine(e.ToString());
             * }
             *
             * // Test for a negative balance.
             * try
             * {
             *    account.MakeWithdrawal(750, DateTime.Now, "Attempt to overdraw");
             * }
             * catch (InvalidOperationException e)
             * {
             *    Console.WriteLine("Exception caught trying to overdraw");
             *    Console.WriteLine(e.ToString());
             * }                                                                     */
            Console.WriteLine(account.GetAccountHistory());

            var giftCard = new GiftCardAccount("gift card", 100, 50);

            giftCard.MakeWithdrawal(20, DateTime.Now, "get expensive coffee");
            giftCard.MakeWithdrawal(50, DateTime.Now, "buy groceries");
            giftCard.PerformMonthEndTransactions();
            // can make additional deposits:
            giftCard.MakeDeposit(27.50m, DateTime.Now, "add some additional spending money");
            Console.WriteLine(giftCard.GetAccountHistory());

            var savings = new InterestEarningAccount("savings account", 10000);

            savings.MakeDeposit(750, DateTime.Now, "save some money");
            savings.MakeDeposit(1250, DateTime.Now, "Add more savings");
            savings.MakeWithdrawal(250, DateTime.Now, "Needed to pay monthly bills");
            savings.PerformMonthEndTransactions();
            Console.WriteLine(savings.GetAccountHistory());

            var lineOfCredit = new LineOfCreditAccount("line of credit", 0, 2000);

            // How much is too much to borrow?
            lineOfCredit.MakeWithdrawal(1000m, DateTime.Now, "Take out monthly advance");
            lineOfCredit.MakeDeposit(50m, DateTime.Now, "Pay back small amount");
            lineOfCredit.MakeWithdrawal(5000m, DateTime.Now, "Emergency funds for repairs");
            lineOfCredit.MakeDeposit(150m, DateTime.Now, "Partial restoration on repairs");
            lineOfCredit.PerformMonthEndTransactions();
            Console.WriteLine(lineOfCredit.GetAccountHistory());
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            BankAccount acct = new BankAccount("David", 2000);

            Console.WriteLine($"Account {acct.Number} was created for {acct.Owner} with {acct.Balance} inital balance");

            //test deposit and withdrawals
            acct.MakeWithdrawal(600, DateTime.Now, "Rent");
            Console.WriteLine(acct.Balance);

            acct.MakeDeposit(500, DateTime.Now, "Refund of expensive purchase");
            Console.WriteLine(acct.Balance);

            //force an error
            try
            {
                BankAccount test = new BankAccount("Invalid", -55);
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.WriteLine("Exception caught while making account");
                Console.WriteLine(e.ToString());
            }

            //test for negative balance
            try
            {
                acct.MakeWithdrawal(3000, DateTime.Now, "Attempt to overdraw");
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine("Exception caught trying to overdraw");
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine(acct.GetAccountHistory());


            //------------------------------------------------------

            //test of giftcards

            GiftCardAccount gc = new GiftCardAccount("Gift Card", 100, 50);

            gc.MakeWithdrawal(20, DateTime.Now, "Buy Coffee");
            gc.MakeWithdrawal(50, DateTime.Now, "Buy Groceries");
            gc.PerformMonthEndTransactions();
            gc.MakeDeposit(27.50m, DateTime.Now, "Add additional Spending Money");
            Console.WriteLine(gc.GetAccountHistory());

            // test of Savings account
            InterestEarningAccount savings = new InterestEarningAccount("Savings Account", 10000);

            savings.MakeDeposit(750, DateTime.Now, "Save Some Money");
            savings.MakeDeposit(1250, DateTime.Now, "Add More Savings");
            savings.MakeWithdrawal(250, DateTime.Now, "Pay Monthly Bills");
            savings.PerformMonthEndTransactions();
            Console.WriteLine(savings.GetAccountHistory());

            //----------------------------------------------------

            // test line of credit
            var credit = new LineOfCreditAccount("Credit account", 0, 2000);

            credit.MakeWithdrawal(1000m, DateTime.Now, "Monthly Advance");
            credit.MakeDeposit(50m, DateTime.Now, "Pay back small amount");
            credit.MakeWithdrawal(5000m, DateTime.Now, "Emergency!");
            credit.MakeDeposit(150m, DateTime.Now, "Partial Repayment of repairs");
            credit.PerformMonthEndTransactions();
            Console.WriteLine(credit.GetAccountHistory());
        }