using Core.Entities; using Heron.MudCalendar; namespace WebApp.Models; /// /// Calendar meeting item model for Heron.MudCalendar component. /// Maps from TeamMeetingHistory entity to calendar event format. /// public class CalendarMeetingItem : CalendarItem { /// /// Gets the original TeamMeetingHistory data. /// public TeamMeetingHistory? MeetingHistoryData { get; set; } /// /// Parameterless constructor required by Heron.MudCalendar component. /// public CalendarMeetingItem() { // Initialize base class properties to avoid null reference issues Text = string.Empty; Start = DateTime.MinValue; End = DateTime.MinValue; } public CalendarMeetingItem(TeamMeetingHistory meetingHistory) { MeetingHistoryData = meetingHistory; // Set base class properties that the calendar component uses Text = "Team Meeting"; // Set start to 9:00 AM on the meeting date Start = meetingHistory.MeetingDate.Date.AddHours(9); // Set end to 5:00 PM on the meeting date (5:01 PM to ensure it displays until 5pm if end is exclusive) End = meetingHistory.MeetingDate.Date.AddHours(17).AddMinutes(1); } }