---
title: SAIF.Presentation dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation
reference_type: package
---

# SAIF.Presentation dependencies

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| SAIF.BOF.Framework | NuGet Package | Supplies `SAIF.Framework.dll` and `SAIF.Framework.Preferences.dll`, including `clsMSOracleDataLayer`, `IDataPortalInfo`, `AppGlobal.EnvironmentService` and `PreferenceData` used by `clsPreferences.Load` / `Save`. |
| SAIF.Framework.Common | NuGet Package | Shared SAIF framework primitives referenced by the project. |
| SAIF.HashUtil | NuGet Package | SAIF hashing utility referenced by the project (no direct call site observed in scanned source). |
| SAIF.Web.API.Clients | NuGet Package | Supplies `SAIF.Web.API.Clients.dll` / `SAIF.Web.API.Core.dll`, referenced by the project (no direct call site observed in scanned source). |

`SAIF.Presentation` declares **no** `<ProjectReference>` elements — it is a leaf project within this repository, referenced *by* `SAIF.Presentation.Web.Core.Infragistics111` and `SAIF.Presentation.Web.Controls.V2.Menu`.

## External dependencies
| Dependency | Version | Usage |
| --- | --- | --- |
| Newtonsoft.Json | 8.0.3 | Serializes each preference's key/value dictionary to JSON via `JavaScriptSerializer` before persistence in `Save()`. |
| RestSharp | 105.2.3 | REST client library (transitive requirement of `SAIF.Web.API.Clients`; no direct call site observed). |

## Dependency risks and notes
- `clsPreferences.Load()` runs on **every** construction path, so an environment-service outage or misconfiguration of `oracleDatabase`† blocks preference loading for every model that constructs a `clsPreferences` instance.*
- The preference storage table(s) are owned by `SAIF.Framework.Preferences.PreferenceData` inside the `SAIF.BOF.Framework` package and cannot be named from this repository.**
- `Save()` always returns `False` even on success (the `result` local is never set to `True`), which is a verified defect that callers should be aware of when checking the return value.
- `$(TFS_ROOT)` is required in two `<HintPath>` elements (`SAIF.Framework.Common`, `SAIF.HashUtil`) in the project file — a build-time environment dependency, not a runtime one.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

> **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. Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service. They describe inherited behavior from the indicated origin library and should be verified if the dependency version changes.

## Sources
- `SAIF.Presentation/SAIF.Presentation.vbproj`
- `SAIF.Presentation/packages.config`
