Skip to content

clsProducer

clsProducer is the read-only producer view over AGENT. It exposes identity, activity, and exclusion helpers for producer rows and also publishes the application-layer helper that looks up the agent of record for a policy.

Purpose

  • Represent one producer row from AGENT with business-friendly flags and display formatting.
  • Detect whether a producer row actually represents the agency itself.
  • Provide the direct POLICY agent-of-record lookup helper used outside the normal criteria path.

Context

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

Public members

Member Signature Purpose
SAIFAgentNumber Public Const SAIFAgentNumber As Decimal = 0 Publishes the special agent number used in producer comparisons.
RETRIEVE_OR_AGENT_SQL Public Const RETRIEVE_OR_AGENT_SQL As String Publishes the scalar policy lookup SQL used by GetAgent.
Agency Public ReadOnly Property Agency() As clsAgency Lazy-loads the owning agency for this producer, letting callers navigate from producer back up to agency data.
AgencySeqNum Public ReadOnly Property AgencySeqNum() As Decimal Identifies the owning agency for the producer row.
AgentNumber Public ReadOnly Property AgentNumber() As Decimal Exposes the producer's business identity key sourced from AGENT_NUM.
CreateDate Public ReadOnly Property CreateDate() As Date Returns the date the producer record was created, for audit history.
CreateUser Public ReadOnly Property CreateUser() As String Returns the user ID that created the producer record, for audit history.
EffectiveDate Public ReadOnly Property EffectiveDate() As Date Returns the date the producer appointment became effective, used by IsActive.
ExpirationDate Public ReadOnly Property ExpirationDate() As Date Returns the date the producer appointment expires, used by IsActive.
InterfaceDate Public ReadOnly Property InterfaceDate() As Date Returns the date the producer row was last interfaced from the source system.
IsProducerAgency Public ReadOnly Property IsProducerAgency As Boolean Reports whether the producer row is actually the agency row.
IsActive Public ReadOnly Property IsActive(ByVal inDate As Date) As Boolean Applies the effective/expiration-window test to the producer.
IsExcludedFromListOfValues Public ReadOnly Property IsExcludedFromListOfValues() As Boolean Reports whether the producer is excluded from LOV-driven selection.
IsExcludedFromServiceCenter Public ReadOnly Property IsExcludedFromServiceCenter() As Boolean Reports whether the producer is excluded from service-center assignment.
IsLocation Public ReadOnly Property IsLocation() As Boolean Reports whether the producer row represents a physical office/location rather than an individual producer.
MailAddressLocationSeqNum Public ReadOnly Property MailAddressLocationSeqNum() As Decimal Returns the address-location sequence number where mail is sent for this producer.
Name Public ReadOnly Property Name() As String Returns the producer's display name from the underlying agent row.
NameAbbreviated Public ReadOnly Property NameAbbreviated() As String Returns the shortened producer display name used by callers.
UpdateDate Public ReadOnly Property UpdateDate() As Date Returns the date the producer record was last updated, for audit history.
UpdateUser Public ReadOnly Property UpdateUser() As String Returns the user ID that last updated the producer record, for audit history.
IsValid Public Overrides ReadOnly Property IsValid() As Boolean Reports whether the producer currently satisfies its base-class validation rules.
IsDirty Public Overrides ReadOnly Property IsDirty() As Boolean Reports whether the producer has unsaved field changes, per the base-class dirty-tracking state.
IsCreateDateNull Public Function IsCreateDateNull() As Boolean Reports whether CreateDate has no assigned value.
IsEffectiveDateNull Public Function IsEffectiveDateNull() As Boolean Reports whether the producer has no recorded effective date.
IsExpirationDateNull Public Function IsExpirationDateNull() As Boolean Reports whether the producer has no recorded expiration date.
IsInterfaceDateNull Public Function IsInterfaceDateNull() As Boolean Reports whether InterfaceDate has no assigned value.
IsMailAddressLocationSeqNumNull Public Function IsMailAddressLocationSeqNumNull() As Boolean Reports whether MailAddressLocationSeqNum has no assigned value.
IsUpdateDateNull Public Function IsUpdateDateNull() As Boolean Reports whether UpdateDate has no assigned value.
IsUpdateUserNull Public Function IsUpdateUserNull() As Boolean Reports whether UpdateUser has no assigned value.
GetProducer Public Shared Function GetProducer(ByVal inDataportal As IDataPortalInfo, ByVal inAgentNum As Decimal) As clsProducer Entry point for keyed BOF retrieval of one producer.
GetAgent Public Shared Function GetAgent(ByVal inDataportal As IDataPortalInfo, ByVal inPolicyNum As Decimal) As Decimal Returns the policy's agent-of-record key through a direct scalar lookup.
Equals (shared) Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean Compares two objects for producer-identity equality when both are clsProducer instances.
Equals (override) Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean Compares this producer to another object by delegating to the identity-based Equals(clsProducer) overload.
Equals Public Overloads Function Equals(ByVal inObject As clsProducer) As Boolean Compares producers by their business identity key.
GetHashCode Public Overrides Function GetHashCode() As Integer Returns a hash code derived from the agent number, for use in hash-based collections.
ToString Public Overrides Function ToString() As String Returns the agent number as a string, used for display and lookups.

Inherited public members

Members in this section are inherited from clsBusinessBase in SAIF.Framework.Core. They are available on this type through inheritance.

Member Signature Purpose Origin
Rules Property Rules As clsRulesManager Exposes the shared BOF validation surface available to producer objects.* SAIF.Framework.Core — clsBusinessBase
BeginEdit Sub BeginEdit() Opens a BOF edit scope.* SAIF.Framework.Core — clsBusinessBase
CancelEdit Sub CancelEdit() Rolls back a BOF edit scope.* SAIF.Framework.Core — clsBusinessBase
ApplyEdit Sub ApplyEdit() Commits a BOF edit scope.* SAIF.Framework.Core — clsBusinessBase
SetPreviousLink Sub SetPreviousLink(item As ILinkItem) Establishes a backward link to another business object for linked-list traversal scenarios.* SAIF.Framework.Core — clsBusinessBase
SetNextLink Sub SetNextLink(item As ILinkItem) Establishes a forward link to another business object for linked-list traversal scenarios.* SAIF.Framework.Core — clsBusinessBase
InsertLinkAfter Sub InsertLinkAfter(item As ILinkItem) Inserts a linked item immediately after this producer in the linked chain.* SAIF.Framework.Core — clsBusinessBase
InsertLinkBefore Sub InsertLinkBefore(item As ILinkItem) Inserts a linked item immediately before this producer in the linked chain.* SAIF.Framework.Core — clsBusinessBase
RemoveLinks Sub RemoveLinks() Detaches this producer from its linked neighbors, repairing the remaining chain.* SAIF.Framework.Core — clsBusinessBase
Error ReadOnly Property Error As String (via IDataErrorInfo) Returns a summary validation-error message for the producer, sourced from broken-rule state.* SAIF.Framework.Core — clsBusinessBase
Item(columnName) ReadOnly Property Item(columnName As String) As String (via IDataErrorInfo) Returns a per-property validation-error message for the producer.* SAIF.Framework.Core — clsBusinessBase
AllowCache Public Property AllowCache() As Boolean Controls whether the BOF runtime may cache the producer object.* SAIF.Framework.Core — clsUndoableBase
DumpState Public Sub DumpState() Writes the producer object's field data to the debugger output window, for diagnostic use.* SAIF.Framework.Core — clsUndoableBase

Behavioral notes

  • The direct GetAgent helper is the only public API surface in the library that executes SQL outside a BOF criteria class.
  • Producer rows can overlap with agency identity when AgencySeqNum equals AgentNumber.
  • IsValid and IsDirty delegate directly to the base-class implementation; this producer adds no additional child-object validation of its own.*

Constraints and usage notes

  • Retrieval is read-only; the type exposes no persistence lifecycle.
  • Consumers should distinguish keyed producer retrieval from the policy agent-of-record lookup helper.

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.

Sources

  • Business\SAIF.Business.Policy.Agency\clsProducer.vb