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(); }
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); }
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"); }
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, ) }
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)}"); }
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); } }
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 }
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}"); }
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(); }
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(); }
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"); }
public bool VerifierReductionEpargne(Epargne epargne, double montant) => (epargne.Solde >= (epargne.Solde - montant));
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)}"); }