public IEnumerable<IEvenementMetier> FaireUnDepot(Montant m, DateTime date) { yield return new DépotRéalisé(this.CurrentAccount, m, date); var balance = AddMontant(m, date); if(balance != null) yield return AddMontant(m, date); }
public IEnumerable<IEvenementMetier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { Montant nm = new Montant(montantRetrait.Value * -1); IEvenementMetier e = AddMontant(nm, dateRetrait); yield return new RetraitRéalisé(this.CurrentAccount, montantRetrait, dateRetrait); if (e != null) yield return e; }
public DépotRéalisé(string _numéroDeCompte, Montant montantDepot, DateTime dateDepot) { // TODO: Complete member initialization this._numéroDeCompte = _numéroDeCompte; this.montantDepot = montantDepot; this.dateDepot = dateDepot; }
public RetraitRéalisé(string _numéroDeCompte, Montant montantRetrait, DateTime dateRetrait) { // TODO: Complete member initialization this._numéroDeCompte = _numéroDeCompte; this.montantRetrait = montantRetrait; this.dateRetrait = dateRetrait; }
public IEnumerable <IEvénementMétier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { var numeroDeCompte = RecupererNumeroDeCompte(); if (numeroDeCompte == string.Empty) { return(null); } var retrait = new RetraitRéalisé(numeroDeCompte, montantRetrait, dateRetrait); var montantRestantSurLeCompte = CalculerMontantRestantSurLeCompteApresRetrait(retrait); if (montantRestantSurLeCompte >= 0) { return(new[] { (IEvénementMétier)retrait }); } if (Math.Abs(montantRestantSurLeCompte) > RecupererAutorisationDeCredit()) { throw new RetraitNonAutorisé(); } var balanceNegative = new BalanceNégativeDétectée(numeroDeCompte, new Montant(Math.Abs(montantRestantSurLeCompte)), dateRetrait); return(new[] { (IEvénementMétier)retrait, balanceNegative }); }
public IEnumerable<IEvenementMetier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { yield return new RetraitRéalisé(this._compteCréé._numéroDeCompte, montantRetrait, dateRetrait); if (this._compteCréé._autorisationDeCrédit > (this.balance - montantRetrait._montant)) { yield return new BalanceNégativeDétectée(this._compteCréé._numéroDeCompte, montantRetrait, dateRetrait); } }
private IEvenementMetier AddMontant(Montant m, DateTime date) { this.Montant.Value += m.Value; if (this.Montant.Value < 0) { Montant nm = new Montant(this.Montant.Value + m.Value); return new BalanceNégativeDétectée(this.CurrentAccount, nm, date); } return null; }
public IEnumerable<IEvénementMétier> FaireUnDepot(Montant montantDepot, DateTime dateDepot) { var numeroDeCompte = RecupererNumeroDeCompte(); if (numeroDeCompte == string.Empty) { return null; } var depot = new DépotRéalisé(numeroDeCompte, montantDepot, dateDepot); return new[] { (IEvénementMétier)depot }; }
public IEnumerable <IEvénementMétier> FaireUnDepot(Montant montantDepot, DateTime dateDepot) { var numeroDeCompte = RecupererNumeroDeCompte(); if (numeroDeCompte == string.Empty) { return(null); } var depot = new DépotRéalisé(numeroDeCompte, montantDepot, dateDepot); return(new[] { (IEvénementMétier)depot }); }
public IEnumerable<IEvenementMetier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { if ((montant.Valeur - montantRetrait.Valeur)*-1 > decouvertAutorise.Valeur) { throw new RetraitNonAutorisé(); } else { montant.Valeur -= montantRetrait.Valeur; yield return new RetraitRéalisé(numeroCompte, montantRetrait, dateRetrait); if (montant.Valeur < 0) { yield return new BalanceNégativeDétectée(numeroCompte, new Montant(montant.Valeur*-1), dateRetrait); } } }
public CompteBancaire(params IEvenementMetier[] em) { this.Montant = new Montant(0); foreach(IEvenementMetier e in em) { events = em; // on traite certaines spécificités if(e.GetType().IsAssignableFrom(typeof(CompteCréé))) { CurrentAccount = ((CompteCréé)e).Compte; } if(e.GetType().IsAssignableFrom(typeof(DépotRéalisé))) { AddMontant(((DépotRéalisé)e).Montant, ((DépotRéalisé)e).Date); } if (e.GetType().IsAssignableFrom(typeof(RetraitRéalisé))) { ((RetraitRéalisé)e).Montant.Value *= -1; AddMontant(((RetraitRéalisé)e).Montant, ((RetraitRéalisé)e).dateRetrait); } } }
public IEnumerable<IEvénementMétier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { var numeroDeCompte = RecupererNumeroDeCompte(); if (numeroDeCompte == string.Empty) { return null; } var retrait = new RetraitRéalisé(numeroDeCompte, montantRetrait, dateRetrait); var montantRestantSurLeCompte = CalculerMontantRestantSurLeCompteApresRetrait(retrait); if (montantRestantSurLeCompte >= 0) { return new[] { (IEvénementMétier)retrait }; } if (Math.Abs(montantRestantSurLeCompte) > RecupererAutorisationDeCredit()) { throw new RetraitNonAutorisé(); } var balanceNegative = new BalanceNégativeDétectée(numeroDeCompte, new Montant(Math.Abs(montantRestantSurLeCompte)), dateRetrait); return new[] { (IEvénementMétier)retrait, balanceNegative }; }
public RetraitRéalisé(string numéroDeCompte, Montant montantRetrait, DateTime dateRetrait) { this.numeroCompte = numéroDeCompte; this.montant = montantRetrait; this.dateRetrait = dateRetrait; }
public RetraitRéalisé(string numéroDeCompte, Montant montantRetrait, DateTime dateRetrait) { NuméroDeCompte = numéroDeCompte; MontantRetrait = montantRetrait; DateRetrait = dateRetrait; }
public IEnumerable<IEvenementMetier> FaireUnDepot(Montant montantDepot, DateTime dateDepot) { montant.Valeur += montantDepot.Valeur; yield return new DépotRéalisé(numeroCompte, montantDepot, dateDepot); }
public IEnumerable<IEvenementMetier> FaireUnRetrait(Montant montantRetrait, System.DateTime dateRetrait) { yield return new RetraitRéalisé(this._compteCréé._numéroDeCompte,montantRetrait, dateRetrait); }
public DépotRéalisé(string numéroDeCompte, Montant montantDepot, DateTime dateDepot) { _numéroDeCompte = numéroDeCompte; _montantDepot = montantDepot; _dateDepot = dateDepot; }
public BalanceNégativeDétectée(string numéroDeCompte, Montant montant, DateTime dateRetrait) { _numéroDeCompte = numéroDeCompte; _montant = montant; _dateRetrait = dateRetrait; }
public RetraitRéalisé(string p, Montant Montant, DateTime dateRetrait) { this.Compte = p; this.Montant = Montant; this.dateRetrait = dateRetrait; }
public BalanceNégativeDétectée(string numeroCompte, Montant montant, DateTime dateRetrait) { this.numeroCompte = numeroCompte; this.montant = montant; this.dateRetrait = dateRetrait; }
public BalanceNégativeDétectée(string _numéroDeCompte, Montant montant, DateTime dateRetrait) { this._numéroDeCompte = _numéroDeCompte; this.montant = montant; this.dateRetrait = dateRetrait; }
public DépotRéalisé(string c, Montant m, DateTime d) { Compte = c; Montant = m; Date = d; }
public BalanceNégativeDétectée(string numéroDeCompte, Montant montant, DateTime dateRetrait) { NuméroDeCompte = numéroDeCompte; Montant = montant; DateRetrait = dateRetrait; }
public DépotRéalisé(string numéroDeCompte, Montant montantDepot, DateTime dateDepot) { NuméroDeCompte = numéroDeCompte; MontantDepot = montantDepot; DateDepot = dateDepot; }
public DépotRéalisé(string numéroDeCompte, Montant montantDepot, DateTime dateDepot) { this.numeroCompte = numéroDeCompte; this.montantDepot = montantDepot; this.dateDepot = dateDepot; }
public IEnumerable<IEvenementMetier> FaireUnDepot(Montant montantDepot, DateTime dateDepot) { yield return new DépotRéalisé(_numCompte, montantDepot, dateDepot); }
public IEnumerable<IEvenementMetier> FaireUnRetrait(Montant montantRetrait, DateTime dateRetrait) { yield return new RetraitRéalisé(_numCompte, montantRetrait, dateRetrait); }
public CompteBancaire(CompteCréé compteCréé, DépotRéalisé dépotRéalisé) { numeroCompte = compteCréé.NuméroDeCompte; decouvertAutorise.Valeur = compteCréé.AutorisationDeCrédit; montant = dépotRéalisé.MontantDepot; }
public BalanceNégativeDétectée(string c, Montant m, DateTime d) { Compte = c; Montant = m; Date = d; }
public IEnumerable<IEvenementMetier> FaireUnDepot(Montant montantDepot, System.DateTime dateDepot) { yield return new DépotRéalisé(this._compteCréé._numéroDeCompte, montantDepot, dateDepot); }