Skip to content

clsGroupAssociationDiscount

Stores a time-effective group discount and exposes it through the rating factor contract.

Purpose

  • Stores a time-effective group discount and exposes it through the rating factor contract.
  • Return a rating adjustment through Factor(...) only when the object remains valid (BR-014).

Context

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

Public members

Member Signature Purpose
CreateDate Public ReadOnly Property CreateDate() As Date Audit timestamp recorded when the row is created.
CreateUser Public ReadOnly Property CreateUser() As String Audit user recorded when the row is created.
UpdateDate Public ReadOnly Property UpdateDate() As Date Audit timestamp recorded when the row is updated.
UpdateUser Public ReadOnly Property UpdateUser() As String Audit user recorded when the row is updated.
GroupAssociationCode Public Property GroupAssociationCode() As String Owning group association code used to locate related rows.
EffectiveDate Public Property EffectiveDate() As Date Effective date that starts the row's validity period.
ExpirationDate Public Property ExpirationDate() As Date Optional date that ends the row's validity period.*
GroupDiscount Public Property GroupDiscount() As Decimal Percent discount contributed to rating when the row is valid.
TentativeFlag Public Property TentativeFlag() As String Stored flag indicating whether the discount is still tentative.
IsTentative Public ReadOnly Property IsTentative() As Boolean Boolean interpretation of the pending flag for the discount.
Factor Public Property Factor(ByVal inAdjustedRateProvider As iAdjustedRateProvider) As Decimal Implements iAdjustedRateFactor.Factor Returns the stored discount when the object is valid, otherwise the non-applicable factor (BR-014).
IsValid Public Overrides ReadOnly Property IsValid() As Boolean Reports whether the group discount row currently satisfies BOF validation rules.*
IsDirty Public Overrides ReadOnly Property IsDirty() As Boolean Reports whether the group discount row has unsaved edits pending in BOF state tracking.*
SetExpirationDateNull Public Sub SetExpirationDateNull() Clears the corresponding optional field so the persistence layer can write a database null.*
SetGroupDiscountNull Public Sub SetGroupDiscountNull() Clears the corresponding optional field so the persistence layer can write a database null.*
SetTentativeFlagNull Public Sub SetTentativeFlagNull() Clears the corresponding optional field so the persistence layer can write a database null.*
IsExpirationDateNull Public Function IsExpirationDateNull() As Boolean Reports whether the discount expiration date is currently unset or database-null.*
IsGroupDiscountNull Public Function IsGroupDiscountNull() As Boolean Reports whether the stored discount percentage is currently unset or database-null.*
IsTentativeFlagNull Public Function IsTentativeFlagNull() As Boolean Reports whether the tentative/pending flag is currently unset or database-null.*
Equals Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean Compares another value with this group discount row for business-object equality.*
Equals Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean Compares another value with this group discount row for business-object equality.*
Equals Public Overloads Function Equals(ByVal inObject As clsGroupAssociationDiscount) As Boolean Compares another value with this group discount row for business-object equality.*
GetHashCode Public Overrides Function GetHashCode() As Integer Returns a hash code aligned with the group discount row's business identity for collection lookups.*
ToString Public Overrides Function ToString() As String Returns a textual representation of the group discount row for diagnostics or display.*
NewGroupAssociationDiscount Public Shared Function NewGroupAssociationDiscount(ByVal inDataportal As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inEffectiveDate As Date) As clsGroupAssociationDiscount Creates a new discount row seeded with the group code and effective date so callers can populate rating inputs.*
GetGroupAssociationDiscount Public Shared Function GetGroupAssociationDiscount(ByVal inDataportal As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inEffectiveDate As Date) As clsGroupAssociationDiscount Loads the effective-dated discount row for the supplied group code and effective date.
ValidGroupDiscount Public Function ValidGroupDiscount(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean Enforces the rule that a discount row must reference a non-empty group association code (BR-013).
GroupAssociationCode Public Property GroupAssociationCode() As String Owning group association code used to locate related rows.
EffectiveDate Public Property EffectiveDate() As Date Effective date that starts the row's validity period.
New Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo) Creates a new BOF-backed group discount row instance, optionally seeded with its key values for create or retrieve flows.*
New Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inGroupAssociationCode As String, ByVal inEffectiveDate As Date) Creates a new BOF-backed group discount row instance, optionally seeded with its key values for create or retrieve flows.*

Inherited public members

Member Signature Purpose Origin
Rules Property Rules As clsRulesManager Inherited rules manager that executes registered BOF validation handlers.† SAIF.Framework.Core — clsBusinessBase
BeginEdit Sub BeginEdit() Starts the inherited BOF edit session for the object graph.† SAIF.Framework.Core — clsBusinessBase
CancelEdit Sub CancelEdit() Rolls back the inherited BOF edit session for the object graph.† SAIF.Framework.Core — clsBusinessBase
ApplyEdit Sub ApplyEdit() Commits the inherited BOF edit session for the object graph.† SAIF.Framework.Core — clsBusinessBase
SetPreviousLink Sub SetPreviousLink(item As ILinkItem) Maintains inherited linked-list navigation between BOF objects.† SAIF.Framework.Core — clsBusinessBase
SetNextLink Sub SetNextLink(item As ILinkItem) Maintains inherited linked-list navigation between BOF objects.† SAIF.Framework.Core — clsBusinessBase
InsertLinkAfter Sub InsertLinkAfter(item As ILinkItem) Inserts an inherited link after the current BOF object.† SAIF.Framework.Core — clsBusinessBase
InsertLinkBefore Sub InsertLinkBefore(item As ILinkItem) Inserts an inherited link before the current BOF object.† SAIF.Framework.Core — clsBusinessBase
RemoveLinks Sub RemoveLinks() Clears inherited object links in the BOF graph.† SAIF.Framework.Core — clsBusinessBase
Error ReadOnly Property Error As String Surfaces inherited aggregate broken-rule text through IDataErrorInfo.† SAIF.Framework.Core — clsBusinessBase
Item ReadOnly Property Item(columnName As String) As String Surfaces inherited per-member broken-rule text through IDataErrorInfo.† SAIF.Framework.Core — clsBusinessBase
DumpState Public Sub DumpState() Emits inherited diagnostic state for the BOF object.† SAIF.Framework.Core — clsBusinessBase
AllowCache Public Property AllowCache() As Boolean Controls whether the inherited BOF object may be cached.† SAIF.Framework.Core — clsBusinessBase

Behavioral notes

  • Factor(...) returns the stored discount only when the object is valid (BR-014).
  • IsTentative reflects the stored pending flag (BR-015).

Constraints and usage notes

  • Most create, retrieve, and save flows rely on BOF criteria and data-portal behavior inherited from the framework base layer.†

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified. Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service.

Sources

  • Business\\SAIF.Business.Policy.Group\\clsGroupAssociationDiscount.vb