本文整理汇总了C#中OpenCBS.CoreDomain.Contracts.Loans.Loan.WriteOff方法的典型用法代码示例。如果您正苦于以下问题:C# Loan.WriteOff方法的具体用法?C# Loan.WriteOff怎么用?C# Loan.WriteOff使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenCBS.CoreDomain.Contracts.Loans.Loan
的用法示例。
在下文中一共展示了Loan.WriteOff方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteOff
public void WriteOff(Loan loan, DateTime onDate, int writeOffMethodId)
{
using (SqlConnection conn = _loanManager.GetConnection())
using (SqlTransaction sqlTransaction = conn.BeginTransaction())
{
try
{
WriteOffEvent writeOffEvent = loan.WriteOff(onDate);
writeOffEvent.User = User.CurrentUser;
writeOffEvent.WriteOffMethod = writeOffMethodId;
if (Teller.CurrentTeller != null && Teller.CurrentTeller.Id != 0)
writeOffEvent.TellerId = Teller.CurrentTeller.Id;
_ePs.FireEvent(writeOffEvent, loan, sqlTransaction);
//lciw ~ loan credit insurance write-off
foreach (Event item in loan.Events)
{
if (item is CreditInsuranceEvent)
if (item.Code == "LCIW" && item.Deleted == false)
_ePs.FireEvent(item, loan, sqlTransaction);
}
if (loan.Project.Client is Person)
{
loan.Project.Client.Active = false;
loan.Project.Client.Status = OClientStatus.Inactive;
_clientManager.UpdateClientStatus(loan.Project.Client, sqlTransaction);
}
UpdateLoan(ref loan, sqlTransaction);
CallInterceptor(new Dictionary<string, object>
{
{"Loan", loan},
{"Event", writeOffEvent},
{"SqlTransaction", sqlTransaction}
});
if (sqlTransaction != null)
sqlTransaction.Commit();
if (loan.Project.Client is Group)
UpdateGroupMembersStatuses(loan);
}
catch (Exception)
{
if (sqlTransaction != null) sqlTransaction.Rollback();
throw;
}
}
}