当前位置: 首页>>代码示例>>C#>>正文


C# Loan.GetPastDueDays方法代码示例

本文整理汇总了C#中OpenCBS.CoreDomain.Contracts.Loans.Loan.GetPastDueDays方法的典型用法代码示例。如果您正苦于以下问题:C# Loan.GetPastDueDays方法的具体用法?C# Loan.GetPastDueDays怎么用?C# Loan.GetPastDueDays使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OpenCBS.CoreDomain.Contracts.Loans.Loan的用法示例。


在下文中一共展示了Loan.GetPastDueDays方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: _LoanLossReserveBalance

        private static OCurrency _LoanLossReserveBalance(Loan pCredit,ProvisionTable pProvisionningTable, int writeOffDays)
        {
            OCurrency balance = 0;
            if (!pCredit.Disbursed) return balance;

            if (pCredit.GetPastDueDays(TimeProvider.Today) == 0) return balance;
            if (pCredit.GetPastDueDays(TimeProvider.Today) > writeOffDays) return balance;
            foreach (Installment installment in pCredit.InstallmentList)
            {
                if (installment.ExpectedDate >= TimeProvider.Today)
                    break;
                balance += (installment.InterestsRepayment - installment.PaidInterests);
            }

            balance += pCredit.GetUnpaidLatePenalties(TimeProvider.Today);
            
            int pastDueDays = pCredit.GetPastDueDays(TimeProvider.Today);
            balance += pCredit.GetOlb() * Convert.ToDecimal(pProvisionningTable.GetProvisiningRateByNbOfDays(pastDueDays).Rate);
            
            OCurrency realBalance = 0;
            
            return balance > realBalance ? balance : realBalance;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:23,代码来源:Cash.cs

示例2: _AccruedInterestsLoanBalance

        private static OCurrency _AccruedInterestsLoanBalance(Loan pCredit)
        {
            if (!pCredit.Disbursed || pCredit.Rescheduled) return 0;
            if (pCredit.GetPastDueDays(TimeProvider.Today) != 0) return 0;

            foreach (Installment installment in pCredit.InstallmentList)
            {
                if(!installment.IsRepaid)
                {
                    DateTime date = installment.Number == 1
                                        ? pCredit.StartDate
                                        : pCredit.GetInstallment(installment.Number - 2).ExpectedDate;
                    int days = (TimeProvider.Today - date).Days;
                    OCurrency accruedInterest = installment.InterestsRepayment * (double)days / (double)DateTime.DaysInMonth(date.Year, date.Month);
                    accruedInterest -= installment.PaidInterests;

                    return accruedInterest > 0 ? accruedInterest : 0;
                }
            }
            return 0;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:21,代码来源:Accrual.cs

示例3: _InterestsPastDueLoanBalance

        private static OCurrency _InterestsPastDueLoanBalance(Loan pCredit, int writeOffDays)
        {
            OCurrency balance = 0;
            if (!pCredit.Disbursed) return balance;

            if (pCredit.GetPastDueDays(TimeProvider.Today) == 0) return balance;
            if (pCredit.GetPastDueDays(TimeProvider.Today) > writeOffDays) return balance;
            foreach (Installment installment in pCredit.InstallmentList)
            {
                if (installment.ExpectedDate > TimeProvider.Today)
                    break;
                balance += (installment.InterestsRepayment - installment.PaidInterests);
            }

            return balance;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:16,代码来源:Cash.cs

示例4: _LoanLossBalance

 private static OCurrency _LoanLossBalance(Loan pCredit, int writeOffDays)
 {
     if (pCredit.WrittenOff || pCredit.GetPastDueDays(TimeProvider.Today) > writeOffDays) return pCredit.GetOlb();
     return 0;
 }
开发者ID:aelhadi,项目名称:opencbs,代码行数:5,代码来源:Cash.cs

示例5: _CashCreditBalance

        private static OCurrency _CashCreditBalance(Loan pCredit)
        {
            if (!pCredit.Disbursed || pCredit.Rescheduled) return 0;

            if (pCredit.GetPastDueDays(TimeProvider.Today) == 0)
                return pCredit.GetOlb();
            else
                return 0;

        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:10,代码来源:Cash.cs

示例6: _BadLoanBalance

 private static OCurrency _BadLoanBalance(Loan pCredit, int badLoanDays)
 {
     int pastDueDays = pCredit.GetPastDueDays(TimeProvider.Today);
     if (pastDueDays <= badLoanDays && pastDueDays != 0)
         return pCredit.GetOlb();
     else
         return 0;
 }
开发者ID:aelhadi,项目名称:opencbs,代码行数:8,代码来源:Cash.cs

示例7: _IncomeLoanLossBalance

        private static OCurrency _IncomeLoanLossBalance(Loan pCredit, ProvisionTable pProvisionningTable)
        {
            OCurrency olb = pCredit.GetOlb();
            OCurrency rate = Convert.ToDecimal(pProvisionningTable.GetProvisiningRateByNbOfDays(0).Rate);
            if (pCredit.GetPastDueDays(TimeProvider.Today) != 0) olb = 0;
            if (pCredit.WrittenOff) return 0;

            if (!pCredit.Disbursed) return 0;

            if (pCredit.AllInstallmentsRepaid) return 0;

            if (!pCredit.BadLoan) return (pCredit.Amount - olb) * rate;

            else return (pCredit.Amount) * rate;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:15,代码来源:Cash.cs

示例8: _LiabilitiesLoanLossBalance

 private static OCurrency _LiabilitiesLoanLossBalance(Loan pCredit,ProvisionTable pProvisionningTable)
 {
     if (pCredit.Disbursed && !pCredit.BadLoan)
         if (pCredit.GetPastDueDays(TimeProvider.Today) == 0)
             return pCredit.GetOlb() * Convert.ToDecimal(pProvisionningTable.GetProvisiningRateByNbOfDays(0).Rate);
         else
             return 0;
     else
         return 0;
 }
开发者ID:aelhadi,项目名称:opencbs,代码行数:10,代码来源:Cash.cs

示例9: _ProvisionWriteOffBalance

        private static OCurrency _ProvisionWriteOffBalance(Loan pCredit, int writeOffDays)
        {
            OCurrency balance = 0;
            if (pCredit.WrittenOff || pCredit.GetPastDueDays(TimeProvider.Today) > writeOffDays) return pCredit.GetOlb();

            foreach (BadLoanRepaymentEvent e in pCredit.Events.GetEventsByType(typeof(BadLoanRepaymentEvent)))
            {
                balance += e.AccruedProvision;
            }
            return balance;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:11,代码来源:Cash.cs

示例10: _InterestOnBadloanBalance

        private static OCurrency _InterestOnBadloanBalance(Loan pCredit)
        {
            OCurrency balance = 0;

            if (!pCredit.Disbursed) return 0;
            
            if(pCredit.GetPastDueDays(TimeProvider.Today) > 0)
            {
                foreach (Installment installment in pCredit.InstallmentList)
                {
                    if (installment.ExpectedDate > TimeProvider.Today)
                        break;
                    balance += (installment.InterestsRepayment - installment.PaidInterests);
                }
            }

            OCurrency realBalance = 0;
            
            return balance > realBalance ? balance : realBalance;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:20,代码来源:Cash.cs

示例11: _UnrecoverableBadLoanBalance

 private static OCurrency _UnrecoverableBadLoanBalance(Loan pCredit, int badLoanDays, int writeOffDays)
 {
     int pastDueDays = pCredit.GetPastDueDays(TimeProvider.Today);
     if (pastDueDays > badLoanDays && pastDueDays <= writeOffDays)
         return pCredit.GetOlb();
     else
         return 0;
 }
开发者ID:aelhadi,项目名称:opencbs,代码行数:8,代码来源:Cash.cs

示例12: _PenaltiesPastDueLoansBalanceAsset

        private static OCurrency _PenaltiesPastDueLoansBalanceAsset(Loan pCredit, int writeOffDays)
        {
            OCurrency balance = 0;
            if (!pCredit.Disbursed) return balance;

            if (pCredit.GetPastDueDays(TimeProvider.Today) == 0) return balance;
            if (pCredit.GetPastDueDays(TimeProvider.Today) > writeOffDays) return balance;

            balance += pCredit.GetUnpaidLatePenalties(TimeProvider.Today);
            
            return balance;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:12,代码来源:Cash.cs

示例13: _DeferredIncomeBalance

        private static OCurrency _DeferredIncomeBalance(Loan pCredit)
        {
            if (!pCredit.Disbursed || pCredit.GetPastDueDays(TimeProvider.Today) != 0) return 0;

            OCurrency repaidAmount = 0;
            foreach (Installment installment in pCredit.InstallmentList)
            {
                if (TimeProvider.Today >= installment.ExpectedDate) continue;
                repaidAmount += installment.PaidInterests;
            }

            foreach (Installment installment in pCredit.InstallmentList)
            {
                if (TimeProvider.Today >= installment.ExpectedDate) continue;
                DateTime date = installment.Number == 1
                                    ? pCredit.StartDate
                                    : pCredit.GetInstallment(installment.Number - 2).ExpectedDate;
                int days = (TimeProvider.Today - date).Days;
                OCurrency accruedInterest = installment.InterestsRepayment * (double)days / (double)DateTime.DaysInMonth(date.Year, date.Month);
                repaidAmount -= accruedInterest;
                break;
            }
            return repaidAmount > 0 ? repaidAmount : 0;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:24,代码来源:Accrual.cs

示例14: _InterestOnRescheduledloanBalance

        private static OCurrency _InterestOnRescheduledloanBalance(Loan pCredit)
        {
            if (!pCredit.Rescheduled) return 0;

            OCurrency balance = 0;
            balance += pCredit.GetPaidInterest();
            foreach (BadLoanRepaymentEvent e in pCredit.Events.GetEventsByType(typeof(BadLoanRepaymentEvent)))
            {
                balance -= e.Interests;
            }

            if (pCredit.GetPastDueDays(TimeProvider.Today) != 0) return balance;
            foreach (Installment installment in pCredit.InstallmentList)
            {
                if (!installment.IsRepaid)
                {
                    DateTime date = installment.Number == 1
                                        ? pCredit.StartDate
                                        : pCredit.GetInstallment(installment.Number - 2).ExpectedDate;
                    int days = (TimeProvider.Today - date).Days;
                    OCurrency accruedInterest = installment.InterestsRepayment * (double)days / (double)DateTime.DaysInMonth(date.Year, date.Month);
                    accruedInterest -= installment.PaidInterests;

                    balance += accruedInterest > 0 ? accruedInterest : 0;
                    break;
                }
            }
            return balance;
        }
开发者ID:aelhadi,项目名称:opencbs,代码行数:29,代码来源:Accrual.cs


注:本文中的OpenCBS.CoreDomain.Contracts.Loans.Loan.GetPastDueDays方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。