---
title: Dependencies
summary: Packages, framework components, projects, and remote services this proxy depends on.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Dependencies

`WorkCalendar` depends only on framework assemblies to compile and on the external `SAIFDates`† service to run; it is carried in `SAIF.Services.Web.Proxies`, which is consumed within this run as the library [`saif-services-web-proxies`](../../libraries/saif-services-web-proxies/overview.md).

## Internal dependencies

| Project | In this repository | Purpose | Usage |
| --- | --- | --- | --- |
| `SAIF.Services.Web.Proxies` | Yes | Owns and compiles the generated proxy and the `WorkCalendarServiceProxy` wrapper | Used — the wrapper's own call sites invoke all four operations; the wrapper itself has no in-repository caller |

## External dependencies

| Component | Kind | Version | Purpose | Usage |
| --- | --- | --- | --- | --- |
| `System.ServiceModel.dll` | Framework assembly | .NET Framework 4.6.2 | `ClientBase<T>` proxy base type, `BasicHttpBinding`, `EndpointAddress` | Used — constructed by `WorkCalendarServiceProxy.cs:16-19` |

This proxy requires no NuGet package; it depends only on the framework assembly above. No assembly is referenced outside the package system.

### Configuration

| Setting | Source | Required at | Usage |
| --- | --- | --- | --- |
| `serviceUrl` constructor argument | Caller of `WorkCalendarServiceProxy` | Construction | Not supplied — no repository source supplies this; unresolved** |
| `workCalendarServiceUrl` (candidate, unwired) | `Services/SAIF.Services.WebApi/EnvironmentApi/App_Data/environments.xml` | Not applicable | Not read by any repository source; a possible intended value for this wrapper or for the external `WorkCalendarService`* |

## Transitive dependencies

No transitive dependency was identified from source; this proxy depends only on the directly referenced framework assembly above, which ships with the .NET Framework and is not restored via a package manager.

## Service dependencies

| Service | Endpoint | Documented by this run | Documentation | Operations used | Usage |
| --- | --- | --- | --- | --- | --- |
| `SAIFDates` | Unresolved** — supplied by whoever constructs `WorkCalendarServiceProxy` | No | `SAIFDates`† | [`IsWorkingDay`](reference.md#isworkingday), [`NextWorkDay`](reference.md#nextworkday), [`FirstWorkDayOfMonth`](reference.md#firstworkdayofmonth), [`LastWorkDayOfMonth`](reference.md#lastworkdayofmonth) | Wired in wrapper code, but not reached end-to-end by any in-repository caller — see [Tech debt](tech-debt.md) |

## Dependency risks and notes

| Dependency | Risk | Impact if unavailable | Usage |
| --- | --- | --- | --- |
| `SAIFDates` | Not applicable in this repository today — nothing calls it end-to-end | If a future caller were added, unavailability would cause any of the four wrapper methods to throw, with no retry, caching, or fallback | Wired in wrapper code, but not reached end-to-end by any in-repository caller — see [Tech debt](tech-debt.md) |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj`
- `Services/SAIF.Services.Web.Proxies/WorkCalendarServiceProxy.cs`
- `Services/SAIF.Services.WebApi/EnvironmentApi/App_Data/environments.xml`
