Skip to content

IPolicySecurityDataProvider

This interface captures the policy facts that clsPolicySecurity.IsPolicyValidForUser reads from clsPolicyData: policy identity, secure-policy state, validity, agency ownership, and loss-control consultant identity. It appears to be an unfinished decoupling seam for the authorization logic, because the interface is declared beside clsPolicySecurity but no implementing type exists anywhere in this repository and the authorization methods still accept concrete clsPolicyData instances.**

Purpose

  • Describe the minimum policy-security data needed to evaluate secure-policy, agent, agency, and consultant access checks.
  • Make the intended authorization inputs explicit without requiring every caller to understand the full clsPolicyData object graph.*
  • Represent a possible abstraction point for decoupling clsPolicySecurity from clsPolicyData, although no completed implementation was found in this repository.**

Context

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

Public members

Member Signature Purpose
PolicyNumber ReadOnly Property PolicyNumber As Decimal Supplies the policy identifier being authorized.
IsSecurePolicy ReadOnly Property IsSecurePolicy As Boolean Indicates whether the policy should be treated as a SAIF-secured policy requiring the extra AD authorization check described by BR-VP-003.*
IsValid ReadOnly Property IsValid As Boolean Indicates whether the target policy passed validation before user-access checks proceed, aligning with BR-VP-004.*
AgentNumber ReadOnly Property AgentNumber As Decimal Supplies the agent number compared against the requesting user's identifier in the agent-access branch of BR-VP-005.*
AgencySeqNum ReadOnly Property AgencySeqNum As Decimal Supplies the agency sequence number used as the alternate agent-access match in BR-VP-005.*
LossControlConsultantID ReadOnly Property LossControlConsultantID As String Carries the stored consultant identifier used to determine whether a loss-control user is assigned to the policy.*
LossControlConsultantName ReadOnly Property LossControlConsultantName As String Carries the consultant user-name value compared by the loss-control prefix rule in BR-VP-007 and BR-VP-008.*

Behavioral notes

  • Inline comments on the interface map each member back to the corresponding clsPolicyData property path, showing that the contract was derived from the concrete object currently passed into authorization.
  • No public method in this library accepts IPolicySecurityDataProvider, and no implementation was found in the repository, so the abstraction is currently unverified beyond its declaration.**
  • The interface is declared inside clsPolicySecurity.vb rather than in a separate contract file, reinforcing the conclusion that it was introduced to support local refactoring that did not complete.*

Constraints and usage notes

  • Treat this interface as a declared but unused contract until an implementation or consumer is verified.
  • Database-side authorization logic and any external implementation that may exist outside this repository remain unknown.**

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

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