protected internal virtual void LoadPaymentPlan() { var paymentPlan = new PaymentPlan(); var ydelse = decimal.Round(LoanCalculations.Ydelse, 2); var mdRente = LoanSettings.PålydendeRente / 12m; var current = new PaymentDetail { Ydelse = ydelse , Rente = 0m , Afdrag = 0m , Nummer = 0 , PrimoVærdi = 0m , UltimoVærdi = LoanSettings.Lånebeøb }; for (var termin = 0; termin < LoanSettings.Løbetid; termin++) { var last = current; var rente = decimal.Round(last.UltimoVærdi * mdRente, 2); var afdrag = decimal.Round(LoanCalculations.Ydelse - rente, 2); current = new PaymentDetail { Ydelse = ydelse , Rente = rente , Afdrag = afdrag , Nummer = termin + 1 , PrimoVærdi = last.UltimoVærdi , UltimoVærdi = last.UltimoVærdi - afdrag }; paymentPlan.PaymentDetailList.Add(current); } // Adjust last for minor roundings. // ReSharper disable once PossibleNullReferenceException current.Afdrag = current.PrimoVærdi; current.Ydelse = current.Afdrag + current.Rente; current.UltimoVærdi = 0m; PaymentPlan = paymentPlan; }
public PaymentPlanService(IPaymentPlan paymentPlanRepository, IMapper mapper) { _paymentPlanRepo = paymentPlanRepository ?? throw new ArgumentNullException(nameof(paymentPlanRepository)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }