---
title: clsOnlineContext
summary: API reference for clsOnlineContext.
status: draft
owner: SAIF Documentation Team
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.MVC
reference_type: package
---

# clsOnlineContext

`clsOnlineContext` is a thin `clsContext` subclass used exclusively by the SAIF Online application; it hardcodes the application name to `"Online"` at construction time and exposes a shadowed, lower-case `savecontext` wrapper around the inherited `SaveContext`. It performs no independent SQL of its own — all persistence delegates to the base `clsContext`'s private `clsContextRepository`.

## Purpose
- Fixes `ApplicationName = "Online"` so all context rows this instance saves/deletes in the `Context` table are correctly attributed to the Online application without the caller having to pass it explicitly.
- Accepts and stores a `clsSecurityPrincipal` directly in its constructor, bypassing the lazy `SecurityCheck()`-driven population used elsewhere.

## Context
- Namespace: `SAIF.Presentation.Web.MVC`
- Assembly/package: `SAIF.BOF.Presentation.Web.Infragistics103` (source-bundled)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New(inSecPrinc)` | `Public Sub New(ByVal inSecPrinc As clsSecurityPrincipal)` | Sets `MyBase.SecurityPrincipal = inSecPrinc` and `MyBase.ApplicationName = "Online"`, producing a context instance pre-bound to the Online application and a supplied principal. |
| `savecontext` | `Public Shadows Sub savecontext(ByVal inSessionID As String)` | Shadows (does not override) the inherited `SaveContext`; simply forwards to `MyBase.SaveContext(inSessionID)`, which deletes and re-inserts `Context` rows via [SQL-MVC-004](../../sql/SQL-MVC-004-delete-context-rows.md) and [SQL-MVC-001](../../sql/SQL-MVC-001-insert-context-value.md). |

## Inherited public members

Members in this section are inherited from `clsContext` in `SAIF.Presentation.Web.MVC`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `claimId` | `Public Property claimId() As Decimal` | Carries a claim identifier as part of the cross-application context this `clsOnlineContext` instance saves/reads for the Online application, so a claim in progress can be resumed after navigating between applications.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `policyNum` | `Public Property policyNum() As Integer` | Carries a policy number as part of the same Online cross-application context hand-off as `claimId`.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `SAIFClaimNum` | `Public Property SAIFClaimNum() As String` | Carries the SAIF claim number alongside `claimId` in the Online context hand-off; the two identifiers are not established by source to be interchangeable.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `ProviderLocationSeqNum` | `Public Property ProviderLocationSeqNum() As Integer` | Carries a provider location sequence number as part of the Online cross-application context hand-off, for flows that need to resume at a specific provider location.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `SecurityPrincipal` | `Public Property SecurityPrincipal() As clsSecurityPrincipal` | Holds the `clsSecurityPrincipal` this `clsOnlineContext` instance was constructed with, so Online-application code can attribute the saved/retrieved context to the authenticated caller. | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `UserID` | `Public ReadOnly Property UserID() As String` | Exposes the Online caller's username (derived from `SecurityPrincipal`, upper-cased) for code that needs to identify or log the user associated with this context instance rather than reconstructing it from `SecurityPrincipal` directly.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `GetContext` | `Public Function GetContext(ByVal key As String) As String` | Reads a previously `SetContext`-stored value by key from this instance's in-memory context bag, ahead of (or independent from) any `savecontext`/`SaveContext` persistence to the `Context` table.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `SetContext` | `Public Sub SetContext(ByVal key As String, ByVal value As String)` | Stages an arbitrary named value in this instance's in-memory context bag before it is persisted via `savecontext`/`SaveContext`, allowing Online code to hand off context beyond the fixed `claimId`/`policyNum`/`SAIFClaimNum`/`ProviderLocationSeqNum` properties.* | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `RetrieveContext` | `Protected Friend Function RetrieveContext(ByVal SourceAppName As String, ByVal CurrentAppName As String, ByVal inSessionID As String) As Hashtable` | Reads and deletes the `Context` table rows a different source application left for this session, so the Online application can pick up context handed off during cross-application navigation. | `SAIF.Presentation.Web.MVC` — `clsContext` |
| `GetPID` | `Protected Friend Function GetPID(ByVal inSessionID As String, ByVal inContextName As String) As String` | Looks up a single named `Context` table value for this session, used to resolve one context item (for example a view/model identifier) without retrieving the full cross-application context set. | `SAIF.Presentation.Web.MVC` — `clsContext` |

## Behavioral notes
- `savecontext` is declared `Shadows`, not `Overrides` — `clsContext` is not `MustInherit`/`Overridable` on `SaveContext`, so this is a name-hiding wrapper, not polymorphic dispatch; calling `SaveContext` (base name, different case) through a `clsContext`-typed reference still invokes the base implementation directly.
- This class performs no additional table access beyond what it inherits from `clsContext`.

## Constraints and usage notes
- Consumers must use the `clsOnlineContext` constructor overload (requiring a `clsSecurityPrincipal`) rather than either of `clsContext`'s constructors, since `clsOnlineContext` does not expose the base's parameterless or `inAppName`-only constructors.

> **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.Presentation.Web.MVC\clsOnlineContext.vb
- SAIF.Presentation.Web.MVC\clsContext.vb
