using System.ComponentModel.DataAnnotations; namespace Campaign_Tracker.Server.Seed.Models; public class EscalationRule { public int Id { get; set; } [Required] [StringLength(160)] public string SeedKey { get; set; } = string.Empty; [Required] [StringLength(100)] public string Name { get; set; } = string.Empty; [StringLength(500)] public string Description { get; set; } = string.Empty; [Required] [StringLength(100)] public string Scenario { get; set; } = string.Empty; [Required] [StringLength(200)] public string TriggerCondition { get; set; } = string.Empty; [Required] [StringLength(200)] public string Action { get; set; } = string.Empty; [Required] [StringLength(100)] public string MilestoneBasis { get; set; } = string.Empty; public TimeSpan AlertWindow { get; set; } [Range(1, int.MaxValue)] public int Priority { get; set; } = 1; public SeedRecordSource Source { get; set; } = SeedRecordSource.SystemSeed; public bool IsActive { get; set; } = true; public DateTimeOffset CreatedAt { get; set; } public DateTimeOffset UpdatedAt { get; set; } }