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 aSystem.Diagnostics.TraceSwitch) and ships defaults for none of them; every hosting web application must declare all nine in its ownweb.config.* - Two database engines are consumed directly/indirectly with hard-coded connection parameters: SQL Server (
APPMdatabase,NETFRAMEWORKapplication tag) for theContexthand-off table, and Oracle (MENUschema/user) for menu authorization data viaSAIF.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, andRestSharpare 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
.nuspecdeclares dependencies only onSAIF.BOF.Framework,SAIF.Framework.Common, andSAIF.HashUtil; it omitsSAIF.Web.API.Clients,Newtonsoft.Json, andRestSharp, which this library's project also references. Consumers relying on the packaged source would need to supply these themselves.* System.Data.OracleClientis referenced by the project, but Oracle access for menu authorization is performed insideSAIF.Business.Menu/the framework data layer, not directly in this library's code; the reference may be vestigial.**- Authorization depends on the framework-supplied
clsSecurityPrincipalfor identity; this library performs no AD group lookups itself and treats identity establishment as an external concern of theSAIF.Frameworkpackage.
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¶
clsBusinessBaseevaluates registered rules through aclsRulesManager.†- When a rule fails, the object records broken-rule state in a broken-rules collection.†
- Validation state is surfaced through
IDataErrorInfoso UI/data-binding consumers can see errors.† IsValidbecomesFalsewhen 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(), andApplyEdit(), provided byclsBusinessBase(origin:SAIF.Framework.Core).† - Business object save lifecycle — persist root or child business objects through the framework
Save()andSaveChild()pipeline, provided byclsBusinessBase(origin:SAIF.Framework.Core).† - Additional inherited framework lifecycle operations documented for
clsBusinessBaseinSAIF.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).†
Related documentation¶
- Index
- Overview
- Architecture
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Configuration
- Security and authorization
- API reference
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