Skip to content

SAIF.Presentation.Web.MVC dependencies

Internal dependencies

Dependency Reference Type Usage
SAIF.Business.Menu (no documentation set built yet in this run) Project Reference NavigationContext consumes clsMenuAuthorizedItemCollection, clsMenuAuthorizedItem, clsApplicationCodeCollection, clsApplicationCode, and clsMenuCategoryCodeCollection to resolve and cache the current user's authorized menu items
SAIF.Presentation (no documentation set built yet in this run) Project Reference Imported by clsModelBase; supplies presentation-layer types used across the MVC base*
SAIF.Framework NuGet Package Assembly reference (from SAIF.BOF.Framework package, 1.0.21217.2) supplying clsSecurityPrincipal, clsLogTrace, clsLogError, clsConnection, clsEnvironment, AppGlobal.EnvironmentService, EnvironmentConfigKeys, clsMSOracleDataLayer, IDataPortalInfo
SAIF.Framework.Preferences NuGet Package Supplies clsPreferences, used by clsModelBase.Pre_Init for per-user preference loading
SAIF.Framework.Common NuGet Package Assembly reference (1.0.18145.1); no direct type usage found in live source**
SAIF.HashUtil NuGet Package Assembly reference (1.0.18067.1); no direct type usage found in live source**
SAIF.Web.API.Clients NuGet Package Assembly reference (1.0.21215.2); no direct type usage found in live source**
SAIF.Web.API.Core NuGet Package Assembly reference; no direct type usage found in live source**

External dependencies

Dependency Version Usage
Newtonsoft.Json 8.0.3 Assembly reference plus app.config binding redirect; no direct usage in live source**
RestSharp 105.2.3 Assembly reference; no direct usage in live source**

Transitive dependencies

Dependencies in this section are inherited from dependency framework libraries. They are not directly referenced by this library but are required at runtime through framework packages.

Dependency Source framework Type Usage
clsRulesManager (rule evaluation), broken-rules/IDataErrorInfo validation state SAIF.Framework.Core Transitive Inherited business-object rule-evaluation infrastructure surfaced through clsBusinessBase; not directly used by this library but present in the shared framework surface consumed by BOF business objects elsewhere in the solution†
BeginEdit/CancelEdit/ApplyEdit edit-lifecycle, Save/SaveChild persistence pipeline SAIF.Framework.Core Transitive Inherited business-object edit and save lifecycle owned by clsBusinessBase†

Dependency risks and notes

  • This library reads nine runtime configuration keys through three channels (AppGlobal.EnvironmentService.GetConfigSetting, ConfigurationManager.AppSettings, and a System.Diagnostics.TraceSwitch) and ships defaults for none of them; every hosting web application must declare all nine in its own web.config.*
  • Two database engines are consumed directly/indirectly with hard-coded connection parameters: SQL Server (APPM database, NETFRAMEWORK application tag) for the Context hand-off table, and Oracle (MENU schema/user) for menu authorization data via SAIF.Business.Menu. Relocating either store requires a code change, not a configuration change.
  • SAIF.Framework.Common, SAIF.HashUtil, SAIF.Web.API.Clients, SAIF.Web.API.Core, Newtonsoft.Json, and RestSharp are referenced by the project but no live source references a type from any of them; they may be required only transitively at runtime by the framework packages.**
  • The packaging .nuspec declares dependencies only on SAIF.BOF.Framework, SAIF.Framework.Common, and SAIF.HashUtil; it omits SAIF.Web.API.Clients, Newtonsoft.Json, and RestSharp, which this library's project also references. Consumers relying on the packaged source would need to supply these themselves.*
  • System.Data.OracleClient is referenced by the project, but Oracle access for menu authorization is performed inside SAIF.Business.Menu/the framework data layer, not directly in this library's code; the reference may be vestigial.**
  • Authorization depends on the framework-supplied clsSecurityPrincipal for identity; this library performs no AD group lookups itself and treats identity establishment as an external concern of the SAIF.Framework package.

Inherited framework context (from Legends CLI)

The following content is retrieved from SAIF.Framework.Core's own documentation via the Legends CLI RAG service, resolving the clsBusinessBase framework base-class reference detected in this run's library density scan (frameworkDensity=1). This library does not itself derive from clsBusinessBase, but it depends on SAIF.Business.Menu, whose object model inherits from it; the inherited context below is provided for cross-layer traceability.

API

clsBusinessBase is documented as exposing the following public members†:

  • MyGuid — Public ReadOnly Property MyGuid() As String†
  • IsNew — Public ReadOnly Property IsNew() As Boolean†
  • IsDeleted — Public ReadOnly Property IsDeleted() As Boolean†
  • SetValueOnChange(Of T) — Public Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean†
  • Rules — Public ReadOnly Property Rules() As clsRulesManager†
  • Save — Public Overridable Function Save() As Boolean†
  • SaveChild — Public Overridable Function SaveChild() As Boolean†
  • ToXml — Public Function ToXml() As String†

Business rules

  • clsBusinessBase evaluates registered rules through a clsRulesManager.†
  • When a rule fails, the object records broken-rule state in a broken-rules collection.†
  • Validation state is surfaced through IDataErrorInfo so UI/data-binding consumers can see errors.†
  • IsValid becomes False when broken rules exist, and the broken-rules collection carries the messages until the condition clears.†
  • Rule evaluation is triggered by property changes or lifecycle methods; derived types are expected to use the framework's lifecycle hooks rather than bypassing the rule system.†

Operations and processes

  • Business object edit lifecycle — snapshot, restore, and commit in-memory object edits through BeginEdit(), CancelEdit(), and ApplyEdit(), provided by clsBusinessBase (origin: SAIF.Framework.Core).†
  • Business object save lifecycle — persist root or child business objects through the framework Save() and SaveChild() pipeline, provided by clsBusinessBase (origin: SAIF.Framework.Core).†
  • Additional inherited framework lifecycle operations documented for clsBusinessBase in SAIF.Framework.Core: create/retrieve business object, save business object, edit lifecycle, rule evaluation, and data portal lifecycle hooks.†

Dependencies

clsBusinessBase appears as a transitive dependency across multiple libraries in the wider SAIF solution, with usage documented as†:

  • Supplies entity edit-state management and rules-engine ownership (e.g. SAIF.Business.Claim.SupportOrder, SAIF.Business.Claim.ThirdParty).†
  • Supplies shared framework security primitives behind BOF object infrastructure and validation flow (e.g. SAIF.Business.Claim, SAIF.Business.Claim.Authority).†
  • Provides clsBusinessBase, clsBusinessCollectionBase, smart types, SQL helpers, and the BOF data portal (e.g. SAIF.Business.Policy.Correspondence).†

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. Statements marked with * were inferred from code structure or contextual evidence. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Presentation.Web.MVC/SAIF.Presentation.Web.MVC.vbproj
  • SAIF.Presentation.Web.MVC/packages.config
  • SAIF.Presentation.Web.MVC/app.config
  • SAIF.Presentation.Web.MVC/clsContext.vb
  • SAIF.Presentation.Web.MVC/clsControllerBase.vb
  • SAIF.Presentation.Web.MVC/clsModelBase.vb
  • SAIF.Presentation.Web.MVC/NavigationContext.vb
  • SAIF.BOF.Presentation.Web.Infragistics111.nuspec