Skip to content

SAIF.Application.Policy operations and processes

This page is the operation catalog and cross-operation hub for SAIF.Application.Policy. Each operation's step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
Establish the policy data layer Create the policy portal and fixed database identity Manager initialization Security principal, portal configuration Initialized portal and DPI BR-101, BR-102 — —
Resolve and authorize the policy context Validate the policy number, load policy data, and apply access decisions Retrieve() or context change Policy number, security principal, user access level Updated manager context, access state, and message BR-103, BR-104, BR-105, BR-106, BR-107 — —
Determine Business Online access Resolve external-account access and last-logon text First read of Business Online properties Policy number, policy validity, environment state Access flag, last-logon date, rendered access text BR-108, BR-109 — —
Build the policy header settings Construct header settings and default visibility flags First read of PolicyHeaderSettings DPI, security principal, selected association type Initialized IPolicyHeaderSettings BR-110, BR-111, BR-117 — —
Determine visible association types Compute which association types the current principal may see Header settings or provider needs validated types DPI, security principal Authorized association-type set BR-112 — —
Filter associations and select the default Apply ownership filters and choose the selected association type Header associations are loaded or default selection is needed Policy-header associations, security principal Filtered associations or unknown-type fallback BR-113, BR-114, BR-115, BR-116, BR-117 — —
Assemble the policy header payload Compose the rendered policy-header values, messages, help text, and cancellation status A consumer reads header-provider members DPI, policy number, security principal, optional target association types Fully composed header data BR-112, BR-116, BR-118, BR-119, BR-120, BR-121, BR-122, BR-123, BR-124, BR-125 POLICY, POLICY_STATUS_CODE, POLICY_DEMAND, POLICY_PERIOD_PAYROLL_AUDIT, AUDIT_CODE, CANCELLATION, COLLECTION_LEGAL_ACTION SQL-001
Classify principal roles Derive policy-facing role flags from authorization resources and domain First read of Security or any role flag Security principal Cached role decisions BR-126, BR-127 — —
Manage the transaction envelope Guard begin/commit/rollback behavior for the policy portal Transaction start or stop request Portal transaction state, commit flag Idempotent transaction boundary behavior BR-128 — —

Process flow diagram

The following diagram visualizes the primary application-layer flow across policy retrieval and header composition.

flowchart TD
    Start([Policy request]) --> Init[Establish the policy data layer]
    Init --> Resolve[Resolve and authorize the policy context]
    Resolve --> Access{Context valid and allowed?}
    Access -->|No| Deny([Return message and access state])
    Access -->|Yes| Settings[Build the policy header settings]
    Settings --> Types[Determine visible association types]
    Types --> Assoc[Filter associations and select the default]
    Assoc --> Header[Assemble the policy header payload]
    Resolve --> BO[Determine Business Online access]
    Resolve --> Roles[Classify principal roles]
    Header --> Done([Return application-layer policy view])
    BO --> Done
    Roles --> Done

Database interactions

The following table summarizes the operation that directly touches database logic owned by this library. Delegated reads inside referenced libraries are described in the operation detail pages.

Operation SQL Tables Type
Assemble the policy header payload SQL-001 POLICY, POLICY_STATUS_CODE, POLICY_DEMAND, POLICY_PERIOD_PAYROLL_AUDIT, AUDIT_CODE, CANCELLATION, COLLECTION_LEGAL_ACTION Read

Failure and edge-case behavior

  • Missing policy numbers and invalid policies fail before authorization evaluation.
  • Unauthorized policies keep the context set but mark no access so callers can distinguish denial from not-found behavior.
  • Non-web hosts bypass policy-level authorization because UserCanAccessPolicy returns True when HttpContext.Current Is Nothing.**
  • Shared authorization caches and user-number caches persist for the process lifetime unless the host recycles.*

Stored procedure operations

Operations implemented in Oracle function logic referenced by this library.

Operation Description Source Link
PROC-OP-01 Load policy status context SP72268_GET_CANCEL_STATUS Details
PROC-OP-02 Derive pending-cancel status SP72268_GET_CANCEL_STATUS.pending_cancel_status Details
PROC-OP-03 Derive cancelled-policy status SP72268_GET_CANCEL_STATUS.cancel_status Details
PROC-OP-04 Derive saifQuote status for applications SP72268_GET_CANCEL_STATUS.saifquote_status Details
PROC-OP-05 Return derived status to the caller SP72268_GET_CANCEL_STATUS Details

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

  • Application\SAIF.Application.Policy\PolicyAppManager.vb
  • Application\SAIF.Application.Policy\clsPolicySecurity.vb
  • Application\SAIF.Application.Policy\PolicyHeader\clsPolicyHeaderSecurityManager.vb
  • Application\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderDataProvider.vb
  • Application\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderSettings.vb