Skip to content

clsServiceAppManagerBase

clsServiceAppManagerBase is a second, lighter manager base for service/API-style callers. Unlike AppManagerBase, it shares no base type, owns no identity, and carries none of the access-classification or messaging behavior of the stateful manager style — the data portal is injected by the caller rather than built by the manager itself, and results are expected to be returned via a ServiceResponse rather than mutated manager state.

Purpose

  • Provides a minimal, stateless shell for service-style managers that receive an already-configured IDataPortalInfo instead of building their own connection.
  • Establishes a parallel manager lineage to AppManagerBase for callers (service/API endpoints) that do not need the identity-bound lifecycle, access classification, or message buffer.

Context

  • Namespace: SAIF.Application
  • Assembly/package: SAIF.Application (embedded, ProjectReference)

Public members

Member Signature Purpose
DPI Public ReadOnly Property As IDataPortalInfo Exposes the data-portal handle injected at construction time to derived service managers.
New Public Sub New(inDataPortalInfo As IDataPortalInfo) Requires an already-configured data portal — the service variant never builds its own connection, unlike AppManagerBase.DataLayer.

Protected members

Member Signature Purpose
_dpi Protected IDataPortalInfo field Backing field for DPI, available directly to derived service managers.

Behavioral notes

  • This type carries no AppSecurityRole, SecurityPrincipal, or message buffer; consumers that need access classification or message accumulation must use AppManagerBase instead.*
  • A caller building a service manager is responsible for supplying an already-built IDataPortalInfo (e.g. via ApplicationDataAccess.CreateOraclePortal / CreateSQLServerPortal) — this class performs no provisioning itself.

Constraints and usage notes

  • Because clsServiceAppManagerBase shares no base type with AppManagerBase, a consumer must pick one manager lineage per manager and cannot mix behavior across them.

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.Application/Service Based/clsServiceAppManagerBase.vb
  • SAIF.Application/ApplicationDataAccess.vb