Skip to content

SAIF.Presentation dependencies

Internal dependencies

Dependency Reference Type Usage
SAIF.BOF.Framework (assemblies SAIF.Framework.dll, SAIF.Framework.Preferences.dll) NuGet Package Supplies IDataPortalInfo, clsLogTrace, PreferenceData, Preference (via Imports SAIF.Framework.Preferences); the core persistence dependency for clsPreferences. Excluded/undocumented in this run's documented library set.
SAIF.Framework.Common NuGet Package Supplies clsMSOracleDataLayer, AppGlobal, EnvironmentConfigKeys, used to resolve the Oracle connection target for preference persistence*. Excluded/undocumented in this run's documented library set.
SAIF.HashUtil NuGet Package Referenced by the project (packages.config); no direct call site was found in clsPreferences.vb**. Excluded/undocumented in this run's documented library set.

External dependencies

Dependency Version Usage
System BCL (framework reference) Base class library types.
System.Data BCL (framework reference) Data-access base types (no direct SQL/ADO.NET usage in this library beyond delegated types).
System.Web BCL (framework reference) Supplies System.Web.HttpContext, used to detect a web execution context and derive the current request's page name.
System.Web.Extensions BCL (framework reference) Supplies System.Web.Script.Serialization.JavaScriptSerializer, used to serialize preference item dictionaries to JSON before persistence.
System.Xml BCL (framework reference) Referenced by the project; no direct XML API usage confirmed in clsPreferences.vb**.
System.Core BCL (framework reference) Referenced by the project (LINQ/extension-method support).
System.Xml.Linq BCL (framework reference) Referenced by the project; no direct usage confirmed in clsPreferences.vb**.
System.Data.DataSetExtensions BCL (framework reference) Referenced by the project; no direct usage confirmed in clsPreferences.vb**.

Dependency risks and notes

  • Hard-coded database identity: Load() always constructs clsMSOracleDataLayer with database user CLM and the value returned by GetConfigSetting(EnvironmentConfigKeys.OracleDatabase), hard-wiring every consumer of clsPreferences (regardless of the caller's own application) to the same Oracle DB user/schema*.
  • Single configuration touchpoint, externally resolved: the only setting this library depends on is EnvironmentConfigKeys.OracleDatabase, resolved via AppGlobal.EnvironmentService.GetConfigSetting inside SAIF.Framework.Common; no local App.config/Web.config/AppSettings are defined or read (see Configuration). The same key is independently consumed by the sibling library SAIF.Presentation.Web.MVC with an identical call shape, but the two libraries do not share a configuration object — each resolves the key on its own*.
  • Unclear Save() reliability: Save()'s Boolean return is dead code (always False); any consumer of this library that checks the return value to detect failure cannot rely on it, and must instead catch the ApplicationException thrown on error*.
  • Possibly unused dependency: SAIF.HashUtil is declared in packages.config but has no discoverable call site in the only compiled source file, clsPreferences.vb**.
  • Undisambiguated assembly identity: whether PreferenceData/Preference (consumed via Imports SAIF.Framework.Preferences) resolve from SAIF.Framework.dll or SAIF.Framework.Preferences.dll — both shipped by the same SAIF.BOF.Framework package — could not be confirmed from the .vbproj reference block alone**.
  • Reverse dependents (in-repo consumers): although SAIF.Presentation itself has no internal project references, it is consumed via <ProjectReference> by four sibling libraries in this repository — SAIF.Presentation.Web.Core.Infragistics103, SAIF.Presentation.Web.MVC, SAIF.Presentation.Web.Controls.V2.Menu, and SAIF.Presentation.Web.Controls.AJAX.Infragistics103 — meaning any breaking change to clsPreferences/PrefScope has a multi-library blast radius.
  • 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 package; consumers recompile it alongside the package's actual compiled binary, which is built from SAIF.Presentation.Web.Core.Infragistics103*.
  • No transitive dependencies section is included: this library has no <ProjectReference> entries, and its direct NuGet packages (SAIF.BOF.Framework, SAIF.Framework.Common) already account for every external framework type consumed (PreferenceData, Preference, clsMSOracleDataLayer, AppGlobal, EnvironmentConfigKeys, clsLogTrace) — none are inherited indirectly through an intermediate framework package.

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\clsPreferences.vb
  • SAIF.Presentation\SAIF.Presentation.vbproj
  • SAIF.Presentation\packages.config
  • SAIF.Presentation.Web.MVC\clsModelBase.vb
  • SAIF.Presentation.Web.Controls.V2.Menu\SAIFMenu.vb
  • SAIF.Presentation.Web.Controls.AJAX.Infragistics103\InfragisticsGridCustomizer.vb
  • SAIF.BOF.Presentation.Web.Infragistics103.nuspec