public enum UserRole { IntakeClerk, DataEntryClerk, Verifier, ClinicalApprover, Clinician, Administrator } public static class UserRoleExtensions { public static string ToDbString(this UserRole r) => r switch { UserRole.IntakeClerk => "INTAKE_CLERK", UserRole.DataEntryClerk => "DATA_ENTRY_CLERK", UserRole.Verifier => "VERIFIER", UserRole.ClinicalApprover => "CLINICAL_APPROVER", UserRole.Clinician => "CLINICIAN", UserRole.Administrator => "ADMINISTRATOR", _ => throw new ArgumentOutOfRangeException(nameof(r)) }; public static UserRole FromDbString(string v) => v switch { "INTAKE_CLERK" => UserRole.IntakeClerk, "DATA_ENTRY_CLERK" => UserRole.DataEntryClerk, "VERIFIER" => UserRole.Verifier, "CLINICAL_APPROVER" => UserRole.ClinicalApprover, "CLINICIAN" => UserRole.Clinician, "ADMINISTRATOR" => UserRole.Administrator, _ => throw new ArgumentOutOfRangeException(nameof(v), $"Unknown user role: '{v}'") }; }