本文整理汇总了C#中OpenCBS.CoreDomain.Contracts.Loans.Loan.CalculateStartDates方法的典型用法代码示例。如果您正苦于以下问题:C# Loan.CalculateStartDates方法的具体用法?C# Loan.CalculateStartDates怎么用?C# Loan.CalculateStartDates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenCBS.CoreDomain.Contracts.Loans.Loan
的用法示例。
在下文中一共展示了Loan.CalculateStartDates方法的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: Reschedule
public RescheduleLoanEvent Reschedule(ReschedulingOptions ro, Loan contract, NonWorkingDateSingleton nwdS, ApplicationSettings applicationSettings)
{
_contract = contract;
_nwdS = nwdS;
_generalSettings = applicationSettings;
switch (contract.Product.LoanType)
{
case OLoanTypes.Flat:
_Reschedule_Flat(ro);
break;
case OLoanTypes.DecliningFixedPrincipal:
_Reschedule_FixedPrincipal(ro);
break;
case OLoanTypes.DecliningFixedInstallments:
_Reschedule_DecliningFixedInstallments(ro);
break;
}
_Reschedule_AdjustOverpaid();
RescheduleLoanEvent rSe = new RescheduleLoanEvent
{
Date = ro.ReschedulingDate,
Amount = contract.CalculateActualOlb(),
Interest = contract.GetTotalInterestDue(),
ClientType = contract.ClientType,
BadLoan = contract.BadLoan,
NbOfMaturity = ro.NewInstallments,
DateOffset = ro.RepaymentDateOffset,
GracePeriod = ro.GracePeriod,
ChargeInterestDuringShift = ro.ChargeInterestDuringShift,
ChargeInterestDuringGracePeriod = ro.ChargeInterestDuringGracePeriod,
InstallmentNumber =
contract.GetLastFullyRepaidInstallment() == null
? 1
: contract.GetLastFullyRepaidInstallment().Number + 1
};
_contract.CalculateStartDates();
return rSe;
}