public enum SimulationRunStatus { Pending, Running, Completed, Cancelled, Failed } public static class SimulationRunStatusExtensions { public static string ToDbString(this SimulationRunStatus s) => s switch { SimulationRunStatus.Pending => "PENDING", SimulationRunStatus.Running => "RUNNING", SimulationRunStatus.Completed => "COMPLETED", SimulationRunStatus.Cancelled => "CANCELLED", SimulationRunStatus.Failed => "FAILED", _ => throw new ArgumentOutOfRangeException(nameof(s)) }; public static SimulationRunStatus FromDbString(string v) => v switch { "PENDING" => SimulationRunStatus.Pending, "RUNNING" => SimulationRunStatus.Running, "COMPLETED" => SimulationRunStatus.Completed, "CANCELLED" => SimulationRunStatus.Cancelled, "FAILED" => SimulationRunStatus.Failed, _ => throw new ArgumentOutOfRangeException(nameof(v), $"Unknown simulation run status: '{v}'") }; }