Skip to content

clsPrepayDiscountFactor

Represents an effective-dated discount factor for a prepay frequency. The class feeds the library's factor-selection pipeline and falls back to the neutral factor when its row does not apply.

Purpose

  • Represents an effective-dated discount factor for a prepay frequency.
  • The class feeds the library's factor-selection pipeline and falls back to the neutral factor when its row does not apply.

Context

  • Namespace: SAIF.Business.Policy.Rating
  • Assembly/package: SAIF.Business.Policy.Rating

Public members

Member Signature Purpose
PrepayFrequencyCode Public ReadOnly Property PrepayFrequencyCode() As String Prepay frequency code whose installment schedule this discount factor applies to.
EffectiveDate Public ReadOnly Property EffectiveDate() As Date First date on which this prepay discount factor is in force.
ExpirationDate Public ReadOnly Property ExpirationDate() As Date Optional date after which this prepay discount factor no longer applies.
PrepayDiscountFactor Public Property PrepayDiscountFactor() As Decimal Stored discount multiplier for the prepay-frequency row effective on this date.
AdjustedRateFactor Public Property AdjustedRateFactor(ByVal inAdjustedRateProvider As iAdjustedRateProvider) As Decimal Implements iAdjustedRateFactor.Factor Returns the stored prepay-discount multiplier when the row is valid; otherwise returns the neutral factor.
CreateDate Public ReadOnly Property CreateDate() As Date Audit timestamp when the discount-factor row was created.
CreateUser Public ReadOnly Property CreateUser() As String Audit user who created the discount-factor row.
UpdateDate Public ReadOnly Property UpdateDate() As Date Audit timestamp from the most recent update to the discount-factor row.
UpdateUser Public ReadOnly Property UpdateUser() As String Audit user from the most recent update to the discount-factor row.
IsExpirationDateNull Public Function IsExpirationDateNull() As Boolean Reports whether the discount-factor row has no expiration date.
IsUpdateDateNull Public Function IsUpdateDateNull() As Boolean Reports whether no update timestamp has been recorded for the discount-factor row.
IsUpdateUserNull Public Function IsUpdateUserNull() As Boolean Reports whether no update user has been recorded for the discount-factor row.
Equals Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean Returns True only when both arguments are prepay-discount rows with the same frequency code and effective window.
Equals Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean Returns True when the supplied object is a prepay-discount row with the same frequency code and effective window.
Equals Public Overloads Function Equals(ByVal inObject As clsPrepayDiscountFactor) As Boolean Treats two prepay-discount rows as equal when frequency code, effective date, and expiration date all match.
GetHashCode Public Overrides Function GetHashCode() As Integer Hashes PrepayFrequencyCode, the value this type uses as its identity key in keyed collections.
ToString Public Overrides Function ToString() As String Formats the row as its frequency code concatenated with its effective date.
GetPrepayDiscountFactor Public Shared Function GetPrepayDiscountFactor(ByVal inDataportal As IDataPortalInfo, ByVal inPrepayFrequencyCode As String, ByVal inSelectDate As Date) As clsPrepayDiscountFactor Retrieves the an effective-dated discount factor for a prepay frequency identified by the key values or effective-date criteria supplied by the caller.
GetPrepayDiscountFactor Public Shared Function GetPrepayDiscountFactor(ByVal inDataportal As IDataPortalInfo, ByVal inPrepayFrequency As clsPrepayFrequency.PrepayFrequencies, ByVal inSelectDate As Date) As clsPrepayDiscountFactor Retrieves the an effective-dated discount factor for a prepay frequency identified by the key values or effective-date criteria supplied by the caller.
ValidPrepayDiscountFactor Public Function ValidPrepayDiscountFactor(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean BOF rule method that requires a nonblank prepay-frequency code before the row is treated as valid.
Member Public Const RETRIEVE_PREPAYDISCOUNTFACTOR As String = "Select " & "PREPAY_DISCOUNT_FACTOR.PREPAY_FREQUENCY_CODE as PrepayFrequencyCode, " & "PREPAY_DISCOUNT_FACTOR.EFFECTIVE_DATE as EffectiveDate, " & "PREPAY_DISCOUNT_FACTOR.EXPIRATION_DATE as ExpirationDate, " & "PREPAY_DISCOUNT_FACTOR.DISCOUNT_FACTOR as PrepayDiscountFactor, " & "PREPAY_DISCOUNT_FACTOR.CREATE_DATE as CreateDate, " & "PREPAY_DISCOUNT_FACTOR.CREATE_USER as CreateUser, " & "PREPAY_DISCOUNT_FACTOR.UPDATE_DATE as UpdateDate, " & "PREPAY_DISCOUNT_FACTOR.UPDATE_USER as UpdateUser" & " From " & "PREPAY_DISCOUNT_FACTOR" Base SELECT statement that loads prepay-discount rows from PREPAY_DISCOUNT_FACTOR.
PrepayFrequencyCode Public Property PrepayFrequencyCode() As String Prepay-frequency retrieval key used to select the applicable discount-factor row.
SelectDate Public Property SelectDate() As Date As-of date used to retrieve the discount-factor row whose effective window contains that date.
New Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo) Creates an empty BOF object shell that shared factory methods or retrieval logic can populate with a loaded row.
New Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inPrepayFrequencyCode As String, ByVal inSelectDate As Date) Creates a criteria-backed instance seeded with inPrepayFrequencyCode, inSelectDate so the next retrieval runs in the caller's requested context.
## Inherited public members
Member Signature Purpose
--- --- ---
Rules Property Rules As clsRulesManager Owns the BOF rules manager used to evaluate registered validation logic.†
BeginEdit Sub BeginEdit() Opens an n-level edit session for the business object.†
CancelEdit Sub CancelEdit() Rolls back the active edit scope.†
ApplyEdit Sub ApplyEdit() Commits the active edit scope.†
Error ReadOnly Property Error As String Surfaces aggregate broken-rule text through IDataErrorInfo.†
## Behavioral notes
- When callers ask for an applied factor, the type returns either its stored multiplier or the neutral factor defined by the policy contracts.
## Constraints and usage notes
- Prefer the provider-aware factor member when composing rates so the type's applicability checks run before a multiplier is used.
> Note: Statements marked with † are derived from dependency library
> documentation via the Legends CLI. They describe inherited behavior from the
> indicated origin library and should be verified if the dependency version changes.
## Sources
- Business\SAIF.Business.Policy.Rating\clsPrepayDiscountFactor.vb