---
title: clsPrepayFrequency
summary: API reference for clsPrepayFrequency.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Rating
reference_type: package
---
# clsPrepayFrequency
Represents a prepay frequency code row. The class bridges stored prepay-frequency codes to the enum and discount-factor lookup used by callers.
## Purpose
- Represents a prepay frequency code row.
- The class bridges stored prepay-frequency codes to the enum and discount-factor lookup used by callers.
## Context
- Namespace: `SAIF.Business.Policy.Rating`
- Assembly/package: `SAIF.Business.Policy.Rating`
## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ConvertPrepayFrequency | `Public Shared Function ConvertPrepayFrequency(ByVal inPrepayFrequency As PrepayFrequencies) As String` | Translates between enum and code representations used by callers and the database. |
| ConvertPrepayFrequency | `Public Shared Function ConvertPrepayFrequency(ByVal inPrepayFrequency As String) As PrepayFrequencies` | Translates between enum and code representations used by callers and the database. |
| CreateDate | `Public ReadOnly Property CreateDate() As Date` | Timestamp when the prepay frequency code row was created. |
| CreateUser | `Public ReadOnly Property CreateUser() As String` | User ID that created the prepay frequency code row. |
| Code | `Public ReadOnly Property Code() As String` | One-letter prepay frequency code loaded from `PREPAY_FREQUENCY_CODE`. |
| PrepayFrequency | `Public ReadOnly Property PrepayFrequency() As PrepayFrequencies` | Enum value derived from `Code` for payment-frequency calculations. |
| Description | `Public ReadOnly Property Description() As String` | Description text for the prepay frequency code row. |
| EndorsementSubCode | `Public ReadOnly Property EndorsementSubCode() As String` | Endorsement subcode associated with this prepay frequency. |
| DiscountFactor | `Public ReadOnly Property DiscountFactor(ByVal inAsOfDate As Date) As clsPrepayDiscountFactor` | Resolves the prepay-discount-factor row for this frequency on the requested date from the shared collection cache. |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Returns `True` only when both objects are prepay frequency rows with the same `Code`. |
| Equals | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Returns `True` only when the supplied object is a prepay frequency row with the same `Code`. |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsPrepayFrequency) As Boolean` | Compares prepay frequency rows by `Code`. |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Hashes `Code`, the value this type uses as its identity key in keyed collections. |
| ToString | `Public Overrides Function ToString() As String` | Renders the prepay frequency row as its code value. |
| GetPrepayFrequency | `Public Shared Function GetPrepayFrequency(ByVal inDataportal As IDataPortalInfo, ByVal inFrequencyCode As String) As clsPrepayFrequency` | Retrieves the a prepay frequency code row identified by the key values or effective-date criteria supplied by the caller. |
| Member | `Public Const SelectSQL As String = "Select " & "PREPAY_FREQUENCY_CODE.CODE as Code, " & "PREPAY_FREQUENCY_CODE.CODE_DESCR as Description, " & "PREPAY_FREQUENCY_CODE.ENDORSE_SUBCODE as EndorsementSubCode, " & "PREPAY_FREQUENCY_CODE.CREATE_DATE as CreateDate, " & "PREPAY_FREQUENCY_CODE.CREATE_USER as CreateUser" & " From " & "PREPAY_FREQUENCY_CODE"` | Base `SELECT` statement for loading prepay frequency code, description, endorsement subcode, and audit fields. |
| Code | `Public Property Code() As String` | Criteria value used to retrieve a specific prepay frequency row. |
| 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 inCode As String)` | Creates a criteria-backed instance seeded with `inCode` so the next retrieval runs in the caller's requested context. |
## Inherited public members
| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Rules | `Property Rules As clsRulesManager` | Owns the BOF rules manager used to evaluate registered validation logic.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| BeginEdit | `Sub BeginEdit()` | Opens an n-level edit session for the business object.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| CancelEdit | `Sub CancelEdit()` | Rolls back the active edit scope.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| ApplyEdit | `Sub ApplyEdit()` | Commits the active edit scope.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| Error | `ReadOnly Property Error As String` | Surfaces aggregate broken-rule text through `IDataErrorInfo`.† | `SAIF.Framework.Core` — `clsBusinessBase` |
## Behavioral notes
- Discount-factor lookup is lazy and reuses the shared prepay-discount-factor collection.
## Constraints and usage notes
- Prefer `DiscountFactor(inAsOfDate)` over hard-coded frequency assumptions so the effective-dated table decides what is valid.
> **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\clsPrepayFrequency.vb`
