Skip to content

PolicyAssociation

This row object is the compact association shape materialized by PolicyAssociationList.GetPolicyAssociationList from the UNION-based relationship query documented as SQL-034. It carries the policy number, derived association type, and parent/child flag that PolicyAssociationExtensions later uses for filtering, parent discovery, affiliate-type conversion, and manual/non-manual navigation in the current associations model.

Purpose

  • Represent one association returned by the current association-list retrieval path in PolicyAssociations.vb.
  • Preserve the minimum facts needed by extension helpers: the related policy number, the normalized AssociationTypes value, and whether that related policy is treated as the parent row.
  • Bridge the newer association model back to the obsolete affiliate-type view through ToAffiliateType, enabling legacy callers to keep working while the associations property replaces affiliated-policy APIs.*

Context

  • Namespace: SAIF.Business.View.Policy
  • Assembly/package: SAIF.Business.View.Policy (embedded)

Public members

Member Signature Purpose
AssociationType Public ReadOnly Property AssociationType() As AssociationTypes Identifies which normalized relationship family the row belongs to after SQL relationship codes are translated into the library's AssociationTypes enum.
PolicyNumber Public ReadOnly Property PolicyNumber() As Decimal Holds the related policy identifier that collection filters and parent/child navigation operate on.
ToAffiliateType Public Function ToAffiliateType() As clsPolicyData.AffiliateTypes Converts the association row into the legacy affiliate-type enum expected by obsolete callers, using both the association type and the parent flag to choose the mapped value.*
IsParent Public ReadOnly Property IsParent() As Boolean Indicates whether the row represents the parent-side policy in the retrieved relationship set, which drives parent-policy checks in the extension layer.

Behavioral notes

  • Instances are created only through a Friend constructor, so external consumers receive populated rows from PolicyAssociationList rather than assembling them manually.
  • ToAffiliateType delegates the mapping decision to extension logic on AssociationType, which means legacy affiliate semantics are derived from the newer association representation.*
  • The row itself does not enforce BR-VP-014; that exclusion occurs in the list factory that decides which rows to instantiate.

Constraints and usage notes

  • This type does not expose policy names, status text, or effective dates; callers needing richer header data must use the Associations/ header-association model instead.
  • IsParent is sourced from SQL result flags (Y/N) interpreted by PolicyAssociationList, so its meaning depends on the retrieval query's parent-selection rules.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • SAIF.Business.View.Policy/PolicyAssociations.vb