Пример #1
0
        static void Main()
        {
            Customer kircho = new Individual("a001", "Kiro", "8503122535", new DateTime(1990, 10, 25));

            Customer firmata = new Company("a002", "p2p", "503122535");

            Console.WriteLine(firmata is Individual);
            Console.WriteLine(kircho is Individual);

            BankAccount mortgageAccTest = new MortgageAccount(200.2m, 0.6m, kircho);
            BankAccount mortgageAccTest1 = new MortgageAccount(200.2m, 0.6m, firmata);

            Console.WriteLine(mortgageAccTest.CalculateInterest(15));
            Console.WriteLine(mortgageAccTest1.CalculateInterest(15));

            BankAccount loanAccTest = new LoanAccount(200.2m, 0.6m, kircho);
            BankAccount loanAccTest1 = new LoanAccount(200.2m, 0.6m, firmata);

            Console.WriteLine(loanAccTest.CalculateInterest(11));
            Console.WriteLine(loanAccTest1.CalculateInterest(11));

            BankAccount depositAccTest = new DepositAccount(3200.2m, 0.6m, kircho);
            BankAccount depositAccTest1 = new DepositAccount(1200.2m, 0.6m, firmata);

            Console.WriteLine(depositAccTest.CalculateInterest(11));
            Console.WriteLine(depositAccTest1.CalculateInterest(11));

            depositAccTest.Deposit(200);
            Console.WriteLine(depositAccTest.Balance);
            var depositAcc = depositAccTest as DepositAccount;
            depositAcc.Withdraw(300);
            Console.WriteLine(depositAcc.Balance);
        }
Пример #2
0
        public static void Main()
        {
            var testAcount = new DepositAccount(new Company("Abc", "040304123"), 3.47m);

            Console.WriteLine(testAcount);
            Console.WriteLine(testAcount.Deposit(1200m));
            Console.WriteLine(testAcount.Withdraw(101m));
            Console.WriteLine("Interest: " + testAcount.CalculateInterest(10));
            Console.WriteLine(testAcount);
            Console.WriteLine(new string('-', 60));
            var anotherTestAccount = new MortgageAccount(new Company("Apple", "040304123"), 5);

            Console.WriteLine(anotherTestAccount);
            Console.WriteLine(anotherTestAccount.Deposit(120m));
            Console.WriteLine("Interest:" + anotherTestAccount.CalculateInterest(13));
            Console.WriteLine(anotherTestAccount);
            Console.WriteLine(new string('-', 60));
            var yetAnotherTestAccount = new LoanAccount(new Individual("Gosho", "8010271234"), 4.2m);

            Console.WriteLine(yetAnotherTestAccount);
            Console.WriteLine(yetAnotherTestAccount.Deposit(180m));
            Console.WriteLine("Interest: " + yetAnotherTestAccount.CalculateInterest(3));
            Console.WriteLine(yetAnotherTestAccount);
            Console.WriteLine(new string('-', 60));
        }
Пример #3
0
        private static void ShowStart()
        {
            Customer customer2 = new Customer(CustomerType.Individuals, "Alex", "Vaslui", "074-5454 55");
            Customer customer3 = new Customer(CustomerType.Companies, "Bogdan", "Suceava", "075-67676 33");

            Account[] accounts = new Account[]
            {
                new DepositAccount(customer2, 700, 40),
                new DepositAccount(customer3, 700, 40),
                new DepositAccount(new Customer(CustomerType.Individuals, "Andrei"), 500, 30),
                new DepositAccount(new Customer(CustomerType.Companies, "SC fly SRL", "Brasov", "0787788745"), 4000, 50),
                new LoanAccount(customer2, 600, 40),
                new LoanAccount(customer3, 800, 50),
                new LoanAccount(new Customer(CustomerType.Individuals, "Alina"), 650, 25),
                new MortgageAccount(customer2, 1000, 20),
                new MortgageAccount(customer3, 1000, 20),
                new MortgageAccount(new Customer(CustomerType.Companies, "SC RealR SA"), 600, 3)
            };

            ShowBankStart banker = new ShowBankStart();

            banker.PrintMoney(accounts);
            DepositAccount depositsForCustomer2 = new DepositAccount(customer2, 5500, 35);
            DepositAccount depositsForCustomer3 = new DepositAccount(customer3, 3500, 45);

            depositsForCustomer2.WithDraw(700);
            depositsForCustomer2.Deposit(555);
            banker.PrintMoney(depositsForCustomer2);
            depositsForCustomer3.WithDraw(700);
            depositsForCustomer3.Deposit(555);
            banker.PrintMoney(depositsForCustomer3);
        }
        static void Main()
        {
            Customer kircho = new Individual("a001", "Kiro", "8503122535", new DateTime(1990, 10, 25), Gender.Male);

            Customer firmata = new Company("a002", "p2p", "503122535");

            Console.WriteLine(firmata is Individual);
            Console.WriteLine(kircho is Individual);

            BankAccount mortgageAccTest  = new MortgageAccount(200.2m, 0.6m, kircho);
            BankAccount mortgageAccTest1 = new MortgageAccount(200.2m, 0.6m, firmata);

            Console.WriteLine(mortgageAccTest.CalculateInterest(15));
            Console.WriteLine(mortgageAccTest1.CalculateInterest(15));

            BankAccount loanAccTest  = new LoanAccount(200.2m, 0.6m, kircho);
            BankAccount loanAccTest1 = new LoanAccount(200.2m, 0.6m, firmata);

            Console.WriteLine(loanAccTest.CalculateInterest(11));
            Console.WriteLine(loanAccTest1.CalculateInterest(11));

            BankAccount depositAccTest  = new DepositAccount(3200.2m, 0.6m, kircho);
            BankAccount depositAccTest1 = new DepositAccount(1200.2m, 0.6m, firmata);

            Console.WriteLine(depositAccTest.CalculateInterest(11));
            Console.WriteLine(depositAccTest1.CalculateInterest(11));

            depositAccTest.Deposit(200);
            Console.WriteLine(depositAccTest.Balance);
            var depositAcc = depositAccTest as DepositAccount;

            depositAcc.Withdraw(300);
            Console.WriteLine(depositAcc.Balance);
        }
        public static void Main()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            DepositAccount dep = new DepositAccount(cust: Customer.Company, balance: 200, interestRate: 20);

            Console.WriteLine("Deposit account's Interest Amount: {0}", dep.GetInterestAmount(months: 6));

            // when balance is more than 1000
            dep.Deposit(900m);
            Console.WriteLine("Deposit account's Interest Amount: {0}\n", dep.GetInterestAmount(months: 6));

            // individual
            LoanAccount loanIndividual = new LoanAccount(cust: Customer.Individual, balance: 100, interestRate: 15);

            Console.WriteLine("Loan individual account's Interest Amount: {0}", loanIndividual.GetInterestAmount(months: 3));
            Console.WriteLine("Loan individual account's Interest Amount: {0}\n", loanIndividual.GetInterestAmount(months: 5));

            // company
            LoanAccount loanCompany = new LoanAccount(cust: Customer.Company, balance: 100, interestRate: 15);

            Console.WriteLine("Loan company account's Interest Amount: {0}", loanCompany.GetInterestAmount(months: 2));
            Console.WriteLine("Loan company account's Interest Amount: {0}\n", loanCompany.GetInterestAmount(months: 5));

            // individual
            MortgageAccount mortIndividual = new MortgageAccount(cust: Customer.Individual, balance: 350, interestRate: 5);

            Console.WriteLine("Mortgage individual account's Interest Amount: {0}", mortIndividual.GetInterestAmount(months: 7));
            Console.WriteLine("Mortgage individual account's Interest Amount: {0}\n", mortIndividual.GetInterestAmount(months: 8));

            // company
            MortgageAccount mortCompany = new MortgageAccount(cust: Customer.Company, balance: 20000, interestRate: 10);

            Console.WriteLine("Mortgage company account's Interest Amount: {0}", mortCompany.GetInterestAmount(months: 10));
            Console.WriteLine("Mortgage company account's Interest Amount: {0}\n", mortCompany.GetInterestAmount(months: 24));
        }
Пример #6
0
        public static void Main()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            var deposit = new DepositAccount(customer: Customer.Company, balance: 200, interestRate: 20);

            Console.WriteLine("Deposit account's Interest Amount: {0}", deposit.CalculateInterestAmount(months: 6));

            // when balance is more than 1000
            deposit.Deposit(900m);
            Console.WriteLine("Deposit account's Interest Amount: {0}\n", deposit.CalculateInterestAmount(months: 6));

            // individual
            var loanIndividual = new LoanAccount(customer: Customer.Individual, balance: 100, interestRate: 15);

            Console.WriteLine("Loan individual account's Interest Amount: {0}", loanIndividual.CalculateInterestAmount(months: 3));
            Console.WriteLine("Loan individual account's Interest Amount: {0}\n", loanIndividual.CalculateInterestAmount(months: 5));

            // company
            var loanCompany = new LoanAccount(customer: Customer.Company, balance: 100, interestRate: 15);

            Console.WriteLine("Loan company account's Interest Amount: {0}", loanCompany.CalculateInterestAmount(months: 2));
            Console.WriteLine("Loan company account's Interest Amount: {0}\n", loanCompany.CalculateInterestAmount(months: 5));

            // individual
            var mortIndividual = new MortgageAccount(customer: Customer.Individual, balance: 350, interestRate: 5);

            Console.WriteLine("Mortgage individual account's Interest Amount: {0}", mortIndividual.CalculateInterestAmount(months: 7));
            Console.WriteLine("Mortgage individual account's Interest Amount: {0}\n", mortIndividual.CalculateInterestAmount(months: 8));

            // company
            var mortCompany = new MortgageAccount(customer: Customer.Company, balance: 20000, interestRate: 15);

            Console.WriteLine("Mortgage company account's Interest Amount: {0}", mortCompany.CalculateInterestAmount(months: 10));
            Console.WriteLine("Mortgage company account's Interest Amount: {0}\n", mortCompany.CalculateInterestAmount(months: 24));
        }
Пример #7
0
        public static void Main()
        {
            Customer       ivan = new IndividualCustomer("Ivan");
            DepositAccount ivanDepositAccount = new DepositAccount(ivan, 500M, 4M);

            Console.WriteLine(ivanDepositAccount.Client.Name);
            Console.WriteLine(ivanDepositAccount.InterestRate);
            ivanDepositAccount.Deposit(100M);
            Console.WriteLine(ivanDepositAccount.Balance);
            ivanDepositAccount.Withdraw(100);
            Console.WriteLine(ivanDepositAccount.Balance);
            Console.WriteLine(ivanDepositAccount.CalculateInterest(5));
            Console.WriteLine(ivanDepositAccount);

            Customer        company = new CompanyCustomer("Company");
            MortgageAccount companyMortgageAcount = new MortgageAccount(company, 100000M, 1.5M);

            Console.WriteLine(companyMortgageAcount.Client.Name);
            Console.WriteLine(companyMortgageAcount);
            companyMortgageAcount.Deposit(10000);
            Console.WriteLine(companyMortgageAcount.Balance);
            companyMortgageAcount.CalculateInterest(20);

            LoanAccount companyLoanAccount = new LoanAccount(company, 25000M, 5M);

            Console.WriteLine(companyLoanAccount);
            companyLoanAccount.Deposit(5000.50M);
            Console.WriteLine(companyLoanAccount.CalculateInterest(30));
            Console.WriteLine(companyLoanAccount);
        }
        static void Main()
        {
            Customer individual = new Individual("Some Individual");
            Customer company = new Company("Some Company");
            Customer otherIndividual = new Individual("SomeOther Individual");
            Customer otherCompany = new Company("SomeOther Company");


            Account individualLoanAccount = new LoanAccount(individual, 2000, 2);
            decimal interest = individualLoanAccount.CalculateInterestAmount(5);

            Console.WriteLine(interest);

            Account companyMortgageAccount = new MortgageAccount(company, 20000, 3);
            interest = companyMortgageAccount.CalculateInterestAmount(5);

            Console.WriteLine(interest);

            Account depositIndividualAccount = new DepositAccount(individual, 900, 1.5M);
            depositIndividualAccount.Deposit(1000);
            interest = depositIndividualAccount.CalculateInterestAmount(2);
            Console.WriteLine(interest);


        }
Пример #9
0
        public static void Main()
        {
            Bank bank = new Bank("GoshoBank");

            bank.AddAccount(new MortgageAccount(new IndividualCustomer("Stamat"), 2000.0m, 18m));
            bank.AddAccount(new DepositAccount(new CompanyCustomer("Pesho Ltd.", "Pesho"), 7500.0m, 12m));
            bank.AddAccount(new LoanAccount(new CompanyCustomer("Alex Ltd.", "Alex"), 5000.0m, 12m));
            bank.AddAccount(new MortgageAccount(new IndividualCustomer("Osama"), 5000.0m, 18m));
            bank.AddAccount(new DepositAccount(new CompanyCustomer("Ivancho Ltd.", "Ivan"), 10000.0m, 12m));
            bank.AddAccount(new LoanAccount(new IndividualCustomer("Kiril"), 1500.0m, 24m));

            Console.WriteLine(bank.Name);
            Console.WriteLine(bank);

            IndividualCustomer customer = new IndividualCustomer("Pencho");

            DepositAccount depositAcc = new DepositAccount(customer, 7000.0m, 24);

            Console.WriteLine(depositAcc.ToString());

            depositAcc.Deposit(1500.0m);

            Console.WriteLine("Deposit account after deposit money: {0:C}", depositAcc.Balance);

            Console.WriteLine("Interes: {0:C}", depositAcc.CalculateInterest(24));

            depositAcc.WithdrawAmount(300);

            Console.WriteLine("Deposit account after withdraw: {0:C}", depositAcc.Balance);
        }
Пример #10
0
        public static void Main(string[] args)
        {
            Customer ivanIvanov     = new IndividualCustomer("Ivan Ivanov");
            Customer petarStoyanov  = new IndividualCustomer("Petar Stoyanov");
            Customer annaVasileva   = new IndividualCustomer("Anna Vasileva");
            Customer mariaAtanasova = new IndividualCustomer("Maria Atanasova ");
            Customer cocaCola       = new CompanyCustomer("CocaCola");
            Customer microsoft      = new CompanyCustomer("Microsoft");
            Customer apple          = new CompanyCustomer("Apple");
            Customer google         = new CompanyCustomer("Google");

            DepositAccount depositIvanIvanov    = new DepositAccount(ivanIvanov, 800m, 0.05m);
            DepositAccount depositCocaCola      = new DepositAccount(cocaCola, 5000000m, 0.02m);
            LoanAccount    loanAnnaVasilev      = new LoanAccount(annaVasileva, -10000m, 0.12m);
            LoanAccount    loanGoogle           = new LoanAccount(google, -1000000m, 0.08m);
            MortageAccount mortagePetarStoyanov = new MortageAccount(petarStoyanov, -50000m, 0.07m);
            MortageAccount mortageMictosoft     = new MortageAccount(microsoft, -5000000m, 0.06m);

            IList <Account> accounts = new List <Account>();

            accounts.Add(depositIvanIvanov);
            accounts.Add(depositCocaCola);
            accounts.Add(loanAnnaVasilev);
            accounts.Add(loanGoogle);
            accounts.Add(mortagePetarStoyanov);
            accounts.Add(mortageMictosoft);

            foreach (var account in accounts)
            {
                Console.WriteLine(account);
            }

            depositIvanIvanov.WithDraw(258.15m);
            Console.WriteLine("\nInterest for next 4 mounts:");
            foreach (var account in accounts)
            {
                Console.WriteLine("{0} {1,14:F2}", account, account.InterestAmount(4));
            }

            depositIvanIvanov.Deposit(800m);
            loanAnnaVasilev.Deposit(600.12m);
            mortagePetarStoyanov.Deposit(1825.12m);
            Console.WriteLine("\nInterest for next 8 mounts:");
            foreach (var account in accounts)
            {
                Console.WriteLine("{0} {1,14:F2}", account, account.InterestAmount(8));
            }

            Console.WriteLine("\nInterest for next 20 mounts:");
            foreach (var account in accounts)
            {
                Console.WriteLine("{0} {1,14:F2}", account, account.InterestAmount(20));
            }
        }
Пример #11
0
        public static void Run()
        {
            Account[] depositAccount = new Account[]
            {
                new DepositAccount(new Customer(CustomerType.Individuals, "Stamat Sedefov", "Pernik", "0899115011"), 150M, 5M),
                new DepositAccount(new Customer(CustomerType.Companies, "Telus", "Sofia", "*88"), 100000M, 18M),
                new DepositAccount(new Customer(CustomerType.Companies, "Apple", "California, USA", "555-123-123"), 50000M, 3M)
            };

            Account[] loanAccont = new Account[]
            {
                new LoanAccount(new Customer(CustomerType.Companies, "Vivacom", "Sofia", "02/55113"), 400M, 1M),
                new LoanAccount(new Customer(CustomerType.Individuals, "Gosho Peshov", "Veliko Tarnovo", "033-12-3"), 1M, 2M),
                new LoanAccount(new Customer(CustomerType.Individuals, "Mariika Toshova", "Burgas", "044-22-4"), 155M, 11M)
            };

            Account[] mortgageAccount = new Account[]
            {
                new MortgageAccount(new Customer(CustomerType.Individuals, "Blagoy Berbatov", "London", "024-44-44"), 1500M, 10M),
                new MortgageAccount(new Customer(CustomerType.Individuals, "Qlo Yolov", "Burgas", "08855123"), 444M, 2M),
                new MortgageAccount(new Customer(CustomerType.Companies, "Vivacom", "Sofia", "011-23-3"), 111M, 1M)
            };

            Console.WriteLine("---------- Deposit accounts ----------");
            PrintAccounts.Print(depositAccount);

            Console.WriteLine("---------- Loan accounts ----------");
            PrintAccounts.Print(loanAccont);

            Console.WriteLine("---------- Mortgage accounts ----------");
            PrintAccounts.Print(mortgageAccount);

            Console.WriteLine("---------- Mitko deposit accounts ----------");
            DepositAccount mitkoDepositeAccount = new DepositAccount(new Customer(CustomerType.Individuals, "Mitko Mitkov", "Pleven", "044-2222-2"), 500M, 12M);

            mitkoDepositeAccount.Deposit(111M);
            mitkoDepositeAccount.Withdraw(11M);
            Console.WriteLine("Mitko balance: " + mitkoDepositeAccount.Balance);
            Console.WriteLine();

            Console.WriteLine("---------- Asus loan accounts ----------");
            LoanAccount asusLoanAccount = new LoanAccount(new Customer(CustomerType.Companies, "ASUS", "Taiwan", "000111"), 199900M, 14M);

            asusLoanAccount.Deposit(1313M);
            Console.WriteLine("ASUS balande: " + asusLoanAccount.Balance);
            Console.WriteLine();

            Console.WriteLine("---------- Lenovo mortgage accounts ----------");
            MortgageAccount lenovoMortgageAccount = new MortgageAccount(new Customer(CustomerType.Companies, "LENOVO", "China", "0991100"), 33333M, 100M);

            lenovoMortgageAccount.Deposit(10000M);
            Console.WriteLine("Lenovo balance: " + lenovoMortgageAccount.Balance);
            Console.WriteLine();
        }
Пример #12
0
        static void Main(string[] args)
        {
            LoanAccount     loan     = new LoanAccount(new Customer(TypeOfCustomer.IndividualClient, "Pesho Goshev", 123963), 12500, 1, 2);
            DepositAccount  deposit  = new DepositAccount(new Customer(TypeOfCustomer.CompanyClient, "Boc-Boc OOD", 789369), 5000000, 5, 3);
            MortgageAccount mortgage = new MortgageAccount(new Customer(TypeOfCustomer.IndividualClient, "Gosho Peshev", 159357), 147258, 4, 8);


            loan.Deposit(100);
            Console.WriteLine("The ballance of {0} is : {1}", loan.Customer.CustomerName, loan.Ballance);
            Console.WriteLine("The customer ID of {0} is : {1}", deposit.Customer.CustomerName, deposit.Customer.customerID);
            Console.WriteLine("The ballance of {0} is : {1}", deposit.Customer.CustomerName, deposit.Ballance);
            deposit.Deposit(100000);
            Console.WriteLine("The ballance of {0} after deposit is : {1}", deposit.Customer.CustomerName, deposit.Ballance);
            mortgage.InterestAmount(3);
        }
        static void Main()
        {
            var customer = new DepositAccount(Customer.Individual, 3000, 6.7);
            var anotherCustomer = new MortgageAccount(Customer.Company, 15.5M, 9.9);

            Console.WriteLine(customer.CalculateInterestRate(12));

            Console.WriteLine(customer.Balance);

            customer.Deposit(505.5M);
            Console.WriteLine(customer.Balance);

            var accounts = new Bank("UBB");
            accounts.AddAccount(customer);
            accounts.AddAccount(anotherCustomer);

            Console.WriteLine(accounts.ToString());
        }
Пример #14
0
        static void Main()
        {
            var customer        = new DepositAccount(Customer.Individual, 3000, 6.7);
            var anotherCustomer = new MortgageAccount(Customer.Company, 15.5M, 9.9);


            Console.WriteLine(customer.CalculateInterestRate(12));

            Console.WriteLine(customer.Balance);

            customer.Deposit(505.5M);
            Console.WriteLine(customer.Balance);

            var accounts = new Bank("UBB");

            accounts.AddAccount(customer);
            accounts.AddAccount(anotherCustomer);

            Console.WriteLine(accounts.ToString());
        }
Пример #15
0
        static void Main()
        {
            var individual = new Individual("Petar Petrov");
            var company    = new Company("Mobiltel EAD");

            var depositAccountInd  = new DepositAccount(3, 600, individual);
            var depositAccountComp = new DepositAccount(2, 6000, company);

            depositAccountInd.Deposit(50);
            depositAccountComp.Withdraw(1000);
            Console.WriteLine($"Individual balance in deposit account before interest: {depositAccountInd.Balance:F2}.");
            Console.WriteLine($"Company balance in deposit account before interest: {depositAccountComp.Balance:F2}.");

            var individualInterest = depositAccountInd.CalculateInterest(12);
            var companyInterest    = depositAccountComp.CalculateInterest(12);

            Divide();
            Console.WriteLine($"Individual balance after 12 months interest in deposit account: {individualInterest:F2}. (less than 1000 balance => no interest)");
            Console.WriteLine($"Company balance after 12 months interest in deposit account: {companyInterest:F2}.");
            var loanAcccountInd  = new LoanAccount(7, 650, individual);
            var loanAcccountComp = new LoanAccount(9, 5000, company);

            individualInterest = loanAcccountInd.CalculateInterest(12);
            companyInterest    = loanAcccountComp.CalculateInterest(12);
            Divide();
            Console.WriteLine($"Individual balance after 12 months interest in loan account: {individualInterest:F2}.");
            Console.WriteLine($"Company balance after 12 months interest in loan account: {companyInterest:F2}.");

            var mortageAccountInd  = new MortgageAccount(7, 650, individual);
            var mortageAccountComp = new MortgageAccount(9, 5000, company);

            individualInterest = mortageAccountInd.CalculateInterest(12);
            companyInterest    = mortageAccountComp.CalculateInterest(12);
            Divide();
            Console.WriteLine($"Individual balance after 12 months interest in mortage account: {individualInterest:F2}.");
            Console.WriteLine($"Company balance after 12 months interest in mortage account: {companyInterest:F2}.");
        }