static void Main()
        {
            Deposit depositAccount = new Deposit(Customer.Individual, 1200, 6.5m);
            Loan    loanAccount    = new Loan(Customer.Company, 20000, 4.5m);
            Mortage mortageAccount = new Mortage(Customer.Individual, 500, 8);

            depositAccount.DepositMoney(800);                                                // 1200 + 800
            Console.WriteLine("Deposit account curent balance: " + depositAccount.Balance);  // 2000

            loanAccount.DepositMoney(1000);                                                  // 20000 - 1000
            Console.WriteLine("Loan account current balance: " + loanAccount.Balance);       // 19000

            mortageAccount.DepositMoney(200);                                                // 500 - 200
            Console.WriteLine("Mortage account current balance: " + mortageAccount.Balance); // 300

            depositAccount.Widthdraw(600.50m);                                               // 2000 - 600.50
            Console.WriteLine("Deposit account current balance: " + depositAccount.Balance); // 1399.50

            Console.WriteLine("Deposit account interset for 7 months: " + depositAccount.CalculateInterest(7));
            Console.WriteLine("Loan account interest for 3 months: " + loanAccount.CalculateInterest(2));
            Console.WriteLine("Motage account interest for 7 months: " + mortageAccount.CalculateInterest(7));

            Console.WriteLine();
            Console.WriteLine("Deposit account info: \n" + depositAccount);
            Console.WriteLine("Loan account info: \n" + loanAccount);
            Console.WriteLine("Mortage acount info: \n" + mortageAccount);
        }
        static void Main()
        {
            CompanyCustomer    Microsoft = new CompanyCustomer("Microsoft");
            IndividualCustomer BateGosho = new IndividualCustomer("Gosho", "Petrov");

            Deposit goshoDeposit = new Deposit(BateGosho, 160.0m, 0.01m);

            Loan msLoan    = new Loan(Microsoft, 100000m, 0.1m);
            Loan goshoLoan = new Loan(BateGosho, 300m, 0.06m);

            Mortage msMortage    = new Mortage(Microsoft, 10000m, 0.5m);
            Mortage goshoMortage = new Mortage(BateGosho, 230m, 0.05m);

            Console.WriteLine("Mortage before deposit of 50 leva: {0}", goshoMortage.Balance);
            goshoMortage.DepositMoney(50m);
            Console.WriteLine("Mortage after deposit of 50 leva: {0}", goshoMortage.Balance);
            Console.WriteLine("\n\n");

            Console.WriteLine("Deposit before withdraw of 150 leva: {0}", goshoDeposit.Balance);
            goshoDeposit.Withdraw(150m);
            Console.WriteLine("Deposit after withdraw of 150 leva: {0}", goshoDeposit.Balance);
            Console.WriteLine("\n\n");

            Console.WriteLine("Balance after interest rate for deposit of 10 leva for 3 months: {0}", goshoDeposit.CalcInterestRate(3));
            goshoDeposit.DepositMoney(1090m);
            Console.WriteLine("Balance after interest rate for deposit of 1100 leva for 3 months: {0}", goshoDeposit.CalcInterestRate(3));
            Console.WriteLine("\n");

            Console.WriteLine("Balance after interest rate for loan of Individual for 2 months: {0}", goshoLoan.CalcInterestRate(2));
            Console.WriteLine("Balance after interest rate for loan of Company for 3 months: {0}", msLoan.CalcInterestRate(3));
            Console.WriteLine("Balance after interest rate for mortage of Individual for 5 months: {0}", goshoMortage.CalcInterestRate(5));
            Console.WriteLine("Balance after interest rate for mortage of Company for 11 months: {0}", msMortage.CalcInterestRate(11));
        }
Exemple #3
0
        static void Main(string[] args)
        {
            try
            {
                Deposit deposit = new Deposit(Customer.Company, 20000m, 3.4m);
                deposit.Withdraw(345m);
                deposit.DepositMoney(1000m);
                deposit.CalculateInterest(10);
                Console.WriteLine("Deposit:\n{0}", deposit);

                Loan loanIndividual = new Loan(Customer.Individual, 1000m, 20m);
                loanIndividual.DepositMoney(3000m);
                loanIndividual.CalculateInterest(5);
                Console.WriteLine("Loan individual:\n{0}", loanIndividual);

                Loan loanCompalny = new Loan(Customer.Company, 200000m, 5m);
                loanCompalny.DepositMoney(30000m);
                loanCompalny.CalculateInterest(4);
                Console.WriteLine("Loan company:\n{0}", loanCompalny);

                Mortage mortageIndividual = new Mortage(Customer.Individual, 500, 3.3m);
                mortageIndividual.DepositMoney(200m);
                mortageIndividual.CalculateInterest(7);
                Console.WriteLine("Mortage individual:\n{0}", mortageIndividual);

                Mortage mortageCompany = new Mortage(Customer.Company, 50000, 4m);
                mortageIndividual.DepositMoney(2000m);
                mortageIndividual.CalculateInterest(13);
                Console.WriteLine("Mortage individual:\n{0}", mortageIndividual);
            }
            catch (OverflowException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }