Skip to content

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 remote SAIFDates service.

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/…Completed event scaffolding are svcutil tool output and are not narrated in this document set; the contract is documented from saifdates.wsdl and the wrapper's call sites instead.

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.cs
  • Services/SAIF.Services.Web.Proxies/Service References/WorkCalendar/Reference.cs
  • Services/SAIF.Services.Web.Proxies/Service References/WorkCalendar/Reference.svcmap
  • Services/SAIF.Services.Web.Proxies/Service References/WorkCalendar/saifdates.wsdl
  • DependencyMaps/SAIF.DependencyMaps.Web.FrameworkTest/DependencyMap.cs
  • Tests/SAIF.Services.Tests/SaifWorkCalendarTests.cs