Skip to content

SAIF.Presentation.Web.MVC overview

Documentation context: Packaged Component (NuGet)

SAIF.Presentation.Web.MVC is the SAIF in-house Model-View-Controller framework layered on ASP.NET WebForms. It supplies the abstract base types that every SAIF WebForms screen derives from — ViewPageBase, ViewControlBase, clsControllerBase, clsModelBase, clsFactoryBase — plus clsContext/clsOnlineContext for cross-application context hand-off persisted in a SQL Server Context table, and NavigationContext for menu-driven page authorization backed by Oracle. It is the only library in this batch that reads configuration, performs data access, and enforces authorization.

Purpose

  • Supplies the abstract page, user-control, controller, model, and factory base types (ViewPageBase, ViewControlBase, clsControllerBase, clsModelBase, clsFactoryBase) that orchestrate the request lifecycle for every SAIF WebForms screen: session-timeout handling, security establishment, per-page menu authorization, model initialization, query-string and cross-application context processing, control-value harvesting, navigation, and centralized error handling.
  • Provides a named key/value context bag (clsContext/clsOnlineContext) with a SQL Server-backed repository that hands typed values (claim ID, policy number, target/source app and view) between SAIF web applications within a user's session.
  • Provides NavigationContext, a per-user cache of authorized menu items (loaded from Oracle via SAIF.Business.Menu, a project reference within this repository) used to decide whether a request may reach a given application/page.
  • Consumed by every concrete SAIF WebForms screen and its controller/model pair across the consuming applications; it ships no concrete screens of its own.

Responsibilities

  • Own the ASP.NET WebForms page/control lifecycle and view identity for every derived screen.
  • Establish and propagate the authenticated security principal, and enforce menu-based page authorization on every request.
  • Persist and retrieve cross-application context hand-off values.
  • Cache the user's authorized menu items for the duration of the session.
  • Centralize error logging, notification, and error-page routing.
  • Restore client-side input focus after postbacks and expose diagnostic script markers.

Key components

  • ViewPageBase: WebForms page base; wires the controller into the page lifecycle, owns view identity and view-state persistence policy, and processes page-level errors.
  • ViewControlBase: user-control counterpart of ViewPageBase.
  • clsControllerBase: per-screen controller base — initialization, security check, menu authorization, query-string/context handling, control harvesting, navigation, and error handling.
  • clsModelBase: screen model base — holds context and preferences, defines the validate-then-write contract.
  • clsFactoryBase: abstract factory returning the screen's controller and model.
  • clsContext / clsOnlineContext: named key/value context bag with SQL Server-backed cross-application persistence.
  • NavigationContext: per-user authorized-menu cache used for page-level authorization and menu lookups.

Sources

  • SAIF.Presentation.Web.MVC/SAIF.Presentation.Web.MVC.vbproj
  • SAIF.Presentation.Web.MVC/clsControllerBase.vb
  • SAIF.Presentation.Web.MVC/clsModelBase.vb
  • SAIF.Presentation.Web.MVC/clsFactoryBase.vb
  • SAIF.Presentation.Web.MVC/clsContext.vb
  • SAIF.Presentation.Web.MVC/clsOnlineContext.vb
  • SAIF.Presentation.Web.MVC/NavigationContext.vb
  • SAIF.Presentation.Web.MVC/ViewPageBase.aspx.vb
  • SAIF.Presentation.Web.MVC/ViewControlBase.ascx.vb
  • SAIF.BOF.Presentation.Web.Infragistics111.nuspec