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";
// Use meeting date at 3:00 PM as default time
Start = meetingHistory.MeetingDate.Date.AddHours(15);
// Default to 1 hour duration
End = Start.AddHours(1);
}
}