using System; using System.ComponentModel.DataAnnotations; namespace Data.SeaHavenIndustries { /// /// Events entity for Calendar/Events module /// Tracks calendar events, appointments, meetings, etc. /// public class Events : FullAuditEntity { [Required] [StringLength(100)] public string Title { get; set; } = null!; public string? Description { get; set; } [StringLength(150)] public string? Location { get; set; } // Related Record (can link to Accounts, Contacts, Work Orders, etc.) public int? RecordID { get; set; } public string? RecordName { get; set; } public string? RecordTargetType { get; set; } // Reminder Settings public int ReminderMinutes { get; set; } = 15; // Default: 15 minutes before // Color for calendar display [StringLength(20)] public string EventColor { get; set; } = "primary"; // primary, success, info, warning, danger // Schedule [Required] public DateTime StartDate { get; set; } [StringLength(10)] public string? StartTime { get; set; } // e.g., "08:00 AM" [Required] public DateTime EndDate { get; set; } [StringLength(10)] public string? EndTime { get; set; } // e.g., "08:30 AM" public bool AllDay { get; set; } = false; } }