---
title: SAIF.Business.Policy.Agency dependencies
summary: Internal and external dependencies for SAIF.Business.Policy.Agency.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Agency
reference_type: package
---

# SAIF.Business.Policy.Agency dependencies

`SAIF.Business.Policy.Agency` has no same-repository project references. It consumes BOF and supporting packages through assembly and NuGet references declared in the project file.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| SAIF.BOF.Framework | NuGet Package | Supplies data-portal interfaces, request types, data-reader helpers, smart-value types, `Reportable` metadata, and string/boolean extension helpers used across the business objects. |
| [SAIF.BOF.Business](../saif-business/overview.md) | NuGet Package (same-repo) | Supplies `clsBusinessBase`, `clsBusinessCollectionBase`, `IBusinessCriteria`, `IBusinessObject`, and `clsConstants` used by all BOF business types in this library. |
| [SAIF.BOF.Business.Utilities](../saif-business-utilities/overview.md) | NuGet Package (same-repo) | Supplies `clsAddress`, used by `clsAgentUnderwritingData`. |
| [SAIF.BOF.ResourceFiles](../saif-resources/overview.md) | NuGet Package (same-repo) | Declared in the project file but not referenced by live code in this library. |
| SAIF.Framework.Common | NuGet Package | Declared in the project file but not referenced by live code in this library. |
| SAIF.HashUtil | NuGet Package | Declared in the project file but not referenced by live code in this library. |
| [SAIF.Legacy.BankValidator](../bankvalidator/overview.md) | NuGet Package (same-repo) | Declared in the project file but not referenced by live code in this library. |
| SAIF.Web.API.Clients | NuGet Package | Declared in the project file but not referenced by live code in this library. |
| ImagingAPI.Client | NuGet Package | Declared in the project file but not referenced by live code in this library. |
| PdfAPI.Client | NuGet Package | Declared in the project file but not referenced by live code in this library. |

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| Oracle.ManagedDataAccess | 21.5.0 | Registers the managed Oracle provider used by the hosting application. |
| Autofac | 3.5.2 | Declared dependency; no direct code usage in this library. |
| FluentValidation | 5.5.0.0 | Declared dependency; no direct code usage in this library. |
| iTextSharp | 5.5.11 | Declared dependency; no direct code usage in this library. |
| log4net | 2.0.5 | Declared dependency; no direct code usage in this library. |
| RestSharp | 106.12.0 | Declared dependency; subject to a binding-redirect mismatch in `app.config`. |

## Transitive dependencies

Dependencies in this section come from inherited BOF framework behavior rather than direct references in this library's code.

| Dependency | Source framework | Type | Usage |
| --- | --- | --- | --- |
| SAIF.Framework.Connection | `SAIF.Framework.Core` | Transitive | Resolves the caller-supplied `IDataPortalInfo.PortalID` to an Oracle connection at runtime.* |
| SAIF.Framework.Logging | `SAIF.Framework.Core` | Transitive | Supports framework-level request logging around data-portal execution.* |
| SAIF.Framework.DNS | `SAIF.Framework.Core` | Transitive | Supports framework host and service resolution used by the BOF runtime.* |
| SAIF.Framework.Security | `SAIF.Framework.Core` | Transitive | Provides authorization plumbing available to the BOF runtime even though this library performs no direct authorization checks.* |
| SAIF.Framework.Security.EnvironmentApi | `SAIF.Framework.Core` | Transitive | Provides environment-driven settings resolution required by BOF framework components.* |
| SAIF.Framework.Bindable | `SAIF.Framework.Core` | Transitive | Supplies framework binding support used by BOF base classes.* |

## Dependency risks and notes
- The library's lazy `Contracts`, `Offices`, and `Producers` navigation properties can trigger N+1 query patterns unless callers use `RetrieveContracts()` and `RetrieveProducers()`.
- SQL-002 builds its `WHERE` clause dynamically and interpolates contract-type codes into an `IN` list instead of binding them as parameters.
- `clsAgencyOffice` and `clsProducer` both depend on the `AGENT` table, so a schema change there affects two separate public object models.
- `app.config` redirects `RestSharp` to `106.11.7.0`, while `packages.config` and the assembly reference target `106.12.0`; a host that merges the redirect unchanged can load the wrong version.

## 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)
- [Configuration](configuration.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.

## Sources
- `Business\SAIF.Business.Policy.Agency\SAIF.BOF.Business.Policy.Agency.vbproj`
- `Business\SAIF.Business.Policy.Agency\packages.config`
- `Business\SAIF.Business.Policy.Agency\app.config`
- `Business\SAIF.Business.Policy.Agency\clsAgency.vb`
- `Business\SAIF.Business.Policy.Agency\clsAgencyCollection.vb`
- `Business\SAIF.Business.Policy.Agency\clsAgencyContract.vb`
- `Business\SAIF.Business.Policy.Agency\clsAgencyOffice.vb`
- `Business\SAIF.Business.Policy.Agency\clsProducer.vb`
