Decimal Interest = 0; EMICalculatorList ECL = new EMICalculatorList(); ProjectXBL.Config.EMICalculator EC; int month = ddlMonth.SelectedValue.ToNonNullInt32() - 1; Decimal Intr = 0; Decimal Mth = txtPrinciple.Text.ToNonNullDecimal() / txtLoanDurationInMonths.Text.ToNonNullDecimal(); Decimal principalAmt = txtPrinciple.Text.ToNonNullDecimal(); Decimal ROI = txtAnnualInterestRate.Text.ToNonNullDecimal(); Decimal months = txtLoanDurationInMonths.Text.ToNonNullDecimal(); Decimal F = 1200; for (int i = 0; i < txtLoanDurationInMonths.Text.ToNonNullInt32(); i++) { Intr = Intr + ((principalAmt * ROI) / F); principalAmt = principalAmt - Mth; } Decimal Avg = Intr.ToNonNullDecimal() / txtLoanDurationInMonths.Text.ToNonNullDecimal(); Decimal MonthlyPayment = ((txtPrinciple.Text.ToNonNullDecimal() / txtLoanDurationInMonths.Text.ToNonNullDecimal()) + Avg).ToNonNullDecimal(); lblMonthlypaymentsText.Text = string.Empty; lblMonthlypaymentsText.Text = Math.Round(MonthlyPayment, 2).ToString(); lblAnnulLoanPaymentsText.Text = string.Empty; lblAnnulLoanPaymentsText.Text = Math.Round((MonthlyPayment * 12), 2).ToString(); Decimal Ending = 0; Decimal Ints = 0; Decimal Prnc = 0; Decimal CumPrinc = 0; Decimal CumIntr = 0; Decimal principal = txtPrinciple.Text.ToNonNullDecimal(); for (int i = 0; i < txtLoanDurationInMonths.Text.ToNonNullInt32(); i++) { EC = new ProjectXBL.Config.EMICalculator(); //No,Month And Year EC.No = i + 1; if (month == 0) { EC.Year = txtYear.Text; } if (month == 12) { month = 0; EC.Year = (txtYear.Text.ToNonNullInt32() + 1).ToString(); } EC.Month = ddlMonth.Items[month].Text; month++; // EC.Payment = MonthlyPayment; Decimal monthly = principal / months; //Monthly payable without interest EC.Interest = (principal * ROI) / 1200; Ints = EC.Interest; principal = principal - monthly; Interest = Interest + EC.Interest; EC.Principal = MonthlyPayment - EC.Interest; Prnc = EC.Principal; if (i == 0) { EC.BeginningBalance = txtPrinciple.Text.ToNonNullDecimal(); EC.CumulativePrinciple = EC.Principal; EC.CumulativeInterest = EC.Interest; } else { EC.BeginningBalance = Ending; EC.CumulativePrinciple = CumPrinc + Prnc; EC.CumulativeInterest = CumIntr + Intr; } EC.Ending = EC.BeginningBalance - EC.Principal; Ending = EC.Ending; CumPrinc = EC.CumulativePrinciple; CumIntr = EC.CumulativeInterest; ECL.Add(EC); } lstEMI.DataSource = ECL; lstEMI.DataBind();
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)