WorkCalendar overview¶
WorkCalendar calls the SAIF-internal ASMX service SAIFDates† to answer work-day calendar questions (is a date a working day, the next work day, the first or last work day of a month), through the authored WorkCalendarServiceProxy wrapper, which passes through all four contract operations but has no caller anywhere in this repository.
Purpose¶
- Answer work-day calendar questions —
IsWorkingDay,NextWorkDay,FirstWorkDayOfMonth,LastWorkDayOfMonth— for a given date and named calendar, by delegating to the remoteSAIFDatesservice.
Business context¶
The called service provides calendar logic (holidays, weekends, and named-calendar variations) that this repository's date calculations could depend on. A separate, external IWorkCalendarService/WorkCalendarService abstraction — not defined in this repository — is what business code (exercised through Tests/SAIF.Services.Tests/SaifWorkCalendarTests.cs and registered in DependencyMaps/SAIF.DependencyMaps.Web.FrameworkTest/DependencyMap.cs:61-62) actually depends on for this logic; whether that abstraction calls SAIFDates through this proxy or through its own mechanism is unknown**.
| Attribute | Value |
|---|---|
| Business capability | Work-day calendar lookups (working-day check, next/first/last work day) |
| Owning team of the called service | Not determined from source |
| Criticality to the consumer | Not determined from source — this proxy has no in-repository caller |
| Fallback when unavailable | None — the calling operation would fail (no call site exists to observe this in-repo) |
Consumers¶
| Consumer | Call site | Operations used | Notes |
|---|---|---|---|
| (none in this repository) | — | — | No repository source constructs WorkCalendarServiceProxy. The wrapper's own calls to all four operations exist in Services/SAIF.Services.Web.Proxies/WorkCalendarServiceProxy.cs:25,30,36,42, but nothing invokes the wrapper's public methods, so the integration is not reached end-to-end in this repository. |
Consumers of the shipped SAIF.Services.Web.Proxies NuGet package outside this repository may call WorkCalendarServiceProxy directly*; that possibility cannot be confirmed from this repository's source.
Capability summary¶
| Capability | Operations | Description |
|---|---|---|
| Working-day check | IsWorkingDay |
Returns whether a given date is a working day on a named calendar |
| Next work day | NextWorkDay |
Returns the next working day after a given date on a named calendar |
| First work day of month | FirstWorkDayOfMonth |
Returns the first working day of the month containing a given date |
| Last work day of month | LastWorkDayOfMonth |
Returns the last working day of the month containing a given date |
Generation provenance¶
| Aspect | Finding |
|---|---|
| Generated by | svcutil (Service Reference) |
| Generated from | Services/SAIF.Services.Web.Proxies/Service References/WorkCalendar/saifdates.wsdl |
| Discovery document | Services/SAIF.Services.Web.Proxies/Service References/WorkCalendar/saifdates.disco |
| Generated namespace | SAIF.Services.Web.Proxies.WorkCalendar |
| Namespace matches the consuming project | Yes — rooted in SAIF.Services.Web.Proxies, the project that carries the file |
| Regeneration risk | Refreshing the reference would regenerate Reference.cs/Reference.svcmap/configuration*.svcinfo; the hand-written wrapper WorkCalendarServiceProxy.cs is a separate file and is not overwritten by a refresh |
Non-documented artifacts¶
Reference.cs, its serialization attributes, and any…Async/…Completedevent scaffolding are svcutil tool output and are not narrated in this document set; the contract is documented fromsaifdates.wsdland the wrapper's call sites instead.
Related documentation¶
- Client index
- Architecture
- Contract
- Operation map
- Client reference
- Consumption
- Dependencies
- Tech debt
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/WorkCalendarServiceProxy.csServices/SAIF.Services.Web.Proxies/Service References/WorkCalendar/Reference.csServices/SAIF.Services.Web.Proxies/Service References/WorkCalendar/Reference.svcmapServices/SAIF.Services.Web.Proxies/Service References/WorkCalendar/saifdates.wsdlDependencyMaps/SAIF.DependencyMaps.Web.FrameworkTest/DependencyMap.csTests/SAIF.Services.Tests/SaifWorkCalendarTests.cs