WorkTracker/Domain/MonthlyTimesheetModel.cs

46 lines
1,013 B
C#
Raw Normal View History

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
}