mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-10-01 15:43:14 +00:00
21 lines
708 B
C#
21 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}";
|
||
|
|
}
|
||
|
|
}
|