本文整理匯總了C#中OpenCBS.CoreDomain.Contracts.Loans.Loan.CalculateInstallments方法的典型用法代碼示例。如果您正苦於以下問題:C# Loan.CalculateInstallments方法的具體用法?C# Loan.CalculateInstallments怎麽用?C# Loan.CalculateInstallments使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類OpenCBS.CoreDomain.Contracts.Loans.Loan
的用法示例。
在下文中一共展示了Loan.CalculateInstallments方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: DisplayInstallments
private void DisplayInstallments(ref Loan pCredit)
{
listViewLoanInstallments.Items.Clear();
if (pCredit.InstallmentList.Count == 0)
{
pCredit.Product = _product;
}
if (!pCredit.Disbursed)
{
if (!pCredit.ScheduleChangedManually)
{
pCredit.InstallmentList = pCredit.Product.LoanType == OLoanTypes.DecliningFixedPrincipalWithRealInterest || pCredit.Product.IsExotic
? pCredit.CalculateInstallments(true) : ServiceProvider.GetContractServices().SimulateScheduleCreation(pCredit);
pCredit.CalculateStartDates();
}
}
OCurrency interestTotal = 0;
OCurrency principalTotal = 0;
foreach (Installment installment in pCredit.InstallmentList)
{
ListViewItem listViewItem = new ListViewItem(installment.Number.ToString());
if (!_useGregorienCalendar)
{
DateTime dt = new DateTime(installment.ExpectedDate.Year, installment.ExpectedDate.Month,
installment.ExpectedDate.Day,
currentCalendar);
listViewItem.SubItems.Add(string.Format("{0}/{1}/{2}", targetCalendar.GetDayOfMonth(dt), targetCalendar.GetMonth(dt), targetCalendar.GetYear(dt)));
}
else
listViewItem.SubItems.Add(installment.ExpectedDate.ToShortDateString());
listViewItem.SubItems.Add(installment.InterestsRepayment.GetFormatedValue(pCredit.UseCents));
listViewItem.SubItems.Add(installment.CapitalRepayment.GetFormatedValue(pCredit.UseCents));
listViewItem.SubItems.Add(installment.Amount.GetFormatedValue(pCredit.UseCents));
listViewItem.SubItems.Add(ServicesProvider.GetInstance().GetGeneralSettings().IsOlbBeforeRepayment
? installment.OLB.GetFormatedValue(pCredit.UseCents)
: installment.OLBAfterRepayment.GetFormatedValue(pCredit.UseCents));
listViewLoanInstallments.Items.Add(listViewItem);
interestTotal += installment.InterestsRepayment;
principalTotal += installment.CapitalRepayment;
}
// Add totals to the list view
ListViewItem total = new ListViewItem
{
Font = new Font(listViewLoanInstallments.Font, FontStyle.Bold)
};
total.SubItems.Add("");
total.SubItems.Add(interestTotal.GetFormatedValue(pCredit.UseCents));
total.SubItems.Add(principalTotal.GetFormatedValue(pCredit.UseCents));
total.SubItems.Add((interestTotal + principalTotal).GetFormatedValue(pCredit.UseCents));
listViewLoanInstallments.Items.Add(total);
}
示例2: RepayInstallments_DontCancelFees_InitialAmount_RepaymentTwicelyADay
public void RepayInstallments_DontCancelFees_InitialAmount_RepaymentTwicelyADay()
{
LoanProduct package = new LoanProduct
{
InstallmentType = new InstallmentType(1, "10-days", 10, 0),
LoanType = OLoanTypes.Flat,
ChargeInterestWithinGracePeriod = true,
Currency = new Currency { Id = 1 }
};
package.KeepExpectedInstallment = true;
package.AnticipatedTotalRepaymentPenaltiesBase = OAnticipatedRepaymentPenaltiesBases.RemainingOLB;
Loan myContract = new Loan(package, 8000, 0.03333m, 5, 0, new DateTime(2010, 1, 1), new User(), ApplicationSettings.GetInstance(""), NonWorkingDateSingleton.GetInstance(""), ProvisionTable.GetInstance(new User()), ChartOfAccounts.GetInstance(new User()));
myContract.BadLoan = false;
myContract.AnticipatedTotalRepaymentPenalties = 0.01;
myContract.NonRepaymentPenalties = new NonRepaymentPenalties(0, 0, 0.0667, 0.01);
myContract.CalculateInstallments(true);
myContract.Disburse(new DateTime(2010, 1, 1), false, true);
myContract.Repay(1, new DateTime(2010, 1, 8), 30, false, true);
RepaymentEvent rPE = myContract.Repay(1, new DateTime(2010, 1, 11), 0, false, true);
Assert.AreEqual(rPE.Penalties, 0);
}