clsPolicyPreferredWorker¶
Concrete policy-affiliate object for affiliate type 2, with lazy eligibility enrichment from the preferred-worker table.
Purpose¶
- Represent one preferred-worker association for a policy period.
- Load preferred-worker eligibility only when the related properties are accessed.
Context¶
- Namespace:
SAIF.Business.Policy.Affiliate - Assembly/package:
SAIF.Business.Policy.Affiliate
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| PreferredWorkerID | Public ReadOnly Property PreferredWorkerID() As String |
Identifier of the preferred-worker record that qualifies this person during the association period. Reading it triggers the one-time eligibility lookup shared by all four eligibility properties; an empty string means no qualifying PREFERRED_WORKER row exists and the lookup will not be retried. |
| ContractTypeCode | Public ReadOnly Property ContractTypeCode() As String |
Kind of preferred-worker contract in force for the person during the association period, drawn from the same one-time eligibility lookup; an empty string signals that no qualifying eligibility row was found rather than a blank contract type. |
| EligibilityEffectiveDate | Public ReadOnly Property EligibilityEffectiveDate() As Date |
Start of the qualifying preferred-worker eligibility period. Only an eligibility row whose window covers both the association effective date and its cancel date qualifies, and when several do, the earliest-effective one is taken; a Date.MinValue result means no row qualified. |
| EligibilityExpirationDate | Public ReadOnly Property EligibilityExpirationDate() As Date |
End of the qualifying preferred-worker eligibility period, from the same lookup. Open-ended eligibility rows carry no expiration in the source, and a Date.MinValue result also arises when nothing qualified, so callers should read it together with PreferredWorkerID. |
| GetPolicyPreferredWorker | Public Shared Function GetPolicyPreferredWorker(ByVal inDataportal As IDataPortalInfo, ByVal inAffiliateID As String, ByVal inPolicyNumber As Decimal, ByVal inEffectiveDate As Date) As clsPolicyPreferredWorker |
Loads one preferred-worker attachment identified by policy, SSN, and effective date, hydrating the person from the same joined row and admitting only type-2 association rows; a key that matches nothing yields a defaults-only object, and eligibility data stays unread until a caller asks for it. |
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 |
|---|---|---|---|
| Affiliate | Public ReadOnly Property Affiliate() As clsAffiliate |
Person standing behind the association. The child is normally hydrated from the same joined row as the association, so reading it costs nothing; if the cached child no longer matches the association's SSN it is discarded and re-fetched so callers never see a person that belongs to a different association. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| BusinessSequenceNumber | Public ReadOnly Property BusinessSequenceNumber() As Decimal |
Sequence number of the underlying BUSINESS_AFFILIATE row, carried through so callers can tie the association back to its exact source row; it takes no part in association identity, which is the policy/SSN/effective-date triple. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| AffiliateID | Public ReadOnly Property AffiliateID() As String |
SSN of the person attached to the policy: one of the three values that identify the association, the join key to AFFILIATE, and the key used to hydrate and refresh the nested Affiliate child. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| CancelDate | Public ReadOnly Property CancelDate() As Date |
Date the person's attachment to the policy ended. An unset value means the attachment is still open, which is how window queries and the Active filters treat it, and it is also the upper bound the preferred-worker eligibility lookup must cover. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| CreateDate | Public ReadOnly Property CreateDate() As Date |
Audit stamp for when the association row was created — distinct from the person's own creation stamp on Affiliate, since attaching an existing person to a policy creates a new association only. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| CreateUser | Public ReadOnly Property CreateUser() As String |
Audit stamp naming the user or process that attached the person to the policy, used when tracing who added an interested party or preferred worker. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| EffectiveDate | Public ReadOnly Property EffectiveDate() As Date |
Date the person's attachment to the policy began: the third component of association identity, the value window queries compare against the requested end date, and a date the preferred-worker eligibility row must cover. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| PolicyNumber | Public ReadOnly Property PolicyNumber() As Decimal |
Policy the person is attached to: the first component of association identity and the filter every collection retrieval binds, so one person appears once per policy period they participate in. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| UpdateDate | Public ReadOnly Property UpdateDate() As Date |
Audit stamp for the most recent change to the association row, letting callers see when an attachment was last amended (for example when a cancel date was added) without inspecting the person record. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| UpdateUser | Public ReadOnly Property UpdateUser() As String |
Audit stamp naming the user or process that last amended the association, paired with UpdateDate when tracing changes to a person's role or period on the policy. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| IsValid | Public Overrides ReadOnly Property IsValid() As Boolean |
Passes the framework's validation verdict straight through — this hierarchy registers no rules of its own, so an association is valid whenever the BOF base considers it valid, and the nested Affiliate child's state does not affect the result. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| IsDirty | Public Overrides ReadOnly Property IsDirty() As Boolean |
Passes the framework's change-tracking verdict straight through; because the nested Affiliate child is not consulted, edits made to the child person do not mark the association dirty. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| IsCancelDateNull | Public Function IsCancelDateNull() As Boolean |
Separates an association that is still open from one cancelled on a real date — a distinction CancelDate alone cannot express, and the same one the date-window SQL encodes with nvl when deciding which associations overlap a requested period. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| IsAffiliateTypeCodeNull | Public Function IsAffiliateTypeCodeNull() As Boolean |
Reports that the loaded row carries no affiliate type discriminator, meaning the person's role on the policy (1 interested party, 2 preferred worker) is unclassified in the source data. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| Equals | Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean |
Type-safe comparison for call sites holding loosely typed references: matches only when both operands are policy-affiliate associations agreeing on policy, SSN, and effective date; a non-association operand fails rather than raising. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| Equals | Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean |
Makes framework collection searches that pass boxed objects resolve associations by the three-part key, while refusing to match objects of any other type. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| Equals | Public Overloads Function Equals(ByVal inPolicyNumber As Decimal, ByVal inAffiliateID As String, ByVal inEffectiveDate As Date) As Boolean |
Tests this association against a caller-supplied key without needing a comparison object, which is how the collections locate or remove a specific person-on-a-policy-period from loose key values. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| Equals | Public Overloads Function Equals(ByVal inObject As clsPolicyAffiliateBase) As Boolean |
Treats two associations as the same attachment only when policy, SSN, and effective date all agree, so the same person on a different policy or a different policy period remains a distinct association. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| GetHashCode | Public Overrides Function GetHashCode() As Integer |
Hashes on the SSN alone even though equality uses all three key parts; every association for one person therefore shares a hash bucket, which stays correct but degrades hashed lookups for people attached to many policies or periods. | SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| ToString | Public Overrides Function ToString() As String |
Renders the full association key as AffiliateID,PolicyNumber,EffectiveDate, giving diagnostics and state dumps a value that identifies the specific attachment rather than just the person. |
SAIF.Business.Policy.Affiliate — clsPolicyAffiliateBase |
| Rules | Property Rules As clsRulesManager |
Exposes the BOF rules manager for inherited validation behavior. | SAIF.Framework.Core — clsBusinessBase |
| BeginEdit | Sub BeginEdit() |
Starts an edit session so callers can stage in-memory changes before applying or cancelling them. | SAIF.Framework.Core — clsBusinessBase |
| CancelEdit | Sub CancelEdit() |
Reverts the current edit session through the BOF edit-level mechanism. | SAIF.Framework.Core — clsBusinessBase |
| ApplyEdit | Sub ApplyEdit() |
Commits the current edit session in memory before any save orchestration occurs. | SAIF.Framework.Core — clsBusinessBase |
| Error | ReadOnly Property Error As String |
Surfaces the current object-level validation error text to data-binding consumers. | SAIF.Framework.Core — clsBusinessBase |
| Item(columnName) | ReadOnly Property Item(columnName As String) As String |
Returns column-specific validation error text through IDataErrorInfo. |
SAIF.Framework.Core — clsBusinessBase |
| DumpState | Sub DumpState() |
Emits framework state diagnostics for troubleshooting object state. | SAIF.Framework.Core — clsBusinessBase |
| AllowCache | Property AllowCache() As Boolean |
Controls whether the framework may cache the business object instance. | SAIF.Framework.Core — clsBusinessBase |
Behavioral notes¶
- Preferred-worker eligibility fields are populated lazily through BR-AFF-010 to BR-AFF-012 once a related property is read.
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.Corein 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\clsPolicyPreferredWorker.vb