namespace SeaHaven.DataServices.Helpers { /// /// Which stored uplift statuses still count as a live uplift on a work order. /// Cancelled (legacy "Cancelled", "Withdrawn", "Expired") and revoked uplifts do not; /// pending, approved, auto-approved and rejected ones do. The advanced-search /// "Has uplift" filter and the board Uplift column both use this, so they cannot drift. /// public static class LiveUpliftStatus { /// /// Stored statuses that are not live. Kept as an array so EF translates /// NonLive.Contains(u.Status) inside query predicates. /// public static readonly string[] NonLive = { "Withdrawn", "Cancelled", "Expired", "Revoked", }; public static bool IsLive(string? status) => status == null || !NonLive.Contains(status, StringComparer.Ordinal); } }