private BedragPerMaand bepaalLeningBedragPerMaand(IEnumerable <Lening> leningen) { BedragPerMaand bedragPerMaand = new BedragPerMaand(); foreach (Lening lening in leningen) { Maand beginMaand = (Maand)lening.Begindatum.Month; int jaar = lening.Begindatum.Year; int bedrag = 0; if (lening.Type == LeningType.Annuitair) { bedrag = lening.berekenAnnuitairBedragPerMaand(lening.Bedrag, lening.Looptijd); } else if (lening.Type == LeningType.Lineair) { bedrag = lening.berekenLineairBedragPerMaand(lening.Looptijd); } if (jaar < this.jaar) { bedragPerMaand.voegBedragToeAanAlleMaanden(bedrag); } else { for (Maand i = beginMaand; i <= Maand.December; i++) { bedragPerMaand.voegBedragToeInMaand(bedrag, i); } } } return(bedragPerMaand); }
private BedragPerMaand bepaalReservingBedragPerMaand(IEnumerable <Reservering> reserveringen) { BedragPerMaand reserveringenPerMaand = new BedragPerMaand(); reserveringenPerMaand.voegBedragToeAanAlleMaanden(reserveringen.Where(r => r.Maand == Maand.Alle).Sum(r => r.Bedrag)); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Januari).Sum(r => r.Bedrag), Maand.Januari); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Februari).Sum(r => r.Bedrag), Maand.Februari); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Maart).Sum(r => r.Bedrag), Maand.Maart); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.April).Sum(r => r.Bedrag), Maand.April); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Mei).Sum(r => r.Bedrag), Maand.Mei); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Juni).Sum(r => r.Bedrag), Maand.Juni); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Juli).Sum(r => r.Bedrag), Maand.Juli); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Augustus).Sum(r => r.Bedrag), Maand.Augustus); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.September).Sum(r => r.Bedrag), Maand.September); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.Oktober).Sum(r => r.Bedrag), Maand.Oktober); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.November).Sum(r => r.Bedrag), Maand.November); reserveringenPerMaand.voegBedragToeInMaand(reserveringen.Where(r => r.Maand == Maand.December).Sum(r => r.Bedrag), Maand.December); return(reserveringenPerMaand); }