use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum OperatingExpenseIncludes {
Accounting,
Advertising,
Association,
CableTV,
CapitalImprovements,
Depreciation,
EquipmentRental,
Fuel,
FurnitureReplacement,
Gardener,
Insurance,
Legal,
Licenses,
Maintenance,
MaintenanceGrounds,
MaintenanceStructure,
Manager,
MortgageLoans,
NewTax,
Other,
Parking,
PestControl,
PoolSpa,
ProfessionalManagement,
Security,
SnowRemoval,
Staff,
Supplies,
Trash,
Utilities,
VacancyAllowance,
WaterSewer,
WorkmansCompensation,
OpenEnumeration(String),
}
impl crate::ResoEnumeration for OperatingExpenseIncludes {
fn from_str(s: &str) -> OperatingExpenseIncludes {
match s {
"Accounting" => OperatingExpenseIncludes::Accounting,
"Advertising" => OperatingExpenseIncludes::Advertising,
"Association" => OperatingExpenseIncludes::Association,
"Cable TV" => OperatingExpenseIncludes::CableTV,
"Capital Improvements" => OperatingExpenseIncludes::CapitalImprovements,
"Depreciation" => OperatingExpenseIncludes::Depreciation,
"Equipment Rental" => OperatingExpenseIncludes::EquipmentRental,
"Fuel" => OperatingExpenseIncludes::Fuel,
"Furniture Replacement" => OperatingExpenseIncludes::FurnitureReplacement,
"Gardener" => OperatingExpenseIncludes::Gardener,
"Insurance" => OperatingExpenseIncludes::Insurance,
"Legal" => OperatingExpenseIncludes::Legal,
"Licenses" => OperatingExpenseIncludes::Licenses,
"Maintenance" => OperatingExpenseIncludes::Maintenance,
"Maintenance Grounds" => OperatingExpenseIncludes::MaintenanceGrounds,
"Maintenance Structure" => OperatingExpenseIncludes::MaintenanceStructure,
"Manager" => OperatingExpenseIncludes::Manager,
"Mortgage/Loans" => OperatingExpenseIncludes::MortgageLoans,
"New Tax" => OperatingExpenseIncludes::NewTax,
"Other" => OperatingExpenseIncludes::Other,
"Parking" => OperatingExpenseIncludes::Parking,
"Pest Control" => OperatingExpenseIncludes::PestControl,
"Pool/Spa" => OperatingExpenseIncludes::PoolSpa,
"Professional Management" => OperatingExpenseIncludes::ProfessionalManagement,
"Security" => OperatingExpenseIncludes::Security,
"Snow Removal" => OperatingExpenseIncludes::SnowRemoval,
"Staff" => OperatingExpenseIncludes::Staff,
"Supplies" => OperatingExpenseIncludes::Supplies,
"Trash" => OperatingExpenseIncludes::Trash,
"Utilities" => OperatingExpenseIncludes::Utilities,
"Vacancy Allowance" => OperatingExpenseIncludes::VacancyAllowance,
"Water/Sewer" => OperatingExpenseIncludes::WaterSewer,
"Workmans Compensation" => OperatingExpenseIncludes::WorkmansCompensation,
_ => OperatingExpenseIncludes::OpenEnumeration(s.into()),
}
}
fn from_string(s: String) -> OperatingExpenseIncludes {
match s.as_ref() {
"Accounting" => OperatingExpenseIncludes::Accounting,
"Advertising" => OperatingExpenseIncludes::Advertising,
"Association" => OperatingExpenseIncludes::Association,
"Cable TV" => OperatingExpenseIncludes::CableTV,
"Capital Improvements" => OperatingExpenseIncludes::CapitalImprovements,
"Depreciation" => OperatingExpenseIncludes::Depreciation,
"Equipment Rental" => OperatingExpenseIncludes::EquipmentRental,
"Fuel" => OperatingExpenseIncludes::Fuel,
"Furniture Replacement" => OperatingExpenseIncludes::FurnitureReplacement,
"Gardener" => OperatingExpenseIncludes::Gardener,
"Insurance" => OperatingExpenseIncludes::Insurance,
"Legal" => OperatingExpenseIncludes::Legal,
"Licenses" => OperatingExpenseIncludes::Licenses,
"Maintenance" => OperatingExpenseIncludes::Maintenance,
"Maintenance Grounds" => OperatingExpenseIncludes::MaintenanceGrounds,
"Maintenance Structure" => OperatingExpenseIncludes::MaintenanceStructure,
"Manager" => OperatingExpenseIncludes::Manager,
"Mortgage/Loans" => OperatingExpenseIncludes::MortgageLoans,
"New Tax" => OperatingExpenseIncludes::NewTax,
"Other" => OperatingExpenseIncludes::Other,
"Parking" => OperatingExpenseIncludes::Parking,
"Pest Control" => OperatingExpenseIncludes::PestControl,
"Pool/Spa" => OperatingExpenseIncludes::PoolSpa,
"Professional Management" => OperatingExpenseIncludes::ProfessionalManagement,
"Security" => OperatingExpenseIncludes::Security,
"Snow Removal" => OperatingExpenseIncludes::SnowRemoval,
"Staff" => OperatingExpenseIncludes::Staff,
"Supplies" => OperatingExpenseIncludes::Supplies,
"Trash" => OperatingExpenseIncludes::Trash,
"Utilities" => OperatingExpenseIncludes::Utilities,
"Vacancy Allowance" => OperatingExpenseIncludes::VacancyAllowance,
"Water/Sewer" => OperatingExpenseIncludes::WaterSewer,
"Workmans Compensation" => OperatingExpenseIncludes::WorkmansCompensation,
_ => OperatingExpenseIncludes::OpenEnumeration(s),
}
}
fn to_str(&self) -> &str {
match self {
OperatingExpenseIncludes::Accounting => "Accounting",
OperatingExpenseIncludes::Advertising => "Advertising",
OperatingExpenseIncludes::Association => "Association",
OperatingExpenseIncludes::CableTV => "Cable TV",
OperatingExpenseIncludes::CapitalImprovements => "Capital Improvements",
OperatingExpenseIncludes::Depreciation => "Depreciation",
OperatingExpenseIncludes::EquipmentRental => "Equipment Rental",
OperatingExpenseIncludes::Fuel => "Fuel",
OperatingExpenseIncludes::FurnitureReplacement => "Furniture Replacement",
OperatingExpenseIncludes::Gardener => "Gardener",
OperatingExpenseIncludes::Insurance => "Insurance",
OperatingExpenseIncludes::Legal => "Legal",
OperatingExpenseIncludes::Licenses => "Licenses",
OperatingExpenseIncludes::Maintenance => "Maintenance",
OperatingExpenseIncludes::MaintenanceGrounds => "Maintenance Grounds",
OperatingExpenseIncludes::MaintenanceStructure => "Maintenance Structure",
OperatingExpenseIncludes::Manager => "Manager",
OperatingExpenseIncludes::MortgageLoans => "Mortgage/Loans",
OperatingExpenseIncludes::NewTax => "New Tax",
OperatingExpenseIncludes::Other => "Other",
OperatingExpenseIncludes::Parking => "Parking",
OperatingExpenseIncludes::PestControl => "Pest Control",
OperatingExpenseIncludes::PoolSpa => "Pool/Spa",
OperatingExpenseIncludes::ProfessionalManagement => "Professional Management",
OperatingExpenseIncludes::Security => "Security",
OperatingExpenseIncludes::SnowRemoval => "Snow Removal",
OperatingExpenseIncludes::Staff => "Staff",
OperatingExpenseIncludes::Supplies => "Supplies",
OperatingExpenseIncludes::Trash => "Trash",
OperatingExpenseIncludes::Utilities => "Utilities",
OperatingExpenseIncludes::VacancyAllowance => "Vacancy Allowance",
OperatingExpenseIncludes::WaterSewer => "Water/Sewer",
OperatingExpenseIncludes::WorkmansCompensation => "Workmans Compensation",
OperatingExpenseIncludes::OpenEnumeration(ref s) => s,
}
}
fn into_string(self) -> String {
match self {
OperatingExpenseIncludes::Accounting => "Accounting".into(),
OperatingExpenseIncludes::Advertising => "Advertising".into(),
OperatingExpenseIncludes::Association => "Association".into(),
OperatingExpenseIncludes::CableTV => "Cable TV".into(),
OperatingExpenseIncludes::CapitalImprovements => "Capital Improvements".into(),
OperatingExpenseIncludes::Depreciation => "Depreciation".into(),
OperatingExpenseIncludes::EquipmentRental => "Equipment Rental".into(),
OperatingExpenseIncludes::Fuel => "Fuel".into(),
OperatingExpenseIncludes::FurnitureReplacement => "Furniture Replacement".into(),
OperatingExpenseIncludes::Gardener => "Gardener".into(),
OperatingExpenseIncludes::Insurance => "Insurance".into(),
OperatingExpenseIncludes::Legal => "Legal".into(),
OperatingExpenseIncludes::Licenses => "Licenses".into(),
OperatingExpenseIncludes::Maintenance => "Maintenance".into(),
OperatingExpenseIncludes::MaintenanceGrounds => "Maintenance Grounds".into(),
OperatingExpenseIncludes::MaintenanceStructure => "Maintenance Structure".into(),
OperatingExpenseIncludes::Manager => "Manager".into(),
OperatingExpenseIncludes::MortgageLoans => "Mortgage/Loans".into(),
OperatingExpenseIncludes::NewTax => "New Tax".into(),
OperatingExpenseIncludes::Other => "Other".into(),
OperatingExpenseIncludes::Parking => "Parking".into(),
OperatingExpenseIncludes::PestControl => "Pest Control".into(),
OperatingExpenseIncludes::PoolSpa => "Pool/Spa".into(),
OperatingExpenseIncludes::ProfessionalManagement => "Professional Management".into(),
OperatingExpenseIncludes::Security => "Security".into(),
OperatingExpenseIncludes::SnowRemoval => "Snow Removal".into(),
OperatingExpenseIncludes::Staff => "Staff".into(),
OperatingExpenseIncludes::Supplies => "Supplies".into(),
OperatingExpenseIncludes::Trash => "Trash".into(),
OperatingExpenseIncludes::Utilities => "Utilities".into(),
OperatingExpenseIncludes::VacancyAllowance => "Vacancy Allowance".into(),
OperatingExpenseIncludes::WaterSewer => "Water/Sewer".into(),
OperatingExpenseIncludes::WorkmansCompensation => "Workmans Compensation".into(),
OperatingExpenseIncludes::OpenEnumeration(s) => s,
}
}
fn fallback_value(&self) -> Option<&str> {
match self {
OperatingExpenseIncludes::OpenEnumeration(ref s) => Some(s),
_ => None,
}
}
}
impl From<String> for OperatingExpenseIncludes {
fn from(s: String) -> OperatingExpenseIncludes {
match s.as_ref() {
"Accounting" => OperatingExpenseIncludes::Accounting,
"Advertising" => OperatingExpenseIncludes::Advertising,
"Association" => OperatingExpenseIncludes::Association,
"Cable TV" => OperatingExpenseIncludes::CableTV,
"Capital Improvements" => OperatingExpenseIncludes::CapitalImprovements,
"Depreciation" => OperatingExpenseIncludes::Depreciation,
"Equipment Rental" => OperatingExpenseIncludes::EquipmentRental,
"Fuel" => OperatingExpenseIncludes::Fuel,
"Furniture Replacement" => OperatingExpenseIncludes::FurnitureReplacement,
"Gardener" => OperatingExpenseIncludes::Gardener,
"Insurance" => OperatingExpenseIncludes::Insurance,
"Legal" => OperatingExpenseIncludes::Legal,
"Licenses" => OperatingExpenseIncludes::Licenses,
"Maintenance" => OperatingExpenseIncludes::Maintenance,
"Maintenance Grounds" => OperatingExpenseIncludes::MaintenanceGrounds,
"Maintenance Structure" => OperatingExpenseIncludes::MaintenanceStructure,
"Manager" => OperatingExpenseIncludes::Manager,
"Mortgage/Loans" => OperatingExpenseIncludes::MortgageLoans,
"New Tax" => OperatingExpenseIncludes::NewTax,
"Other" => OperatingExpenseIncludes::Other,
"Parking" => OperatingExpenseIncludes::Parking,
"Pest Control" => OperatingExpenseIncludes::PestControl,
"Pool/Spa" => OperatingExpenseIncludes::PoolSpa,
"Professional Management" => OperatingExpenseIncludes::ProfessionalManagement,
"Security" => OperatingExpenseIncludes::Security,
"Snow Removal" => OperatingExpenseIncludes::SnowRemoval,
"Staff" => OperatingExpenseIncludes::Staff,
"Supplies" => OperatingExpenseIncludes::Supplies,
"Trash" => OperatingExpenseIncludes::Trash,
"Utilities" => OperatingExpenseIncludes::Utilities,
"Vacancy Allowance" => OperatingExpenseIncludes::VacancyAllowance,
"Water/Sewer" => OperatingExpenseIncludes::WaterSewer,
"Workmans Compensation" => OperatingExpenseIncludes::WorkmansCompensation,
_ => OperatingExpenseIncludes::OpenEnumeration(s),
}
}
}
impl From<&str> for OperatingExpenseIncludes {
fn from(s: &str) -> OperatingExpenseIncludes {
match s {
"Accounting" => OperatingExpenseIncludes::Accounting,
"Advertising" => OperatingExpenseIncludes::Advertising,
"Association" => OperatingExpenseIncludes::Association,
"Cable TV" => OperatingExpenseIncludes::CableTV,
"Capital Improvements" => OperatingExpenseIncludes::CapitalImprovements,
"Depreciation" => OperatingExpenseIncludes::Depreciation,
"Equipment Rental" => OperatingExpenseIncludes::EquipmentRental,
"Fuel" => OperatingExpenseIncludes::Fuel,
"Furniture Replacement" => OperatingExpenseIncludes::FurnitureReplacement,
"Gardener" => OperatingExpenseIncludes::Gardener,
"Insurance" => OperatingExpenseIncludes::Insurance,
"Legal" => OperatingExpenseIncludes::Legal,
"Licenses" => OperatingExpenseIncludes::Licenses,
"Maintenance" => OperatingExpenseIncludes::Maintenance,
"Maintenance Grounds" => OperatingExpenseIncludes::MaintenanceGrounds,
"Maintenance Structure" => OperatingExpenseIncludes::MaintenanceStructure,
"Manager" => OperatingExpenseIncludes::Manager,
"Mortgage/Loans" => OperatingExpenseIncludes::MortgageLoans,
"New Tax" => OperatingExpenseIncludes::NewTax,
"Other" => OperatingExpenseIncludes::Other,
"Parking" => OperatingExpenseIncludes::Parking,
"Pest Control" => OperatingExpenseIncludes::PestControl,
"Pool/Spa" => OperatingExpenseIncludes::PoolSpa,
"Professional Management" => OperatingExpenseIncludes::ProfessionalManagement,
"Security" => OperatingExpenseIncludes::Security,
"Snow Removal" => OperatingExpenseIncludes::SnowRemoval,
"Staff" => OperatingExpenseIncludes::Staff,
"Supplies" => OperatingExpenseIncludes::Supplies,
"Trash" => OperatingExpenseIncludes::Trash,
"Utilities" => OperatingExpenseIncludes::Utilities,
"Vacancy Allowance" => OperatingExpenseIncludes::VacancyAllowance,
"Water/Sewer" => OperatingExpenseIncludes::WaterSewer,
"Workmans Compensation" => OperatingExpenseIncludes::WorkmansCompensation,
_ => OperatingExpenseIncludes::OpenEnumeration(s.into()),
}
}
}
impl<'a> From<&'a OperatingExpenseIncludes> for &'a str {
fn from(s: &'a OperatingExpenseIncludes) -> &'a str {
match s {
OperatingExpenseIncludes::Accounting => "Accounting",
OperatingExpenseIncludes::Advertising => "Advertising",
OperatingExpenseIncludes::Association => "Association",
OperatingExpenseIncludes::CableTV => "Cable TV",
OperatingExpenseIncludes::CapitalImprovements => "Capital Improvements",
OperatingExpenseIncludes::Depreciation => "Depreciation",
OperatingExpenseIncludes::EquipmentRental => "Equipment Rental",
OperatingExpenseIncludes::Fuel => "Fuel",
OperatingExpenseIncludes::FurnitureReplacement => "Furniture Replacement",
OperatingExpenseIncludes::Gardener => "Gardener",
OperatingExpenseIncludes::Insurance => "Insurance",
OperatingExpenseIncludes::Legal => "Legal",
OperatingExpenseIncludes::Licenses => "Licenses",
OperatingExpenseIncludes::Maintenance => "Maintenance",
OperatingExpenseIncludes::MaintenanceGrounds => "Maintenance Grounds",
OperatingExpenseIncludes::MaintenanceStructure => "Maintenance Structure",
OperatingExpenseIncludes::Manager => "Manager",
OperatingExpenseIncludes::MortgageLoans => "Mortgage/Loans",
OperatingExpenseIncludes::NewTax => "New Tax",
OperatingExpenseIncludes::Other => "Other",
OperatingExpenseIncludes::Parking => "Parking",
OperatingExpenseIncludes::PestControl => "Pest Control",
OperatingExpenseIncludes::PoolSpa => "Pool/Spa",
OperatingExpenseIncludes::ProfessionalManagement => "Professional Management",
OperatingExpenseIncludes::Security => "Security",
OperatingExpenseIncludes::SnowRemoval => "Snow Removal",
OperatingExpenseIncludes::Staff => "Staff",
OperatingExpenseIncludes::Supplies => "Supplies",
OperatingExpenseIncludes::Trash => "Trash",
OperatingExpenseIncludes::Utilities => "Utilities",
OperatingExpenseIncludes::VacancyAllowance => "Vacancy Allowance",
OperatingExpenseIncludes::WaterSewer => "Water/Sewer",
OperatingExpenseIncludes::WorkmansCompensation => "Workmans Compensation",
OperatingExpenseIncludes::OpenEnumeration(s) => s,
}
}
}
impl Serialize for OperatingExpenseIncludes {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.into())
}
}
impl<'de> Deserialize<'de> for OperatingExpenseIncludes {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
Ok(From::from(s))
}
}