public void Ajouter(Courant compte) { if (_comptes.TryGetValue(compte.Numero, out _)) { return; //Gérer message d'erreur } _comptes.Add(compte.Numero, compte); }
public double AvoirDesComptes(Personne titulaire) { double totalDesAvoirs = 0; foreach (KeyValuePair <string, Courant> kvp in _comptes) { Courant compte = kvp.Value; if (compte.Titulaire == titulaire) { totalDesAvoirs += compte; } } return(totalDesAvoirs); }
public Courant this[string numero] { get { Courant compte = null; if (!_comptes.TryGetValue(numero, out compte)) { compte = null; //Gérer message d'erreur } return(compte); } set { if (value.Numero != numero) { return; //Gérer message d'erreur } if (!_comptes.TryGetValue(numero, out _)) { return; //Gérer message d'erreur } _comptes[numero] = value; } }
static void Main(string[] args) { #region Exo01 Courant courant = new Courant(); Personne personne = new Personne(); personne.Nom = "Willis"; personne.Prenom = "Bruce"; personne.DateNaiss = new DateTime(1968, 8, 14); Console.WriteLine(personne); courant.Numero = "BE557620..."; courant.Titulaire = personne; //courant.Solde = 5000.0; //Impossible : private set ou omission du set courant.LigneDeCredit = -200; courant.Depot(5000); courant.Retrait(200.0); courant.Retrait(20000.0); #endregion #region Exo02 Banque banque = new Banque(); banque.Nom = "MetsTesSousIci"; banque[courant.Numero] = courant; banque.Ajouter(courant); banque.Ajouter(courant); Console.WriteLine(banque["BE557620..."]?.Titulaire?.Nom); banque["BE557620..."].Depot(5000); banque.Supprimer("BE557620..."); banque.Supprimer("BE557620..."); Console.WriteLine(banque["BE557620..."]?.Titulaire?.Nom); #endregion #region Exo03 banque.Ajouter(courant); Courant c1 = new Courant(); c1.Numero = "BE364512..."; c1.Titulaire = personne; c1.LigneDeCredit = 200; c1.Retrait(150); banque.Ajouter(c1); Personne p1 = new Personne(); p1.Nom = "Stalone"; p1.Prenom = "Sylverster"; p1.DateNaiss = new DateTime(1972, 5, 1); Courant c2 = new Courant(); c2.Numero = "BE999999..."; c2.Titulaire = p1; c2.LigneDeCredit = 200; c2.Depot(6000); c2.Retrait(150); banque.Ajouter(c2); banque.AvoirDesComptes(personne); banque.AvoirDesComptes(p1); banque.AvoirDesComptes(new Personne() { Nom = "Stalone", Prenom = "Sylverster", DateNaiss = new DateTime(1972, 5, 1) }); #endregion #region Exo04 Epargne e = new Epargne(); e.Numero = "BE444444..."; e.Titulaire = p1; e.Depot(6000); e.Retrait(50); #endregion }