public IEnumerable<IEvénementMétier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { if (montantRetrait.getMontant > _balance.getMontant) { if (montantRetrait.getMontant > _balance.getMontant + _autorisationDeCrédit) { throw new RetraitNonAutorisé(); } else { yield return new RetraitRéalisé(_numéroDeCompte, montantRetrait, dateRetrait); yield return new BalanceNégativeDétectée(_numéroDeCompte, new Montant(montantRetrait.getMontant - _balance.getMontant), dateRetrait); } } else yield return new RetraitRéalisé(_numéroDeCompte, montantRetrait, dateRetrait); }
public DépotRéalisé(string numéroDeCompte, Montant montantDepot, DateTime dateDepot) { _numéroDeCompte = numéroDeCompte; _montantDepot = montantDepot; _dateDepot = dateDepot; }
public IEnumerable<IEvénementMétier> FaireUnDepot(Montant montantDepot, DateTime dateDepot) { _balance = montantDepot; yield return new DépotRéalisé(_numéroDeCompte, montantDepot, dateDepot); }
public CompteBancaire(CompteCréé account) { _numéroDeCompte = account.NuméroDeCompte; _autorisationDeCrédit = account.AutorisationDeCrédit; _balance = new Montant(0); }
public BalanceNégativeDétectée(string numéroDeCompte, Montant montant, DateTime dateRetrait) { _numéroDeCompte = numéroDeCompte; _montant = montant; _dateRetrait = dateRetrait; }
public RetraitRéalisé(string numéroDeCompte, Montant montantRetrait, DateTime dateRetrait) { _numéroDeCompte = numéroDeCompte; _montantRetrait = montantRetrait; _dateRetrait = dateRetrait; }