Пример #1
0
        public void AjouterCompteClient(Client client, TypeCompte typeCompte, TypeAppartenantCompteEpargne?typeAppartenantCompteEpargne,
                                        string nomStructure, int nombreMois, double montant, Employe employe)
        {
            epargneBLO     = new EpargneBLO();
            operationBLO   = new OperationBLO();
            transactionBLO = new TransactionBLO();

            int          idEpargne    = new IdentifiantBLO().IdEpargne;
            CompteClient compteClient = new CompteClient(CodeCompteClient(typeCompte, typeAppartenantCompteEpargne), client, typeCompte, typeAppartenantCompteEpargne,
                                                         nomStructure, 0, StatutCompte.En_attente_de_validité, DateTime.Now);

            compteClientBLO.Add(compteClient);

            operationBLO.AjouterOperation(TypeOperation.Ajout, employe, client, compteClient, 0, "toto tata");

            Epargne epargne = new Epargne(0);

            if (typeCompte == TypeCompte.Epargne)
            {
                epargneBLO.AjouterEpargne(compteClient, nombreMois, 0, employe);

                epargne = epargneBLO.RechercheEpargne(idEpargne);
            }

            transactionBLO.InitierTransaction(typeCompte, TypeTransaction.Dépot, epargne, compteClient, new CompteClient("Indefini"), employe, montant, 0);

            new IdentifiantBLO().AddIdCompteClient();
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Start Exo!");

            Personne p1 = new Personne();

            p1.Prenom    = "Zaza";
            p1.Nom       = "Vanderquack";
            p1.DateNaiss = new DateTime(2010, 01, 06);

            Courant c1 = new Courant("BE00001", p1, 100);

            c1.Depot(500);
            c1.LigneDeCredit = 200;
            AfficherCompte(c1);

            c1.Retrait(100);
            AfficherCompte(c1);

            c1.Retrait(300);
            c1.Retrait(300);
            AfficherCompte(c1);

            Epargne e1 = new Epargne("BE00003", p1);

            e1.Depot(200);

            AfficherCompte(e1);

            //--------------------------------------------------
            Banque banque = new Banque();

            banque.Nom = "ConfitBanque";
            banque.Ajouter(c1);
            banque.Ajouter(e1);

            Courant c2 = new Courant("BE00002", p1, 0);

            c2.Depot(50);

            try
            {
                c2.Retrait(1_000_000);
            }
            catch (SoldeInsuffisantException)
            {
                Console.WriteLine("Boulet !");
            }

            banque.Ajouter(c2);


            AfficherCompte(e1);

            Console.WriteLine("Avoir des comptes de {0} : {1}", p1.Nom, banque.AvoirDesComptes(p1));

            c2.LigneDeCredit = 500;
            c2.Retrait(100);
        }
Пример #3
0
        public void AugmenterMontantEpargner(Epargne epargne, double montant, Employe employe)
        {
            operationBLO = new OperationBLO();
            Epargne oldEpargne = epargne;

            epargne.Solde += montant;

            epargneBLO[epargneBLO.IndexOf(oldEpargne)] = epargne;

            operationBLO.AjouterOperation(TypeOperation.Ajout, employe, epargne.CompteClient.Client, epargne.CompteClient, montant, "toto tata");
        }
Пример #4
0
        public void ReduireMontantEpargner(Epargne epargne, double montant, Employe employe)
        {
            operationBLO = new OperationBLO();
            Epargne oldEpargne = epargne;

            epargne.Solde -= montant;

            epargneBLO[epargneBLO.IndexOf(oldEpargne)] = epargne;

            operationBLO.AjouterOperation(TypeOperation.Ajout, employe, epargne.CompteClient.Client, epargne.CompteClient, montant, "toto tata");

            //if(epargne.Solde == 0 && epargne.DateEmpargne.AddMonths(epargne.NombreMois) <= DateTime.Now)
            //    AjouterEpargne(epargne.CompteClient, )
        }
Пример #5
0
        static void Main(string[] args)

        {
            Personne p = new Personne("Norris", "Chuck", new DateTime(1904, 3, 10));

            Courant c  = new Courant("000001", 500, p);
            Courant c1 = new Courant("000002", 500, p);

            Courant c2 = new Courant("000003", 500, p);

            Epargne e = new Epargne("000004", p);


            //IBanker bank = new Courant("000005",750,p);
            // ICustomer customer = new Epargne("000006",p);

            try
            {
                e.Depot(500);
                e.Retrait(250);
                c.Depot(1000);
                c1.Retrait(300);
                c2.AppliquerInteret();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.GetType());
                Console.WriteLine(ex.Message);
            }

            Banque b = new Banque("BNP PARIBAS");

            b.Ajouter(c);
            b.Ajouter(c1);
            b.Ajouter(e);

            Console.WriteLine(e.Solde);
            e.AppliquerInteret();
            Console.WriteLine(e.Solde);
            Console.WriteLine(c.Solde);
            c.AppliquerInteret();
            Console.WriteLine(c.Solde);
            Console.WriteLine(c1.Solde);
            c1.AppliquerInteret();
            Console.WriteLine(c1.Solde);
        }
        static void Main(string[] args)
        {
            //Personne titulaire = new Personne();
            //titulaire.Nom = "Doe";
            //titulaire.Prenom = "John";
            //titulaire.DateNaiss = new DateTime(1970, 1, 1);
            //ou
            Personne titulaire = new Personne("Doe", "John", new DateTime(1970, 1, 1));

            Courant courant  = new Courant("00001", 300, titulaire);
            Courant courant2 = new Courant("00002", 300, titulaire);
            Epargne epargne1 = new Epargne("00003", titulaire);


            Banque TechnoBanque = new Banque()
            {
                Nom = "TechnoBanque"
            };

            try
            {
                TechnoBanque.Ajouter(courant);
                TechnoBanque.Ajouter(courant2);
                TechnoBanque.Ajouter(epargne1);

                TechnoBanque["00001"].Depot(200);
                TechnoBanque["00002"].Depot(200);
                TechnoBanque["00001"].Retrait(500);
                TechnoBanque["00003"].Depot(500);
                TechnoBanque["00003"].Retrait(700);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            TechnoBanque["00001"].AppliquerInteret();


            Console.WriteLine($"Solde du compte 00001 : {TechnoBanque["00001"].Solde}");
            Console.WriteLine($"Avoir des compte de {titulaire.Nom} {titulaire.Prenom} : {TechnoBanque.AvoirDesComptes(titulaire)}");
        }
Пример #7
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);
            }
        }
Пример #8
0
        static void Main()
        {
            Console.WriteLine("Gestion bancaire\n----------------");

            #region test Personne
            Personne ClientA = new Personne()
            {
                Nom       = "Haye",
                Prenom    = "Gregory",
                DateNaiss = new DateTime(1979, 06, 14)
            };
            Personne ClientB = new Personne()
            {
                Nom       = "Hubert",
                Prenom    = "Emmanuelle",
                DateNaiss = new DateTime(1975, 10, 25)
            };

            Console.WriteLine($"Client A: {ClientA.Nom} {ClientA.Prenom} | {ClientA.DateNaiss } ");
            Console.WriteLine($"Client B: {ClientB.Nom} {ClientB.Prenom} | {ClientB.DateNaiss } ");
            #endregion

            #region test Courant/Epargne depot retrait
            Courant C1CA = new Courant
            {
                Numero        = "1111",
                LigneDeCredit = 1000,
                Titulaire     = ClientA
            };
            Courant C1CB = new Courant
            {
                Numero        = "3333",
                LigneDeCredit = 1000,
                Titulaire     = ClientB
            };
            Courant C2CA = new Courant
            {
                Numero        = "2222",
                LigneDeCredit = 0,
                Titulaire     = ClientA
            };
            Epargne CE1CA = new Epargne
            {
                Numero    = "9999",
                Titulaire = ClientA
            };
            Epargne CE1CB = new Epargne
            {
                Numero    = "8888",
                Titulaire = ClientB
            };

            AffichageComptes(C1CA, C1CB, C2CA, CE1CA, CE1CB);
            C1CA.Depot(1000);
            C1CB.Depot(2000);
            C2CA.Depot(500);
            C1CA.Retrait(2000);

            CE1CA.Depot(777);
            CE1CB.Depot(555);
            CE1CA.Retrait(77);
            CE1CB.Retrait(55);
            AffichageComptes(C1CA, C1CB, C2CA, CE1CA, CE1CB);
            #endregion

            #region Test banque , indexeur
            Banque ING = new Banque()
            {
                Nom = "ING"
            };
            ING.Ajouter(C1CA);
            ING.Ajouter(C1CA);
            ING.Ajouter(C2CA);
            ING.Ajouter(C1CB);
            ING.Ajouter(CE1CB);
            ING.Ajouter(CE1CA);

            AfficherComptes(ING);
            ING["2255"]?.Depot(1500);   // ? pour ne pas executer la methode si l'indexeur renvoi null
            ING["2255"]?.Retrait(100);
            double soldeTmp = ING["1111"].Solde;
            // ING["1111"] = C2CA; // indexeur set a private sinon , on peut remplacer des comtpes :DD

            AfficherComptes(ING);
            #endregion

            #region test Surcharge operator
            ING["1111"].Depot(5000);
            ING["3333"].Retrait(2500);
            AfficherComptes(ING);

            Console.WriteLine($"Avoir des comptes de {ClientA.Prenom} : {ING.AvoirDesComptes(ClientA)}");
            Console.WriteLine($"Avoir des comptes de {ClientB.Prenom} : {ING.AvoirDesComptes(ClientB)}");

            #endregion
            #region test Abstraction, calcul interet
            ING["8888"].Retrait(500);

            foreach (Compte compte in ING.Comptes.Values)
            {
                compte.AppliquerInteret();
            }

            AfficherComptes(ING);

            Console.WriteLine($"Avoir des comptes de {ClientA.Prenom} : {ING.AvoirDesComptes(ClientA)}");
            Console.WriteLine($"Avoir des comptes de {ClientB.Prenom} : {ING.AvoirDesComptes(ClientB)}");

            #endregion
        }
Пример #9
0
 private static void AffichageComptes(Courant C1CA, Courant C1CB, Courant C2CA, Epargne CE1CA, Epargne CE1CB)
 {
     Console.WriteLine("------------------------------------------------------------------------------");
     Console.WriteLine($"C1CA : {C1CA.Numero} | solde : {C1CA.Solde,2} | LDC : {C1CA.LigneDeCredit,2} | " +
                       $"titulaire : {C1CA.Titulaire.Prenom} {C1CA.Titulaire.Prenom}");
     Console.WriteLine($"C2CA : {C2CA.Numero} | solde : {C2CA.Solde,2} | LDC : {C2CA.LigneDeCredit,2} | " +
                       $"titulaire : {C2CA.Titulaire.Prenom} {C2CA.Titulaire.Prenom}");
     Console.WriteLine($"C1CB : {C1CB.Numero} | solde : {C1CB.Solde,2} | LDC : {C1CB.LigneDeCredit,2} | " +
                       $"titulaire : {C1CB.Titulaire.Prenom} {C1CB.Titulaire.Prenom}");
     Console.WriteLine($"CE1CA : {CE1CA.Numero} | solde : {CE1CA.Solde,2} | Date Retrait : {CE1CA.DateDernierRetrait,2} | " +
                       $"titulaire : {CE1CA.Titulaire.Prenom} {CE1CA.Titulaire.Prenom}");
     Console.WriteLine($"CE1CB : {CE1CB.Numero} | solde : {CE1CB.Solde,2} | Date Retrait : {CE1CB.DateDernierRetrait,2} | " +
                       $"titulaire : {CE1CB.Titulaire.Prenom} {CE1CB.Titulaire.Prenom}");
 }
Пример #10
0
        public void InitierTransaction(TypeCompte typeCompte, TypeTransaction typeTransaction, Epargne epargne, CompteClient compteClientEmetteur,
                                       CompteClient compteClientDestinataire, Employe employe, double montant, int nombreJourAttente)
        {
            operationBLO = new OperationBLO();
            transactionBLO.Add(new Transaction(CodeTransaction(typeTransaction), typeCompte, typeTransaction, epargne, DateTime.Now, compteClientEmetteur,
                                               compteClientDestinataire, employe, new Employe("Indefini"),
                                               montant, StatutTransaction.En_cours_de_validité, nombreJourAttente));

            if (typeTransaction == TypeTransaction.Dépot)
            {
                operationBLO.AjouterOperation(TypeOperation.Dépot, employe, compteClientEmetteur.Client, compteClientEmetteur, montant, "toto tata");
            }

            else if (typeTransaction == TypeTransaction.Retrait)
            {
                operationBLO.AjouterOperation(TypeOperation.Retrait, employe, compteClientEmetteur.Client, compteClientEmetteur, montant, "toto tata");
            }

            else
            {
                operationBLO.AjouterOperation(TypeOperation.Transfert_inter_compte, employe, compteClientEmetteur.Client, compteClientEmetteur, montant, "toto tata");
            }

            new IdentifiantBLO().AddIdTransaction();
        }
Пример #11
0
        static void Main(string[] args)
        {
            // Création des deux comptes
            Epargne      MonCompte       = new Epargne();
            Epargne      MonCompte2      = new Epargne();
            ComptePayant MonComptePayant = new ComptePayant();

            //Création des varaibles locales temporaire pour les conditin "if"
            String TmpNum     = "0";
            double TmpMontant = 0.00;

            // Permet de créer un point d'acces pour la fonction "goto"
CHOIX:

            // Affichage des information des comptes
            Console.WriteLine("le code numéro : " + MonCompte.Code + " , le solde est de : " + MonCompte.Solde);
            Console.WriteLine("le code numéro : " + MonCompte2.Code + " , le solde est de : " + MonCompte2.Solde);
            Console.WriteLine("le code numéro : " + MonComptePayant.Code + " , le solde est de : " + MonComptePayant.Solde + " \n\n");


            // Question posée à l'utilisateur, on récupère la valmeur de la touche appuyé
            Console.WriteLine("Quel type d'opération voulez faire sur vos compte ? \n ( \"d\" pour Déposer ou \"r\" pour Retirer ou \"q\" pour quitter) \n");
            ConsoleKeyInfo Op = Console.ReadKey(true);

            // On test la valeur de la touche afin de savoir quoi faire
            if (Op.Key == ConsoleKey.D)
            {
                Console.WriteLine("Quel est le numéro du compte voulez vous créditer ?");
                TmpNum = Convert.ToString(Console.ReadLine());
            }

            // On test la valeur de la touche afin de savoir quoi faire
            if (Op.Key == ConsoleKey.R)
            {
                Console.WriteLine("Quel est le numéro du compte voulez vous débiter ?");
                TmpNum = Convert.ToString(Console.ReadLine());
            }

            // On test la valeur de la touche afin de savoir quoi faire
            if (Op.Key == ConsoleKey.Q)
            {
                goto FINISH;
            }

            // On test la valeur du numero de compte entrée afin de savoir s'il existe ?
            if (TmpNum == MonCompte.Code)
            {
                Console.WriteLine("Montant de l'opération pour le compte numéro " + TmpNum + ":");
                TmpMontant = Convert.ToDouble(Console.ReadLine());
                if (Op.Key == ConsoleKey.D)
                {
                    MonCompte.Depot(TmpMontant);
                }
                if (Op.Key == ConsoleKey.R)
                {
                    MonCompte.Retirer(TmpMontant);
                }
            }

            // On test la valeur du numero de compte entrée afin de savoir s'il existe ?
            if (TmpNum == MonCompte2.Code)
            {
                Console.WriteLine("Montant de l'opération pour le compte numéro " + TmpNum + ":");
                TmpMontant = Convert.ToDouble(Console.ReadLine());
                if (Op.Key == ConsoleKey.D)
                {
                    MonCompte2.Depot(TmpMontant);
                }
                if (Op.Key == ConsoleKey.R)
                {
                    MonCompte2.Retirer(TmpMontant);
                }
            }

            // On test la valeur du numero de compte entrée afin de savoir s'il existe ?
            if (TmpNum == MonComptePayant.Code)
            {
                Console.WriteLine("Montant de l'opération pour le compte numéro " + TmpNum + ":");
                TmpMontant = Convert.ToDouble(Console.ReadLine());
                if (Op.Key == ConsoleKey.D)
                {
                    MonComptePayant.Depot(TmpMontant);
                }
                if (Op.Key == ConsoleKey.R)
                {
                    MonComptePayant.Retirer(TmpMontant);
                }
            }


            // On retour au champ CHOIX ( en début de code
            Console.Clear();
            goto CHOIX;

            // Label pour cloturer le programme ( fonction goto )
FINISH:

            Console.WriteLine("AU REVOIR !!!!");
            Console.WriteLine("Press any Key to Quit...");
            Console.ReadKey();
        }
Пример #12
0
 public void SupprimerEpargne(Epargne epargne, Employe employe)
 {
     operationBLO = new OperationBLO();
     epargneBLO.Remove(epargne);
     operationBLO.AjouterOperation(TypeOperation.Ajout, employe, epargne.CompteClient.Client, epargne.CompteClient, epargne.Solde, "toto tata");
 }
Пример #13
0
 public bool VerifierReductionEpargne(Epargne epargne, double montant) => (epargne.Solde >= (epargne.Solde - montant));
Пример #14
0
        static void Main(string[] args)
        {
            Personne titulaire = new Personne("Morre", "Thierry", new DateTime(1974, 6, 5));
            Courant  courant   = new Courant("00001", 200, titulaire);
            Epargne  epargne   = new Epargne("00002", titulaire);
            Banque   banque    = new Banque("Brussels Bank");

            banque.Ajouter(courant);
            banque.Ajouter(epargne);

            if (banque["00001"] is Courant c)
            {
                try
                {
                    c.LigneDeCredit = -500;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            try
            {
                banque["00001"].Depot(-200);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            banque["00001"].Depot(500);

            try
            {
                banque["00001"].Retrait(-100);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                banque["00001"].Retrait(701);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            banque["00001"].Retrait(700);
            banque["00002"].Depot(300);
            banque["00002"].Retrait(100);

            try
            {
                banque["00002"].Retrait(300);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine($"le solde du compte {banque["00001"].Numero} est : {banque["00001"].Solde}");
            Console.WriteLine($"Avoir des comptes de Mr {titulaire.Nom} {titulaire.Prenom} : {banque.AvoirDesComptes(titulaire)}");
        }