use crate::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BenefitsInformationCode {
#[serde(rename = "1")]
Variant1,
#[serde(rename = "2")]
Variant2,
#[serde(rename = "3")]
Variant3,
#[serde(rename = "4")]
Variant4,
#[serde(rename = "5")]
Variant5,
#[serde(rename = "6")]
Variant6,
#[serde(rename = "7")]
Variant7,
#[serde(rename = "8")]
Variant8,
#[serde(rename = "A")]
A,
#[serde(rename = "B")]
B,
#[serde(rename = "C")]
C,
#[serde(rename = "CB")]
Cb,
#[serde(rename = "D")]
D,
#[serde(rename = "E")]
E,
#[serde(rename = "F")]
F,
#[serde(rename = "G")]
G,
#[serde(rename = "H")]
H,
#[serde(rename = "I")]
I,
#[serde(rename = "J")]
J,
#[serde(rename = "K")]
K,
#[serde(rename = "L")]
L,
#[serde(rename = "M")]
M,
#[serde(rename = "MC")]
Mc,
#[serde(rename = "N")]
N,
#[serde(rename = "O")]
O,
#[serde(rename = "P")]
P,
#[serde(rename = "Q")]
Q,
#[serde(rename = "R")]
R,
#[serde(rename = "S")]
S,
#[serde(rename = "T")]
T,
#[serde(rename = "U")]
U,
#[serde(rename = "V")]
V,
#[serde(rename = "W")]
W,
#[serde(rename = "X")]
X,
#[serde(rename = "Y")]
Y,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for BenefitsInformationCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Variant1 => write!(f, "1"),
Self::Variant2 => write!(f, "2"),
Self::Variant3 => write!(f, "3"),
Self::Variant4 => write!(f, "4"),
Self::Variant5 => write!(f, "5"),
Self::Variant6 => write!(f, "6"),
Self::Variant7 => write!(f, "7"),
Self::Variant8 => write!(f, "8"),
Self::A => write!(f, "A"),
Self::B => write!(f, "B"),
Self::C => write!(f, "C"),
Self::Cb => write!(f, "CB"),
Self::D => write!(f, "D"),
Self::E => write!(f, "E"),
Self::F => write!(f, "F"),
Self::G => write!(f, "G"),
Self::H => write!(f, "H"),
Self::I => write!(f, "I"),
Self::J => write!(f, "J"),
Self::K => write!(f, "K"),
Self::L => write!(f, "L"),
Self::M => write!(f, "M"),
Self::Mc => write!(f, "MC"),
Self::N => write!(f, "N"),
Self::O => write!(f, "O"),
Self::P => write!(f, "P"),
Self::Q => write!(f, "Q"),
Self::R => write!(f, "R"),
Self::S => write!(f, "S"),
Self::T => write!(f, "T"),
Self::U => write!(f, "U"),
Self::V => write!(f, "V"),
Self::W => write!(f, "W"),
Self::X => write!(f, "X"),
Self::Y => write!(f, "Y"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for BenefitsInformationCode {
fn default() -> BenefitsInformationCode {
Self::Variant1
}
}