namespace PowderCoating.Core.Entities; /// /// Company-specific job priority lookup table. /// Replaces hardcoded JobPriority enum to enable priority customization. /// public class JobPriorityLookup : BaseEntity { /// /// Immutable priority code used in code logic (e.g., "LOW", "NORMAL", "URGENT", "RUSH"). /// Acts like the old enum name. /// public string PriorityCode { get; set; } = string.Empty; /// /// User-customizable display name shown in UI (e.g., "Standard", "Expedited", "Emergency"). /// public string DisplayName { get; set; } = string.Empty; /// /// Priority level for sorting (1 = lowest priority, 5 = highest priority). /// Replaces enum integer comparisons. /// public int DisplayOrder { get; set; } /// /// Bootstrap color class for badge styling (primary, secondary, success, danger, warning, info, dark). /// Eliminates switch statement duplication for priority colors. /// public string ColorClass { get; set; } = "secondary"; /// /// Optional Bootstrap icon class (e.g., "bi-arrow-up", "bi-exclamation-triangle"). /// public string? IconClass { get; set; } /// /// Whether this priority is currently active and available for selection. /// public bool IsActive { get; set; } = true; /// /// System-defined priorities cannot be deleted. /// public bool IsSystemDefined { get; set; } = true; /// /// Optional description explaining when to use this priority level. /// public string? Description { get; set; } // Navigation properties public virtual ICollection Jobs { get; set; } = new List(); }