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.
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.