Skip to content

SAIF.Presentation.Web.MVC dependencies

Internal dependencies

Dependency Reference Type Usage
SAIF.Business.Menu Project Reference NavigationContext consumes clsMenuAuthorizedItemCollection, clsApplicationCodeCollection, clsMenuCategoryCodeCollection, clsApplicationCode, and clsMenuAuthorizedItem to build the per-user authorized-menu lookup used by clsControllerBase.RedirectUnauthorizedUsers() for menu-driven page authorization.
SAIF.Presentation Project Reference clsModelBase consumes clsPreferences (SAIF.Presentation.clsPreferences) to expose a per-page/per-application Preferences property to concrete models.
SAIF.BOF.Framework (assemblies SAIF.Framework.dll, SAIF.Framework.Preferences.dll) NuGet Package Supplies clsSecurityPrincipal (authenticated identity, consumed by SecurityCheck()), clsLogTrace/clsLogError (diagnostic tracing and error logging/email), clsEnvironment (internal-address checks), AppGlobal/EnvironmentService/EnvironmentConfigKeys (configuration resolution), clsConnection (SQL Server connection helper used by clsContext), clsMSOracleDataLayer/IDataPortalInfo (Oracle data-portal context used by NavigationContext). (v1.0.20105.1)
SAIF.Framework.Common NuGet Package Referenced in the project file (packages.config/.vbproj); no directly attributable call site was found in this library's live code.* (v1.0.18145.1)
SAIF.HashUtil NuGet Package Referenced in packages.config/.vbproj only; no direct type usage found in this library's live code — likely a transitive dependency of SAIF.BOF.Framework.* (v1.0.18067.1)

No other sibling libraries from this run's documented set (SAIF.Presentation.Web.Core.Infragistics103, SAIF.Presentation.Web.Binding.Infragistics103, SAIF.Presentation.Web.Controls.V2, SAIF.Presentation.Web.Controls.V2.Menu, SAIF.Presentation.Web.Controls.Infragistics103, SAIF.Presentation.Web.Controls.AJAX.Infragistics103) are referenced by SAIF.Presentation.Web.MVC — none of these appear as <ProjectReference>, <Reference>, or Imports targets in this library's own source, so they are intentionally omitted here as plain text rather than linked.

External dependencies

Dependency Version Usage
System.Web / System.Web.UI BCL (framework reference) Page, UserControl, WebControls, HttpContext, HttpCookie — the WebForms hosting surface for ViewPageBase/ViewControlBase.
System.Data / System.Data.SqlClient BCL (framework reference) SqlConnection, SqlCommand, SqlDataAdapter, SqlParameter — direct ADO.NET access to the SQL Server Context table inside clsContext's private clsContextRepository.
System.Data.OracleClient BCL (framework reference, referenced in .vbproj) Declared as a project reference but no direct Oracle ADO.NET call site exists in this library's own code — Oracle access is delegated to clsMSOracleDataLayer (external, SAIF.Framework.Common) inside NavigationContext.*
System.Configuration BCL (framework reference) ConfigurationManager.AppSettings — resolves ErrorPageName, TraceLogging, PageTraceOn, TraceUser, and EXT_VIEWSTATE_SESSION. See Configuration.
System.Xml BCL (framework reference) Referenced by the project.
System.Collections BCL (framework reference) Hashtable, HybridDictionary — used for view-data/model storage.
System.Diagnostics BCL (framework reference) TraceSwitch, Trace — page/application trace output gated by TraceLogging/PageTraceOn.
Microsoft.VisualBasic BCL (framework reference) VB runtime helpers.
Infragistics.WebUI.* (WebCombo, WebDataInput, WebSchedule.WebDateChooser) Not compile-time referenced ViewPageBase.NavigationManager performs GetType.FullName string checks (reflection only, no compile-time Infragistics.* assembly reference in this project) to generate control-type-specific client-focus JavaScript.

Dependency risks and notes

  • Direct, un-abstracted SQL Server dependency: clsContext's private clsContextRepository opens raw SqlConnection/SqlCommand/SqlDataAdapter objects against a Context table in the NETFRAMEWORK catalog, bypassing the standard BOF IBusinessCriteria pattern used elsewhere in SAIF. Any change to the Context table schema or to clsConnection.getConnection's signature (defined outside this library) breaks cross-application context hand-off silently, since no rowcount/contention validation exists around the delete-then-insert or read-then-delete flows. See Database tables and SQL catalog.
  • Indirect Oracle dependency for authorization data: NavigationContext constructs a clsMSOracleDataLayer (via EnvironmentConfigKeys.OracleDatabase) to retrieve menu-authorization collections from SAIF.Business.Menu. This means the menu-driven authorization gate (RedirectUnauthorizedUsers, BR-MVC-002) depends on Oracle availability on every request that needs to (re)build Session("navdata"), in addition to the SQL Server dependency above — a two-database availability requirement for a single request pipeline.
  • Plain-text configuration only: all environment-varying settings this library resolves (NetFrameworkSqlServer, OracleDatabase, the literal policymanagement.supportemaillist key) go through GetConfigSetting, not GetSecureConfigSetting; no secure/encrypted settings are used anywhere in this library. See Configuration.
  • Unused/unattributed package references: SAIF.Framework.Common and SAIF.HashUtil are declared as dependencies (packages.config/.vbproj) but have no confirmed call site in this library's live source — they may be transitive dependencies of SAIF.BOF.Framework carried over from a template project, or genuinely unused.**
  • Coarse, non-attribute-based authorization: no [SAIFAuthorize] attribute, WCF SecurityService client, or AD PrincipalContext/LDAP dependency exists in this library; authorization instead depends entirely on clsSecurityPrincipal (external, SAIF.BOF.Framework) for identity and on SAIF.Business.Menu-backed data for page entitlement. See Security and authorization.
  • Reverse dependents: SAIF.Presentation's clsPreferences is also consumed directly by SAIF.Presentation.Web.Controls.V2.Menu and SAIF.Presentation.Web.Controls.AJAX.Infragistics103, so a breaking change to clsPreferences has a blast radius beyond this library alone.*
  • Source-only packaging: per the root .nuspec, this project's .vb source (not a compiled binary) is bundled into the SAIF.BOF.Presentation.Web.Infragistics103 NuGet package; the package's compiled binary is built from SAIF.Presentation.Web.Core.Infragistics103, so consumers recompile this library's source alongside that compiled output.*
  • Namespace mismatch in markup: ViewPageBase.aspx/ViewControlBase.ascx declare Inherits="SAIF.ViewPageBase"/Inherits="SAIF.ViewControlBase" (namespace SAIF) rather than the project's actual root namespace SAIF.Presentation.Web.MVC, suggesting these markup files are unused legacy scaffolding and that real markup lives in each consuming application.**

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\clsContext.vb
  • SAIF.Presentation.Web.MVC\clsOnlineContext.vb
  • SAIF.Presentation.Web.MVC\clsControllerBase.vb
  • SAIF.Presentation.Web.MVC\clsFactoryBase.vb
  • SAIF.Presentation.Web.MVC\clsModelBase.vb
  • SAIF.Presentation.Web.MVC\NavigationContext.vb
  • SAIF.Presentation.Web.MVC\ViewControlBase.ascx.vb
  • SAIF.Presentation.Web.MVC\ViewPageBase.aspx.vb
  • SAIF.Presentation.Web.MVC\SAIF.Presentation.Web.MVC.vbproj
  • SAIF.Presentation.Web.MVC\packages.config
  • SAIF.Business.Menu\clsMenuAuthorizedItemCollection.vb
  • SAIF.Business.Menu\clsApplicationCodeCollection.vb
  • SAIF.Business.Menu\clsMenuCategoryCodeCollection.vb
  • SAIF.Presentation\clsPreferences.vb
  • SAIF.BOF.Presentation.Web.Infragistics103.nuspec