/// <summary> /// Это активный НЕ карточный счет. /// </summary> /// <returns>Активный НЕ карточный счет или нет</returns> public static bool IsNonCardActiveAccount(AccountReply accountReply, DateTime calculateDate) { return(accountReply.OwnerIndic != AccountReply.OwnerIndice.Guarantor && accountReply.AcctType != AccountReply.AcctTypee.CreditCard && accountReply.AcctType != AccountReply.AcctTypee.Overdraft && accountReply.AcctType != AccountReply.AcctTypee.OverdraftDebitCard && (accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.Active || accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.InDefaultOrPastDue) && accountReply.LastUpdatedDt > calculateDate.AddMonths(-MaxActiveMonth(calculateDate))); }
/// <summary> /// Это активный карточный счет. /// </summary> /// <returns>Активный карточный счет или нет</returns> public static bool IsCardActiveAccount(AccountReply accountReply, DateTime calculateDate) { // AmtOutstanding bool result = (accountReply.OwnerIndic != AccountReply.OwnerIndice.Guarantor // Кредитки и овердрафты с суммой && (accountReply.AcctType == AccountReply.AcctTypee.CreditCard || ((accountReply.AcctType == AccountReply.AcctTypee.OverdraftDebitCard || accountReply.AcctType == AccountReply.AcctTypee.Overdraft) && (Int32.TryParse(accountReply.principalOutstanding, out int PrincipalOutstanding) && PrincipalOutstanding > 0 || Int32.TryParse(accountReply.amtOutstanding, out int AmtOutstanding) && AmtOutstanding > 0) ) ) && (accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.Active || accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.InDefaultOrPastDue) && (Decimal.TryParse(accountReply.amtOutstanding, out Decimal amtOutstanding) && amtOutstanding > 0) && accountReply.LastUpdatedDt > calculateDate.AddMonths(-MaxActiveMonth(calculateDate))); return(result); }