mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 08:23:12 +00:00
- GET /api/workorders/board with week window, Unscheduled section, and X of Y counts - GET /api/workorders/lookups/dispatchers for SHOC filter avatars - Board projection via WorkOrderBoardDataService with vendor/dispatch join and derived isPastDue - Phase1_BoardIndexes migration (IX_workOrders_ScheduledDate) - 5 board unit tests
20 lines
708 B
C#
20 lines
708 B
C#
namespace SeaHaven.Services.Helpers
|
|
{
|
|
public static class WorkOrderOperationalWeek
|
|
{
|
|
public static DateOnly GetMondayOfWeek(DateOnly date)
|
|
{
|
|
var daysFromMonday = ((int)date.DayOfWeek + 6) % 7;
|
|
return date.AddDays(-daysFromMonday);
|
|
}
|
|
|
|
public static DateOnly GetPreviousOperationalWeekStart(DateTime utcNow)
|
|
=> GetMondayOfWeek(DateOnly.FromDateTime(utcNow)).AddDays(-7);
|
|
|
|
public static DateOnly GetOperationalWeekEnd(DateOnly weekStartMonday)
|
|
=> weekStartMonday.AddDays(4);
|
|
|
|
public static string BuildWeekCorrelationId(DateOnly sourceWeekStart)
|
|
=> $"week:{sourceWeekStart:yyyy-MM-dd}";
|
|
}
|
|
}
|