46 lines
1,013 B
C#
46 lines
1,013 B
C#
|
|
namespace WorkTracker.Domain;
|
||
|
|
|
||
|
|
public sealed class MonthlyTimesheetModel
|
||
|
|
{
|
||
|
|
public int Year { get; set; }
|
||
|
|
|
||
|
|
public int Month { get; set; }
|
||
|
|
|
||
|
|
public List<MonthlyTimesheetDayModel> Days { get; set; } = [];
|
||
|
|
|
||
|
|
public List<MonthlyTimesheetRowModel> 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<string> WorkUnitSummaries { get; set; } = [];
|
||
|
|
|
||
|
|
public List<string> 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<decimal?> DailyValues { get; set; } = [];
|
||
|
|
|
||
|
|
public decimal? Total { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
public enum MonthlyTimesheetValueFormat
|
||
|
|
{
|
||
|
|
Hours = 0,
|
||
|
|
Days = 1
|
||
|
|
}
|