use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MarketOrderMarginCloseoutReason {
#[serde(rename = "MARGIN_CHECK_VIOLATION")]
MarginCheckViolation,
#[serde(rename = "REGULATORY_MARGIN_CALL_VIOLATION")]
RegulatoryMarginCallViolation,
#[serde(rename = "REGULATORY_MARGIN_CHECK_VIOLATION")]
RegulatoryMarginCheckViolation,
}
impl std::fmt::Display for MarketOrderMarginCloseoutReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::MarginCheckViolation => write!(f, "MARGIN_CHECK_VIOLATION"),
Self::RegulatoryMarginCallViolation => write!(f, "REGULATORY_MARGIN_CALL_VIOLATION"),
Self::RegulatoryMarginCheckViolation => write!(f, "REGULATORY_MARGIN_CHECK_VIOLATION"),
}
}
}
impl Default for MarketOrderMarginCloseoutReason {
fn default() -> MarketOrderMarginCloseoutReason {
Self::MarginCheckViolation
}
}