namespace WorkTracker.Domain; public sealed class MonthlyTimesheetModel { public int Year { get; set; } public int Month { get; set; } public List Days { get; set; } = []; public List Rows { get; set; } = []; } public sealed class MonthlyTimesheetDayModel { public DateOnly Date { get; set; } public bool IsWeekend { get; set; } public bool IsHoliday { get; set; } public bool IsClosure { get; set; } public List WorkUnitSummaries { get; set; } = []; public List EventSummaries { get; set; } = []; } public sealed class MonthlyTimesheetRowModel { public string Key { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; public MonthlyTimesheetValueFormat ValueFormat { get; set; } public List DailyValues { get; set; } = []; public decimal? Total { get; set; } } public enum MonthlyTimesheetValueFormat { Hours = 0, Days = 1 }