static void Main(string[] args) { DateTime date = new DateTime(1995, 01, 15); Personne Shera = new Personne("Stark", "Shéra", date); Console.WriteLine(Shera.DateNais); Courant C001 = new Courant("C001", Shera); Courant C002 = new Courant("C002", Shera); IBanker banker = C002; ICustomer customer = C002; customer.Depot(1500); C001.LigneDeCredit = 1000; C001.Depot(2600.51); C001.Retrait(250); Console.WriteLine(C001.Solde); C002.LigneDeCredit = 200; C002.Depot(10); Console.WriteLine(C002.Solde); Bank MyBank = new Bank(); MyBank.Nom = "Banque"; MyBank.Ajouter(C001); MyBank.Ajouter(C002); banker.AppliquerInteret(); customer.Depot(50); Console.WriteLine(MyBank["C001"].Solde); Console.WriteLine(MyBank["C002"].Solde); Console.WriteLine(MyBank.AvoirDesComptes(Shera)); Console.ReadLine(); foreach (KeyValuePair <string, Compte> element in MyBank.Compte) { Console.WriteLine("Avant interet:"); Console.WriteLine($"Compte n° {element.Key} solde: {element.Value.Solde}"); element.Value.AppliquerInteret(); Console.WriteLine("Après interet:"); Console.WriteLine($"Compte n° {element.Key} solde: {element.Value.Solde}"); } Console.ReadLine(); }
static void Main(string[] args) { try { #region Test Exo01 Personne p = new Personne("Legrain", "Samuel", new DateTime(1987, 9, 27)); Courant c = new Courant("BE54736489001234", p, 200); c.Depot(5000000); c.Retrait(5000001); if (c.Titulaire == p) { Console.WriteLine("Ce sont les même!!!"); } #endregion #region Test Exo02 Banque b = new Banque(); b.Nom = "BanqueRoute"; b.Ajouter(c); Courant c2 = (Courant)b[c.Numero]; if (c == c2) { Console.WriteLine("Il s'agit du même compte!"); } b.Ajouter(c2); b.Supprimer(c2.Numero); #endregion #region Test Exo03 c = new Courant("BE5501", p); c.Depot(300); b.Ajouter(c); c = new Courant("BE5502", p, 200); c.Retrait(50); b.Ajouter(c); c = new Courant("BE5503", new Personne("Bastin", "Diego", new DateTime(1995, 03, 02)), 200); c.Depot(50); b.Ajouter(c); c.Retrait(100); Console.WriteLine($"Les avoirs de M.{p.Nom} sont de {b.AvoirDesComptes(p)}€."); Console.WriteLine($"Les avoirs de M.{c.Titulaire.Nom} sont de {b.AvoirDesComptes(c.Titulaire)}€."); #endregion #region Test Exo04 Epargne e = new Epargne("BE3301", p); e.Depot(50000); e.Retrait(60000); Console.WriteLine($"Le solde du compte {e.Numero}, appartenant à {e.Titulaire.Nom}, est de {e.Solde}"); Console.WriteLine($"Le dernier retrait date de {e.DateDernierRetrait}"); e.Retrait(30000); Console.WriteLine($"Le solde du compte {e.Numero}, appartenant à {e.Titulaire.Nom}, est de {e.Solde}"); Console.WriteLine($"Le dernier retrait date de {e.DateDernierRetrait}"); #endregion #region Test Exo05 b.Ajouter(e); Console.WriteLine($"Les avoirs de M.{p.Nom} sont de {b.AvoirDesComptes(p)}€."); Console.WriteLine($"Les avoirs de M.{c.Titulaire.Nom} sont de {b.AvoirDesComptes(c.Titulaire)}€."); #endregion #region Test Exo06 Console.WriteLine($"Le compte courant {c.Numero} a pour Solde {c.Solde}"); Console.WriteLine($"Le compte courant {e.Numero} a pour Solde {e.Solde}"); c.AppliquerInteret(); e.AppliquerInteret(); Console.WriteLine($"Le compte courant {c.Numero} a pour Solde {c.Solde}"); Console.WriteLine($"Le compte courant {e.Numero} a pour Solde {e.Solde}"); c.Retrait(65); Console.WriteLine($"Le compte courant {c.Numero} a pour Solde {c.Solde}"); c.AppliquerInteret(); Console.WriteLine($"Le compte courant {c.Numero} a pour Solde {c.Solde}"); #endregion #region Test Exo07 ICustomer customer = c; Console.WriteLine($"En tant que client du compte je peut voir mon Solde : {customer.Solde}"); customer.Depot(500); Console.WriteLine($"En tant que client du compte je peut voir mon Solde : {customer.Solde}"); IBanker banquier = c; Console.WriteLine($"En tant que banquier je peux voir le Solde : {banquier.Solde} ; le titulaire {banquier.Titulaire.Nom} ; et le numéro {banquier.Numero}"); banquier.AppliquerInteret(); Console.WriteLine($"En tant que banquier je peux voir le Solde : {banquier.Solde} ; le titulaire {banquier.Titulaire.Nom} ; et le numéro {banquier.Numero}"); #endregion } catch (InvalidOperationException e) { Console.WriteLine(e.Message); } catch (SoldeInsuffisantException e) { Console.WriteLine(e.Message); Console.WriteLine($"Vous auriez dû retiré {e.GetDifference()} en moins de votre montant {e.AskMontant}"); } catch (Exception e) { Console.WriteLine(e.Message); } }