zugferd_code_lists/zugferd_2_3_2/
hybriddocument.rs1#![allow(non_camel_case_types)]
2
3#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
4pub enum HybridDocument {
5 TheHybridDocumentContainsAnInvoiceOrCreditNote,
9 TheHybridDocumentContainsAnOrder,
13 TheHybridDocumentContainsAnOrderResponse,
17 ThyHybridDocumentContainsAnOrderChange,
21}
22
23impl crate::Code for HybridDocument {
24 fn code(self) -> &'static str {
25 match self {
26 HybridDocument::TheHybridDocumentContainsAnInvoiceOrCreditNote => "INVOICE",
27 HybridDocument::TheHybridDocumentContainsAnOrder => "ORDER",
28 HybridDocument::TheHybridDocumentContainsAnOrderResponse => "ORDER_RESPONSE",
29 HybridDocument::ThyHybridDocumentContainsAnOrderChange => "ORDER_CHANGE",
30 }
31 }
32}
33
34impl crate::Description for HybridDocument {
35 fn description(self) -> &'static str {
36 match self {
37 HybridDocument::TheHybridDocumentContainsAnInvoiceOrCreditNote => {
38 "The hybrid document contains an invoice or credit note"
39 }
40 HybridDocument::TheHybridDocumentContainsAnOrder => {
41 "The hybrid document contains an order"
42 }
43 HybridDocument::TheHybridDocumentContainsAnOrderResponse => {
44 "The hybrid document contains an order response"
45 }
46 HybridDocument::ThyHybridDocumentContainsAnOrderChange => {
47 "Thy hybrid document contains an order change"
48 }
49 }
50 }
51}
52
53impl crate::FromCode for HybridDocument {
54 fn from_code(code: &str) -> Option<Self>
55 where
56 Self: Sized,
57 {
58 match code {
59 "INVOICE" => Some(HybridDocument::TheHybridDocumentContainsAnInvoiceOrCreditNote),
60 "ORDER" => Some(HybridDocument::TheHybridDocumentContainsAnOrder),
61 "ORDER_RESPONSE" => Some(HybridDocument::TheHybridDocumentContainsAnOrderResponse),
62 "ORDER_CHANGE" => Some(HybridDocument::ThyHybridDocumentContainsAnOrderChange),
63 _ => None,
64 }
65 }
66}