Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
            }
        }