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);
}
}