Back to slide -- Keyboard shortcut: 'u'  previous -- Keyboard shortcut: 'p'                bank-account/pyramid/client.cs - BankAccount Client - For exercise.Lecture 0 - slide 24 : 25
Program 2

using System;

class Client{

  BankAccount ba1, ba2, ba3, ba4, ba5, ba6, ba7;

  public static void Main(){
   (new Client()).Go();
  }

  public Client(){
   ba1 = new BankAccount("Per", 100);
   ba2 = new BankAccount("Poul", 200);
   ba3 = new BankAccount("Pia", 300);
   ba4 = new BankAccount("Mette", 400);
   ba5 = new BankAccount("Rasmus", 500, ba1, ba2);
   ba6 = new BankAccount("Lotte", 600, ba3, ba4);
   ba7 = new BankAccount("Kurt", 700, ba5, ba6);

   // The constructions above derive this pyramid tree structure:
   //   ba7
   //     ba5
   //       ba1
   //       ba2
   //     ba6
   //       ba3
   //       ba4
  }     

  public void Go(){
   WriteAccounts("Initial situation");

   ba7.Deposit(1000);
   WriteAccounts("After depositing 1000 kr.");

   ba7.Withdraw(1000);
   WriteAccounts("After withdrawing 1000 kr.");

   ba7.DistributeEven();
   WriteAccounts("After distributing even");
  }

  public void WriteAccounts(string situation){
   Console.WriteLine(situation);
   Console.WriteLine(ba1);
   Console.WriteLine(ba2);
   Console.WriteLine(ba3);
   Console.WriteLine(ba4);
   Console.WriteLine(ba5);
   Console.WriteLine(ba6);
   Console.WriteLine(ba7); 
   Console.WriteLine();
  }

}