/// <summary> /// Effectue un retrait du montant donné du le compte donné /// </summary> /// <param name="numeroCompte">Le numéro du compte dans lequel effectuer le retrait</param> /// <param name="montant">Le montant à retirer</param> /// <returns>Le nouveau solde du compte après le retrait</returns> /// <exception cref="ArgumentException">Si le compte n'existe pas, ou si le montant est négatif ou 0</exception> public double Retirer(int numeroCompte, double montant) { Compte compte = TrouverCompte(numeroCompte); Transaction t = new Retrait(compte, montant); t.Effectuer(); Sauvegarder(t); return(compte.Solde); }
/// <summary> /// Lit le fichier des transactions et les effectue sur les comptes /// </summary> private void ChargerTransactions() { try { using (StreamReader fichier = new StreamReader(NomFichierTransactions)) { string ligne = fichier.ReadLine(); while (ligne != null) { try { string[] valeurs = ligne.Split(';'); int numeroCompte = Convert.ToInt32(valeurs[0]); // valeurs[0] contient le numéro du compte Compte compte = TrouverCompte(numeroCompte); Transaction t; switch (valeurs[1]) // valeurs[1] contient le type de la transaction { case Depot.IdentificateurType: t = new Depot(compte, valeurs); break; case Retrait.IdentificateurType: t = new Retrait(compte, valeurs); break; default: throw new Exception(); } t.Effectuer(); } catch { } // Ignore silencieusement les erreurs et passe à la prochaine ligne ligne = fichier.ReadLine(); } } } catch { } // Rien à faire si le fichier n'existe pas }