Skip to content

clsInterestedPartyCollection

Collection façade for retrieving and managing the interested parties on a policy across an optional date window.

Purpose

  • Load policy-level interested-party lists from joined association/person SQL.
  • Cache code tables so child objects can reuse them during transactional loads.

Context

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

Public members

Member Signature Purpose
InterestedPartyTitles Public ReadOnly Property InterestedPartyTitles() As clsCodeCollection Loads the AFFILIATE_TITLE_CODE table once for the whole list and hands it to each child during a transactional load, so a policy with many interested parties issues one title-code query instead of one per person — the point of the cache is avoiding nested reads inside an open transaction.
InsuredCodes Public ReadOnly Property InsuredCodes() As clsCodeCollection Loads the INSURED_CODE table once for the whole list and shares it with each child during a transactional load, keeping insured-code description resolution to a single query per collection rather than per party.
CurrentItem Public Shadows ReadOnly Property CurrentItem() As clsInterestedParty Gives the framework's traversal pointer back as a typed interested party, so callers walking the list with the BOF cursor reach party-specific members without casting.
Add Public Shadows Function Add(ByVal inInterestedParty As clsInterestedParty) As Integer Appends a party to the in-memory list only; because this library provides no insert SQL, an added party is never written to BUSINESS_AFFILIATE and is lost when the collection goes out of scope.
Contains Public Overloads Function Contains(ByVal inInterestedParty As clsInterestedParty) As Boolean Scans the live list for a party matching the supplied object on policy, SSN, and effective date, so the same person on another policy period is not treated as already present.
Contains Public Overloads Function Contains(ByVal inPolicyNumber As Decimal, ByVal inAffiliateID As String, ByVal inEffectiveDate As Date) As Boolean Answers the same membership question from loose key values, letting callers test whether a policy period already has that person attached without first constructing a party object.
ContainsDeleted Public Overloads Function ContainsDeleted(ByVal inInterestedParty As clsInterestedParty) As Boolean Searches the framework's removed-items list rather than the live list, so callers can tell a party that was never present from one removed during this session.
ContainsDeleted Public Overloads Function ContainsDeleted(ByVal inPolicyNumber As Decimal, ByVal inAffiliateID As String, ByVal inEffectiveDate As Date) As Boolean Answers the removed-items question from loose key values, matching on the same three-part association key.
Remove Public Sub Remove(ByVal inInterestedParty As clsInterestedParty) Drops the given party from the in-memory list; the underlying association row is untouched, since no delete SQL exists in this library.
Remove Public Sub Remove(ByVal inPolicyNumber As Decimal, ByVal inAffiliateID As String, ByVal inEffectiveDate As Date) Finds the party matching a three-part key and drops the first match from the in-memory list, leaving the database row in place.
Where Public Function Where(ByVal match As Predicate(Of clsInterestedParty)) As clsInterestedPartyCollection Produces a new typed collection of the parties satisfying a caller's test, so filtered results keep the collection surface instead of degrading to a plain sequence.
GetInterestedPartyCollection Public Shared Function GetInterestedPartyCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNumber As Decimal) As clsInterestedPartyCollection Loads every interested party ever attached to the policy — the date window defaults to the widest possible range — with each person hydrated from the same joined row and the list ordered by name.
GetInterestedPartyCollection Public Shared Function GetInterestedPartyCollection(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inStartDate As Date, ByVal inEndDate As Date) As clsInterestedPartyCollection Loads the interested parties whose attachment overlaps the requested window: those effective before the window ends and not cancelled before it starts, with still-open attachments always counted as overlapping.

Inherited public members

Members in this table whose Origin is SAIF.Framework.Core were retrieved from that library's documentation via the Legends CLI; the Origin column identifies the originating class for each member.

Member Signature Purpose Origin
First Sub First() Moves the current-item pointer to the first item in the BOF collection. SAIF.Framework.Core — clsBusinessCollectionBase
Last Sub Last() Moves the current-item pointer to the last item in the BOF collection. SAIF.Framework.Core — clsBusinessCollectionBase
Next Sub Next() Advances the current-item pointer to the next item. SAIF.Framework.Core — clsBusinessCollectionBase
Previous Sub Previous() Moves the current-item pointer to the previous item. SAIF.Framework.Core — clsBusinessCollectionBase
SetCurrent Sub SetCurrent(item As Object) Sets the current item used by traversal-aware consumers. SAIF.Framework.Core — clsBusinessCollectionBase
Traverse Sub Traverse(...) Exposes BOF collection traversal behavior to callers that walk the list surface. SAIF.Framework.Core — clsBusinessCollectionBase
Error ReadOnly Property Error As String Surfaces collection-level validation or broken-rule text to data-binding consumers. SAIF.Framework.Core — clsBusinessCollectionBase
Item(columnName) ReadOnly Property Item(columnName As String) As String Returns column-specific validation error text through IDataErrorInfo. SAIF.Framework.Core — clsBusinessCollectionBase

Behavioral notes

  • Related operations, rules, and SQL are cross-referenced from the library-level documentation.

Constraints and usage notes

  • The library exposes read-only retrieval behavior; no type in this package can persist changes through live criteria SQL.

Note: Inherited-member descriptions attributed to SAIF.Framework.Core in the Origin column were retrieved from that library's documentation via the Legends CLI and should be reverified if the dependency version changes.

Sources

  • Business\SAIF.Business.Policy.Affiliate\clsInterestedPartyCollection.vb