Beispiel #1
0
        public static void OperationsReportsTest()
        {
            BankManager bank = new BankManager("1000");

            Owner owner1 = bank.CreateOwner("Jan", "Kowalski", "123456");

            Console.WriteLine("Owner {0} {1} with PESEL {2} created.", owner1.FirstName, owner1.LastName, owner1.PESEL);
            string owner1AccountNum = owner1.OpenAccount();

            Console.WriteLine("Account with number {0} created", owner1AccountNum);

            Owner owner2 = bank.CreateOwner("Anna", "Kowalska", "654321");

            Console.WriteLine("\nOwner {0} {1} with PESEL {2} created.", owner2.FirstName, owner2.LastName, owner2.PESEL);
            string owner2AccountNum = owner2.OpenAccount();

            Console.WriteLine("Account with number {0} created", owner2AccountNum);

            bank.CreatePayment(owner1AccountNum, 21000);
            Console.WriteLine("\nOwner1 payment, balance: {0}", bank.GetAccount(owner1AccountNum).Balance);

            bank.CreatePayout(owner1AccountNum, 100);
            Console.WriteLine("Owner1 payout, balance: {0}", bank.GetAccount(owner1AccountNum).Balance);

            bank.CreateTransfer(owner1AccountNum, owner2AccountNum, 20500);
            Console.WriteLine("Transfer: owner1's balance: {0}; owner2's balance: {1}", bank.GetAccount(owner1AccountNum).Balance, bank.GetAccount(owner2AccountNum).Balance);

            string owner1DebtAccountNum = owner1.OpenDebtAccount(200);

            Console.WriteLine("\nDebt account with number {0} and 200 debt created", owner1DebtAccountNum);

            bank.CreatePayment(owner1DebtAccountNum, 10);
            Console.WriteLine("Owner1 payment, balance: {0}", bank.GetAccount(owner1DebtAccountNum).Balance);

            bank.CreatePayout(owner1DebtAccountNum, 100);
            Console.WriteLine("Owner1 payout, balance: {0}, available debt: {1}", bank.GetAccount(owner1DebtAccountNum).Balance, ((DebtAccount)bank.GetAccount(owner1DebtAccountNum)).AvailableDebt);

            bank.CreatePayment(owner1DebtAccountNum, 100);
            Console.WriteLine("Owner1 payment, balance: {0}, available debt: {1}", bank.GetAccount(owner1DebtAccountNum).Balance, ((DebtAccount)bank.GetAccount(owner1DebtAccountNum)).AvailableDebt);

            Console.WriteLine("\nFull report:\n" + bank.CreateFullReport(owner1AccountNum));

            Console.WriteLine("\nCharges report:\n" + bank.CreateChargesReport(owner1AccountNum));

            Console.WriteLine("\nDeposits report:\n" + bank.CreateDepositsReport(owner1AccountNum));
        }
Beispiel #2
0
        public static void ElixirTest()
        {
            BankManager bank1 = new BankManager("1000");
            BankManager bank2 = new BankManager("2000");

            Elixir elixir = new Elixir();

            elixir.Banks.Add(bank1.BankIdentifier, bank1);
            elixir.Banks.Add(bank2.BankIdentifier, bank2);

            Owner owner1 = bank1.CreateOwner("Jan", "Kowalski", "123456");

            Console.WriteLine("Owner {0} {1} with PESEL {2} created.", owner1.FirstName, owner1.LastName, owner1.PESEL);
            string owner1AccountNum = owner1.OpenAccount();

            Console.WriteLine("Account with number {0} created", owner1AccountNum);

            Owner owner2 = bank2.CreateOwner("Anna", "Kowalska", "654321");

            Console.WriteLine("\nOwner {0} {1} with PESEL {2} created.", owner2.FirstName, owner2.LastName, owner2.PESEL);
            string owner2AccountNum = owner2.OpenAccount();

            Console.WriteLine("Account with number {0} created", owner2AccountNum);

            bank1.CreatePayment(owner1AccountNum, 1000);
            Console.WriteLine("\nOwner1 payment, balance: {0}", bank1.GetAccount(owner1AccountNum).Balance);

            bank1.CreateTransfer(owner1AccountNum, owner2AccountNum, 500);
            bank1.CreateTransfer(owner1AccountNum, owner2AccountNum, 200);
            elixir.ExecuteTransfers();
            Console.WriteLine("Transfer 500 + 200 from o1 to o2: owner1's balance: {0}; owner2's balance: {1}", bank1.GetAccount(owner1AccountNum).Balance, bank2.GetAccount(owner2AccountNum).Balance);

            bank1.CreateTransfer(owner1AccountNum, owner2AccountNum, 100);
            bank2.CreateTransfer(owner2AccountNum, owner1AccountNum, 200);
            elixir.ExecuteTransfers();
            Console.WriteLine("Transfer 100 from o1 to o2, 200 from o2 to o1: owner1's balance: {0}; owner2's balance: {1}", bank1.GetAccount(owner1AccountNum).Balance, bank2.GetAccount(owner2AccountNum).Balance);
        }