예제 #1
0
        static void Main(string[] args)
        {
            var sav1 = new Savings(0.12, "My Savings");

            sav1.Deposit(1000);
            sav1.Print();
            sav1.PayInterest(1);
            sav1.Print();

            var sav2 = new Savings2(0.12, "My Composite Savings");

            sav2.Deposit(1000);
            sav2.Print();
            sav2.PayInterest(1);
            sav2.Print();

            Savings2.Transfer(100, sav1, sav2);

            var acct1 = new Account();
            var acct2 = new Account("My Checking");

            Account.Deposit(500, acct1);
            acct1.Print();
            acct2.Print();
            acct2.Deposit(1000);
            acct2.Withdraw(2000);
            acct2.Print();

            try {
                acct2.Withdraw(5000);
                acct2.Print();
                acct2.Deposit(-200);
                acct2.Print();
                acct2.Withdraw(-200);
                acct2.Print();
            } catch (InsufficientFundsException ex) {
                Console.WriteLine($"Insufficient Funds: Acct: {ex.AccountId}, Amt: {ex.AmountToWithdraw}, Bal: {ex.Balance}");
            } catch (DivideByZeroException ex) {
                Console.WriteLine("Attempted to divide by zero");
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }

            var success = Account.Transfer(200, acct2, acct1);

            if (success)
            {
                Console.WriteLine("The transfer worked!");
            }
            else
            {
                Console.WriteLine("The transfer failed!");
            }
            acct2.Print();
            acct1.Print();
        }
예제 #2
0
        static void Main(string[] args)
        {
            var act100 = new Account();

            act100.Deposit(-100);
            try
            {
                act100.Withdrawal(12000);
            }
            catch (InsufficientFundsException ex) { }

            catch (DivideByZeroException ex) { throw; }

            catch (Exception ex) { }  //do this one last always since first exception that is true is thrown

            var sv1 = new Savings2();

            sv1.Deposit(2000);
            var cd10     = new CertificateOfDeposit(5000, 60);
            var accounts = new IBanking[] { sv1, cd10 };

            foreach (var acct in accounts)
            {
                Console.WriteLine($"Account balance is {acct.GetBalance()}"); //need to add composition method for CD for this to work
            }



            var sav1 = new Savings();

            sav1.Deposit(1000);
            sav1.PayInterest(3);


            var acct1 = new Account();

            acct1.Deposit(500);
            acct1.Withdrawal(200);
            acct1.Withdrawal(600);
            acct1.Deposit(-400);
            Console.WriteLine($"Balance is {acct1.Balance}");

            var acct2 = new Account();

            acct1.Transfer(1000, acct2);
            Console.WriteLine($"Balance is {acct1.Balance}");
            Console.WriteLine($"Balance is {acct2.Balance}");

            var cd1 = new CertificateOfDeposit(Amount: 1000, Months: 12);

            cd1.Deposit(1);
            cd1.Withdrawal(1);
            cd1.WithdrawlDate = DateTime.Now.AddDays(-1); //yesterday
            var funds = cd1.Withdrawal();                 //no parameters sine we will withdraw everything in acocunt
        }
예제 #3
0
파일: Program.cs 프로젝트: SMCrosby/Banking
        static void Main(string[] args)
        {
            var sav1 = new Savings(0.12, "My Savings");

            sav1.Deposit(1000);
            sav1.Print();
            sav1.PayInterest(1); // pay interest for one month
            sav1.Print();

            var sav2 = new Savings2(0.12, "My Composite Savings");  // Done with composite in stead of inherited class

            sav2.Deposit(1000);
            sav2.Print();
            sav2.PayInterest(1);
            sav2.Print();

            Savings2.Transfer(100, sav1, sav2);


            var acct1 = new Account();
            var acct2 = new Account("My Checking");

            try {
                Account.Deposit(500, acct1);
                acct1.Print();
                acct2.Print();
                acct2.Deposit(1000);
                acct2.Print();
                acct2.Withdraw(50);
                acct2.Print();
                acct2.Deposit(-200);
                acct2.Print();
                acct2.Withdraw(-200);
                acct2.Print();
            } catch (DivideByZeroException ex) {
                Console.WriteLine("Attempted to divide by zero");
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }

            var success = Account.Transfer(200, acct2, acct1);

            if (success)
            {
                Console.WriteLine("The transfer worked!");
            }
            else
            {
                Console.WriteLine("The transfer failed!");
            }
            acct2.Print();
            acct1.Print();
        }
예제 #4
0
파일: Program.cs 프로젝트: yjbohan/Banking
        static void Main(string[] args)
        {
            var sav1 = new Savings(0.12, "My Savings");

            sav1.Deposit(1000);
            sav1.Print();
            var interest = sav1.CalculateInterest(1);

            sav1.PayInterest(1);
            sav1.Print();

            var sav2 = new Savings2(0.12, "My Composite Savings");

            sav2.Deposit(1000);
            sav2.Print();
            sav2.PayInterest(1);

            var acct1 = new Account();
            var acct2 = new Account("My Checking");

            try {
                acct2.Print();
                acct2.Deposit(1000);
                acct2.Print();
                acct2.Withdraw(50);
                acct2.Print();
                acct2.Deposit(-200);
                acct2.Print();
                acct2.Withdraw(-200);
                acct2.Print();
            } catch (DivideByZeroException) {
                Console.WriteLine("Attempted to divide by zero");
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            var success = Account.Transfer(200, acct2, acct1);

            if (success)
            {
                Console.WriteLine("The transfer worked!");
            }
            else
            {
                Console.WriteLine("The transfer failed!");
            }
            acct2.Print();
            acct1.Print();
        }
예제 #5
0
        static void Main(string[] args)
        {
            var sav2 = new Savings2();

            sav2.Deposit(2000);
            var cd1 = new CD2(Amount: 5000, Months: 60);

            var accounts = new IBanking[] { sav2, cd1 };

            var acct100 = new Account();

            acct100.Deposit(10);
            try
            {
                acct100.Withdraw(100);
            } catch (InsufficientFundsException ex)
            {
                throw;
            }



            //foreach(var i in accounts)
            //{
            //    Console.WriteLine(i.getBalance());
            //}



            //cd1.WithDate = DateTime.Now.AddDays(-1);

            //var funds = cd1.Withdraw();
            //sav2.Deposit(500);
            //sav2.InterestRate = .12m;
            //sav2.PayInterest(5);
            //Console.WriteLine();
            //acc2.Deposit(1000);
            //acc1.Deposit(500);
            //acc2.Transfer(acc1, 1100);
            //Console.WriteLine(acc1.Balance);
            //Console.WriteLine(acc2.Balance);
        }
예제 #6
0
 public static bool Transfer(double amount, Savings2 FromAccount, Savings2 ToAccount)
 {
     return(Account.Transfer(amount, FromAccount.Account, ToAccount.Account));
 }