Ejemplo n.º 1
0
        public IEnumerable<IEvenementMetier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait)
        {
            if (montantRetrait.Montant1 <= Provision.Montant1)
            {
                yield return new RetraitRéalisé(_numéroDeCompte, montantRetrait, dateRetrait);
            }
            else
            {
                int difference = Provision.Montant1 - montantRetrait.Montant1;
                if (difference * -1 > _autorisationCredit)
                {
                    throw new RetraitNonAutorisé();
                }
                else
                {
                    yield return new RetraitRéalisé(_numéroDeCompte, montantRetrait, dateRetrait);
                    yield return new BalanceNégativeDétectée(_numéroDeCompte, new Montant(difference * -1), dateRetrait);
                }

            }
        }
Ejemplo n.º 2
0
 public IEnumerable<IEvenementMetier> FaireUnDepot(Montant montantDepot, DateTime dateDepot)
 {
     yield return new DépotRéalisé(_numéroDeCompte, montantDepot, dateDepot);
 }