diff --git a/openTRANS/INVOICE/Invoice.cs b/openTRANS/INVOICE/Invoice.cs new file mode 100644 index 0000000..a951351 --- /dev/null +++ b/openTRANS/INVOICE/Invoice.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Schema; +using System.Xml.Serialization; + +namespace openTRANS { + [XmlRoot("INVOICE", Namespace = "http://www.opentrans.org/XMLSchema/2.1", IsNullable = false)] + public class Invoice { + [XmlElement("schemaLocation", Namespace = XmlSchema.InstanceNamespace)] + public string xsiSchemaLocation = "http://www.opentrans.org/XMLSchema/2.1%20opentrans_2_1.xsd"; + + [XmlAttribute("version")] + public const string Version = "2.1"; + + [XmlElement("INVOICE_HEADER", Namespace = XmlSchema.InstanceNamespace)] + public InvoiceHeader InvoiceHeader { get; set; } + + [XmlArray("INVOICE_ITEM_LIST")] + [XmlArrayItem("INVOICE_ITEM")] + public List InvoiceItemList { get; set; } + + [XmlElement("INVOICE_SUMMARY")] + public InvoiceSummary InvoiceSummary { + get => new InvoiceSummary(this); + set { } + } + + } +} diff --git a/openTRANS/INVOICE/InvoiceCorrection.cs b/openTRANS/INVOICE/InvoiceCorrection.cs new file mode 100644 index 0000000..fdd3f09 --- /dev/null +++ b/openTRANS/INVOICE/InvoiceCorrection.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class InvoiceCorrection { + [XmlElement("INVOICE_REFERENCE")] + public InvoiceReference InvoiceReference { get; set; } + + [XmlElement("ADJUSTMENT_REASON_DESCR")] + public string AdjustmentReasonDescr { get; set; } + + [XmlElement("ADJUSTMENT_REASON_CODES")] + public List AdjustmentReasonCodes { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/INVOICE/InvoiceHeader.cs b/openTRANS/INVOICE/InvoiceHeader.cs new file mode 100644 index 0000000..37bfb4a --- /dev/null +++ b/openTRANS/INVOICE/InvoiceHeader.cs @@ -0,0 +1,14 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class InvoiceHeader { + [XmlElement("CONTROL_INFO")] + public ControlInfo ControlInfo { get; set; } + + [XmlElement("INVOICE_INFO")] + public InvoiceInfo InvoiceInfo { get; set; } + + [XmlElement("ORDER_HISTROY")] + public OrderHistory OrderHistory { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/INVOICE/InvoiceInfo.cs b/openTRANS/INVOICE/InvoiceInfo.cs new file mode 100644 index 0000000..c660018 --- /dev/null +++ b/openTRANS/INVOICE/InvoiceInfo.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class InvoiceInfo { + [XmlElement("INVOICE_ID")] + public string InvoiceId { get; set; } + + [XmlElement("INVOICE_DATE")] + public DateTime InvoiceDate { get; set; } + + [XmlElement("REASON_FOR_TRANSFER")] + public string ReasonForTransfer { get; set; } + + [XmlElement("INVOICE_TYPE")] + public string InvoiceType { get; set; } = Common.InvoiceType.Invoice; + + [XmlElement("INVOICE_COVERAGE")] + public string InvoiceCoverage { get; set; } = InvoiceCoverageType.Single; + + [XmlElement("DELIVERYNOTE_ID")] + public string DeliverynoteId { get; set; } + + [XmlElement("DELIVERY_DATE")] + public DeliveryDate DeliveryDate { get; set; } + + [XmlElement("DELIVERY_IDREF")] + public TypedItem DeliveryIdref { get; set; } + + [XmlElement("LANGUAGE", Namespace = Namespace.bmecat, IsNullable = false)] + public Language Language { get; set; } + + [XmlElement("MIME_ROOT", Namespace = Namespace.bmecat, IsNullable = false)] + public string MimeRoot { get; set; } + + [XmlArray("PARTIES")] + [XmlArrayItem("PARTY")] + public List Parties { get; set; } + + [XmlElement("INVOICE_ISSUER_IDREF")] + public TypedItem InvoiceIssuerIdref { get; set; } + + [XmlElement("INVOICE_RECIPIENT_IDREF")] + public TypedItem InvoiceRecipientIdref { get; set; } + + [XmlElement("BUYER_IDREF", Namespace = Namespace.bmecat, IsNullable = false)] + public TypedItem BuyerIdref { get; set; } + + [XmlElement("SUPPLIER_IDREF", Namespace = Namespace.bmecat, IsNullable = false)] + public TypedItem SupplierIdref { get; set; } + + [XmlElement("PAYER_IDREF")] + public TypedItem Payer_Idref { get; set; } + + [XmlElement("REMITTEE_IDREF")] + public TypedItem RemitteeIdref { get; set; } + + [XmlElement("DOCEXCHANGE_PARTIES_REFERENCE")] + public DocExchangePartiesReference DocExchangePartiesReference { get; set; } + + [XmlElement("CURRNECY", Namespace = Namespace.bmecat, IsNullable = false)] + public string Currency { get; set; } + + [XmlElement("PAYMENT")] + public Payment Payment { get; set; } + + [XmlElement("TERMS_AND_CONDITIONS")] + public string TermsAndConditions { get; set; } + + [XmlElement("ACCOUNTING_INFO", Namespace = Namespace.bmecat, IsNullable = false)] + public AccountingInfo AccountingInfo { get; set; } + + [XmlElement("E_BILLING")] + public EBilling EBilling { get; set; } + + [XmlElement("LOGISTIC_DETAILS_INFO")] + public LogisticDetailsInfo LogisticDetailsInfo { get; set; } + + [XmlElement("MIME_INFO")] + public MimeInfo MimeInfo { get; set; } + + [XmlElement("REMARKS")] + public List Remarks { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/INVOICE/InvoiceItem.cs b/openTRANS/INVOICE/InvoiceItem.cs new file mode 100644 index 0000000..68944f4 --- /dev/null +++ b/openTRANS/INVOICE/InvoiceItem.cs @@ -0,0 +1,68 @@ +using System.Collections.Generic; +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class InvoiceItem { + [XmlAttribute("type")] + public string Type { get; set; } + + [XmlElement("LINE_ITEM_ID")] + public string LineItemId { get; set; } + + [XmlElement("PRODUCT_ID")] + public ProductId ProductId { get; set; } + + [XmlArray("PRODUCT_FEATURES")] + [XmlArrayItem("FEATURE")] + public List ProductFeatures { get; set; } + + [XmlElement("PRODUCT_COMPONENTS")] + public ProductComponents ProductComponents { get; set; } + + [XmlElement("QUANTITY")] + public decimal Quantity { get; set; } + + [XmlElement("ORDER_UNIT")] + public string OrderUnit { get; set; } + + [XmlElement("PRODUCT_PRICE_FIX")] + public ProductPriceFix ProductPriceFix { get; set; } + + [XmlElement("PRICE_LINE_AMOUNT")] + public decimal PriceLineAmount { get; set; } + + [XmlElement("FOREIGN_CURRENCY")] + public string ForeignCurrency { get; set; } + + [XmlElement("EXCHANGE_RATE")] + public decimal ExchangeRate { get; set; } + + [XmlElement("INVOICE_CORRECTION")] + public InvoiceCorrection InvoiceCorrection { get; set; } + + [XmlElement("ORDER_REFERENCE")] + public OrderReference OrderReference { get; set; } + + [XmlElement("SUPPLIER_ORDER_REFERENCE")] + public SupplierOrderReference SupplierOrderReference { get; set; } + + [XmlElement("CUSTOMER_ORDER_REFERENCE")] + public CustomerOrderReference CustomerOrderReference { get; set; } + + [XmlElement("DELIVERY_REFERENCE")] + public DeliveryReference DeliveryReference { get; set; } + + [XmlElement("LOGISTIC_DETAILS")] + public LogisticDetails LogisticDetails { get; set; } + + [XmlElement("ACCOUNTING_INFO")] + public AccountingInfo AccountingInfo { get; set; } + + [XmlElement("MIME_INFO")] + public MimeInfo MimeInfo { get; set; } + + [XmlElement("REMARKS")] + public List Remarks { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/INVOICE/InvoiceReference.cs b/openTRANS/INVOICE/InvoiceReference.cs new file mode 100644 index 0000000..6dd7871 --- /dev/null +++ b/openTRANS/INVOICE/InvoiceReference.cs @@ -0,0 +1,27 @@ +using System; +using System.Xml.Serialization; + +namespace openTRANS { + public class InvoiceReference { + [XmlAttribute("type")] + public string Type { get; set; } + + [XmlElement("INVOICE_ID")] + public string InvoiceId { get; set; } + + [XmlElement("LINE_ITEM_ID")] + public string LineItemId { get; set; } + + [XmlElement("INVOICE_DATE")] + public DateTime InvoiceDate { get; set; } + + [XmlElement("POST_DATE")] + public DateTime PostDate { get; set; } + + [XmlElement("REASON_FOR_TRANSPORT")] + public string ReasonForTransport { get; set; } + + [XmlElement("INVOICE_DESCR")] + public string InvoiceDescr { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/INVOICE/InvoiceSummary.cs b/openTRANS/INVOICE/InvoiceSummary.cs new file mode 100644 index 0000000..aac477f --- /dev/null +++ b/openTRANS/INVOICE/InvoiceSummary.cs @@ -0,0 +1,33 @@ +using System.Linq; +using System.Xml.Serialization; + +namespace openTRANS { + public class InvoiceSummary { + public InvoiceSummary() { + + } + public InvoiceSummary(Invoice invoice) { + TotalItemNum = invoice.InvoiceItemList.Count; + TotalAmount = invoice.InvoiceItemList.Sum(ii => ii.PriceLineAmount); + } + + [XmlElement("TOTAL_ITEM_NUM")] + public int TotalItemNum { get; set; } + + [XmlElement("NET_VALUE_GOODS")] + public decimal NetValueGoods { get; set; } + + [XmlElement("NET_VALUE_EXTRA")] + public decimal NetValueExtra { get; set; } + + [XmlElement("TOTAL_AMOUNT")] + public decimal TotalAmount { get; set; } + + [XmlElement("ALLOW_OR_CHARGES_FIX")] + public AllowOrChargesFix AllowOrChargesFix { get; set; } + + [XmlElement("TOTAL_TAX")] + public TotalTax TotalTax { get; set; } + + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/AccountingInfo.cs b/openTRANS/SHARED/AccountingInfo.cs new file mode 100644 index 0000000..e2741e7 --- /dev/null +++ b/openTRANS/SHARED/AccountingInfo.cs @@ -0,0 +1,16 @@ +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class AccountingInfo { + [XmlElement("COST_CATEGORY_ID")] + public TypedItem CostCategoryId { get; set; } + + [XmlElement("COST_TYPE")] + public string CostType { get; set; } + + [XmlElement("COST_ACCOUNT")] + public string CostAccount { get; set; } + + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/AreaRefs.cs b/openTRANS/SHARED/AreaRefs.cs new file mode 100644 index 0000000..9ef6c7a --- /dev/null +++ b/openTRANS/SHARED/AreaRefs.cs @@ -0,0 +1,8 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class AreaRefs { + [XmlElement("AREA_IDREF")] + public string AreaIdref { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/Common.cs b/openTRANS/SHARED/Common.cs index d8aa6ac..efd66e1 100644 --- a/openTRANS/SHARED/Common.cs +++ b/openTRANS/SHARED/Common.cs @@ -124,6 +124,58 @@ public static class TaxCategory public const string ZeroRate = "zero_rate"; } + public static class AdjustmentReasonCodes { + public const string Handelsrabatt = "19"; + } + public static class InvoiceItemType { + public const string OrderItem = "order_item"; + public const string ExtraItem = "extra_item"; + public const string PledgeItem = "pledge_item"; + } + public static class InvoiceType { + public const string AdviceOfamendment = "advice_of_amendment"; + public const string CreditInfo = "credit_memo"; + public const string Invoice = "invoice"; + public const string InvoiceCopy = "invoice_copy"; + } + + public static class InvoiceReferenceType { + public const string Invoice = "invoice"; + public const string InvoiceList = "invloicelist"; + public const string CreditMemo = "credit_memo"; + } + + public static class InvoiceCoverageType { + public const string Single = "single"; + public const string Collective = "collective"; + } + + public static class MeansOfTransportType { + public const string Air = "air"; + public const string Maritime = "maritime"; + public const string Multimodal = "multimodal"; + public const string Rail = "rail"; + public const string Road = "road"; + public const string Custom = ""; + } + + public static class CostCategoryIdType { + public const string CostCenter = "cost_center"; + public const string Project = "project"; + public const string WorkOrder = "work_order"; + + } + + public static class PackageType { + public const string BuyerSpecific = "buyer_specific"; + public const string DelivererSpecific = "deliverer_specific"; + public const string Grai = "grai"; + public const string Mtv = "mtv"; + public const string Nve = "nve"; + public const string Sscc = "sscc"; + public const string Custom = ""; + } + public class TypedItem { public TypedItem() //needed for serializer diff --git a/openTRANS/SHARED/Components.cs b/openTRANS/SHARED/Components.cs deleted file mode 100644 index 8a849da..0000000 --- a/openTRANS/SHARED/Components.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace openTRANS -{ - public class Components - { - } -} \ No newline at end of file diff --git a/openTRANS/SHARED/CustomsTariffNumber.cs b/openTRANS/SHARED/CustomsTariffNumber.cs new file mode 100644 index 0000000..c9c2a10 --- /dev/null +++ b/openTRANS/SHARED/CustomsTariffNumber.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class CustomsTariffNumber { + [XmlElement("CUSTOMER_NUMBER")] + public string CustomsNumber { get; set; } + + [XmlElement("TERRITORY", Namespace = Namespace.bmecat)] + public List Territory { get; set; } + + [XmlElement("AREA_REFS", Namespace = Namespace.bmecat)] + public AreaRefs AreaRefs { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/DeliveryReference.cs b/openTRANS/SHARED/DeliveryReference.cs new file mode 100644 index 0000000..df07e78 --- /dev/null +++ b/openTRANS/SHARED/DeliveryReference.cs @@ -0,0 +1,18 @@ +using System; +using System.Xml.Serialization; + +namespace openTRANS { + public class DeliveryReference { + [XmlElement("DELIVERYNOTE_ID")] + public string DeliverynoteId { get; set; } + + [XmlElement("LINE_ITEM_ID")] + public string LineItemId { get; set; } + + [XmlElement("DELIVERY_DATE")] + public DeliveryDate DeliveryDate { get; set; } + + [XmlElement("DELIVERY_IDREF")] + public string DeliveryIdref { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/Dimensions.cs b/openTRANS/SHARED/Dimensions.cs new file mode 100644 index 0000000..860db92 --- /dev/null +++ b/openTRANS/SHARED/Dimensions.cs @@ -0,0 +1,21 @@ +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class Dimensions { + [XmlElement("VOLUME", Namespace = Namespace.bmecat, IsNullable = false)] + public decimal Volume { get; set; } + + [XmlElement("WEIGHT", Namespace = Namespace.bmecat, IsNullable = false)] + public decimal Weight { get; set; } + + [XmlElement("LENGTH", Namespace = Namespace.bmecat, IsNullable = false)] + public decimal Length { get; set; } + + [XmlElement("WIDTH", Namespace = Namespace.bmecat, IsNullable = false)] + public decimal Width { get; set; } + + [XmlElement("DEPTH", Namespace = Namespace.bmecat, IsNullable = false)] + public decimal Depth { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/EBilling.cs b/openTRANS/SHARED/EBilling.cs new file mode 100644 index 0000000..93b35e5 --- /dev/null +++ b/openTRANS/SHARED/EBilling.cs @@ -0,0 +1,11 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class EBilling { + [XmlElement("INVOICE_ORIGINAL")] + public InvoiceOriginal InvoiceOriginal { get; set; } + + [XmlElement("SIGNATURE_AND_VERIFICATION")] + public SignatureAndVerification SignatureAndVerification { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/InvoiceOriginal.cs b/openTRANS/SHARED/InvoiceOriginal.cs new file mode 100644 index 0000000..06f3be1 --- /dev/null +++ b/openTRANS/SHARED/InvoiceOriginal.cs @@ -0,0 +1,8 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class InvoiceOriginal { + [XmlElement("MIME")] + public Mime Mime { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/LogisticDetails.cs b/openTRANS/SHARED/LogisticDetails.cs new file mode 100644 index 0000000..a313189 --- /dev/null +++ b/openTRANS/SHARED/LogisticDetails.cs @@ -0,0 +1,31 @@ +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class LogisticDetails { + [XmlElement("CUSTOMS_TARIFF_NUMBER", Namespace = Namespace.bmecat)] + public CustomsTariffNumber CustomsTariffNumber { get; set; } + + [XmlElement("STATISTICS_FACTOR", Namespace = Namespace.bmecat)] + public decimal StatisticsFactor { get; set; } + + [XmlElement("COUNTRY_OF_ORIGIN", Namespace = Namespace.bmecat)] + public string CountryOfOrigin { get; set; } + + [XmlElement("PRODUCT_DIMENSIONS", Namespace = Namespace.bmecat)] + public Dimensions ProductDimensions { get; set; } + + [XmlElement("SPECIAL_TREATMENT_CLASS", Namespace = Namespace.bmecat)] + public TypedItem SpecialTreatmentClass { get; set; } + + [XmlElement("TRANSPORT", Namespace = Namespace.bmecat)] + public Transport Transport { get; set; } + + [XmlElement("PACKAGE_INFO")] + public PackageInfo PackageInfo { get; set; } + + [XmlElement("MEANS_OF_TRANSPORT", Namespace = Namespace.bmecat)] + public MeansOfTransport MeansOfTransport { get; set; } + + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/LogisticDetailsInfo.cs b/openTRANS/SHARED/LogisticDetailsInfo.cs new file mode 100644 index 0000000..c88c942 --- /dev/null +++ b/openTRANS/SHARED/LogisticDetailsInfo.cs @@ -0,0 +1,18 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class LogisticDetailsInfo { + [XmlElement("COUNTRY_OF_ORIGIN")] + public string CountryOfOrigin { get; set; } + + [XmlElement("TRANSPORT")] + public Transport Transport { get; set; } + + [XmlElement("PACKAGE_INFO")] + public PackageInfo PackageInfo { get; set; } + + [XmlElement("MEANS_OF_TRANSPORT")] + public MeansOfTransport MeansOfTransport { get; set; } + + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/MeansOfTransport.cs b/openTRANS/SHARED/MeansOfTransport.cs new file mode 100644 index 0000000..67001ef --- /dev/null +++ b/openTRANS/SHARED/MeansOfTransport.cs @@ -0,0 +1,15 @@ +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class MeansOfTransport { + [XmlAttribute("type")] + public string Type { get; set; } + + [XmlElement("MEANS_OF_TRANSPORT_ID", Namespace = Namespace.bmecat)] + public string MeansOfTransportId { get; set; } + + [XmlElement("MEANS_OF_TRANSPORT_NAME", Namespace = Namespace.bmecat)] + public string MeansOfTransportName { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/OrderHistory.cs b/openTRANS/SHARED/OrderHistory.cs new file mode 100644 index 0000000..be1c263 --- /dev/null +++ b/openTRANS/SHARED/OrderHistory.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; + +namespace openTRANS { + public class OrderHistory { + [XmlElement("ORDER_ID")] + public string OrderId { get; set; } + + [XmlElement("ALT_CUSTOMER_ORDER_ID")] + public List AltCustomerOrderId { get; set; } + + [XmlElement("SUPPLIER_ORDER_ID")] + public string SupplierOrderId { get; set; } + + [XmlElement("ORDER_DATE")] + public DateTime OrderDate { get; set; } + + [XmlElement("ORDER_DESCR")] + public string OrderDescr { get; set; } + + [XmlElement("DELIVERYNOTE_ID")] + public string DeliverynoteId { get; set; } + + [XmlElement("DELIVERYNOTE_DATE")] + public DateTime DeliverynoteDate { get; set; } + + [XmlElement("AGREEMENT")] + public Agreement Agreement { get; set; } + + [XmlElement("CATALOG_REFERENCE")] + public CatalogReference CatalogReference { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/OrderReference.cs b/openTRANS/SHARED/OrderReference.cs new file mode 100644 index 0000000..52c30f2 --- /dev/null +++ b/openTRANS/SHARED/OrderReference.cs @@ -0,0 +1,24 @@ +using System; +using System.Xml.Serialization; + +namespace openTRANS { + public class OrderReference { + [XmlElement("ORDER_ID")] + public string OrderId { get; set; } + + [XmlElement("LINE_ITEM_ID")] + public string LineItemId { get; set; } + + [XmlElement("ORDER_DATE")] + public DateTime OrderDate { get; set; } + + [XmlElement("ORDER_DESCR")] + public string OrderDescr { get; set; } + + [XmlElement("AGREEMENT")] + public Agreement Agreement { get; set; } + + [XmlElement("CATALOG_REFERENCE")] + public CatalogReference CatalogReference { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/Package.cs b/openTRANS/SHARED/Package.cs new file mode 100644 index 0000000..b8ae6d0 --- /dev/null +++ b/openTRANS/SHARED/Package.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using System.Xml.Serialization; +using static openTRANS.Common; + +namespace openTRANS { + public class Package { + [XmlElement("PACKAGE_ID")] + public List PackageId { get; set; } + + [XmlElement("PACKAGE_DESCRIPTION")] + public string PackageDescription { get; set; } + + [XmlElement("PACKING_UNIT_CODE", Namespace = Namespace.bmecat)] + public string PackingUnitCode { get; set; } + + [XmlElement("PACKING_UNIT_DESCR", Namespace = Namespace.bmecat)] + public string PackingUnitDescr { get; set; } + + [XmlElement("PACKING_ORDER_UNIT_QUANTITY")] + public decimal PackageOrderUnitQuantity { get; set; } + + [XmlElement("PACKAGE_QUANTITY")] + public decimal PackageQuantity { get; set; } + + [XmlElement("PACKAGE_DIMENSIONS")] + public Dimensions PackageDimensions { get; set; } + + [XmlElement("MEANS_OF_TRANSPORT_IDREF")] + public string MeansOfTransportIdref { get; set; } + + [XmlElement("SUB_PACKAGES")] + public SubPackages SubPackages { get; set; } + + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/PackageInfo.cs b/openTRANS/SHARED/PackageInfo.cs new file mode 100644 index 0000000..96bbecf --- /dev/null +++ b/openTRANS/SHARED/PackageInfo.cs @@ -0,0 +1,8 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class PackageInfo { + [XmlElement("PACKAGE")] + public Package Package { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/Signature.cs b/openTRANS/SHARED/Signature.cs new file mode 100644 index 0000000..6dc4b8c --- /dev/null +++ b/openTRANS/SHARED/Signature.cs @@ -0,0 +1,14 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class Signature { + [XmlElement("MIME")] + public Mime Mime { get; set; } + + [XmlElement("SIGNATURE_IN_ORIGINAL")] + public bool SigatureInOriginal { get; set; } + + [XmlElement("XML_SIGNATURE")] + public XmlSignature XmlSignature { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/SignatureAndVerification.cs b/openTRANS/SHARED/SignatureAndVerification.cs new file mode 100644 index 0000000..0ce3993 --- /dev/null +++ b/openTRANS/SHARED/SignatureAndVerification.cs @@ -0,0 +1,11 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class SignatureAndVerification { + [XmlElement("SIGNATURE")] + public Signature Signature { get; set; } + + [XmlElement("VERIFICATION")] + public Verification Verification { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/SubPackages.cs b/openTRANS/SHARED/SubPackages.cs new file mode 100644 index 0000000..4d1fac2 --- /dev/null +++ b/openTRANS/SHARED/SubPackages.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; +using System.Xml.Serialization; + +namespace openTRANS { + public class SubPackages { + [XmlElement("PACKAGE")] + public List Package { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/SupplierOrderReference.cs b/openTRANS/SHARED/SupplierOrderReference.cs new file mode 100644 index 0000000..24feba5 --- /dev/null +++ b/openTRANS/SHARED/SupplierOrderReference.cs @@ -0,0 +1,11 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class SupplierOrderReference { + [XmlElement("SUPPLIER_ORDER_ID")] + public string SupplierOrderId { get; set; } + + [XmlElement("SUPPLIER_ORDER_ITEM_ID")] + public string SupplierOrderItemId { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/TotalTax.cs b/openTRANS/SHARED/TotalTax.cs new file mode 100644 index 0000000..0348ebe --- /dev/null +++ b/openTRANS/SHARED/TotalTax.cs @@ -0,0 +1,8 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class TotalTax { + [XmlElement("TAX_DETAILS_FIX")] + public TaxDetailsFix TaxDetailsFix { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/UdxItem.cs b/openTRANS/SHARED/UdxItem.cs new file mode 100644 index 0000000..91e0c91 --- /dev/null +++ b/openTRANS/SHARED/UdxItem.cs @@ -0,0 +1,9 @@ +using System.Xml.Serialization; + +namespace openTRANS { + /// + /// User Defined Extension: For elements not officially defined in openTRANS standard. For individual usage! + /// + public class UdxItem { + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/Verification.cs b/openTRANS/SHARED/Verification.cs new file mode 100644 index 0000000..5fb8438 --- /dev/null +++ b/openTRANS/SHARED/Verification.cs @@ -0,0 +1,14 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class Verification { + [XmlElement("VERIFICATION_PARTY_IDREF")] + public string VerificationPartyIdref { get; set; } + + [XmlElement("VERIFICATION_SUCCESS")] + public bool VerificationSuccess { get; set; } + + [XmlElement("VERIFICATION_REPORT")] + public VerificationReport VerificationReport { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/VerificationAttachment.cs b/openTRANS/SHARED/VerificationAttachment.cs new file mode 100644 index 0000000..5087a15 --- /dev/null +++ b/openTRANS/SHARED/VerificationAttachment.cs @@ -0,0 +1,8 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class VerificationAttachment { + [XmlElement("MIME")] + public Mime Mine { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/VerificationProtocol.cs b/openTRANS/SHARED/VerificationProtocol.cs new file mode 100644 index 0000000..6ebff94 --- /dev/null +++ b/openTRANS/SHARED/VerificationProtocol.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; +using System.Xml.Serialization; + +namespace openTRANS { + public class VerificationProtocol { + [XmlElement("RESULT_CODE")] + public string ResultCode { get; set; } + + [XmlElement("RESULT_DESCR")] + public List ResultDescr { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/VerificationReport.cs b/openTRANS/SHARED/VerificationReport.cs new file mode 100644 index 0000000..f934041 --- /dev/null +++ b/openTRANS/SHARED/VerificationReport.cs @@ -0,0 +1,14 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class VerificationReport { + [XmlElement("VERIFICATION_ATTACHMENT")] + public VerificationAttachment VerificationAttachment { get; set; } + + [XmlElement("VERIFICATION_PROTOCOL")] + public VerificationProtocol VerificationProtocol { get; set; } + + [XmlElement("VERIFICATION_XMLREPORT")] + public VerificationXmlReport VerificationXmlReport { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/VerificationXmlReport.cs b/openTRANS/SHARED/VerificationXmlReport.cs new file mode 100644 index 0000000..7ea3d5f --- /dev/null +++ b/openTRANS/SHARED/VerificationXmlReport.cs @@ -0,0 +1,11 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class VerificationXmlReport { + [XmlElement("XML_FORMAT")] + public string XmlFormat { get; set; } + + [XmlElement("REPORT_UDX")] + public UdxItem ReportUdx { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/XmlSignature.cs b/openTRANS/SHARED/XmlSignature.cs new file mode 100644 index 0000000..937b87a --- /dev/null +++ b/openTRANS/SHARED/XmlSignature.cs @@ -0,0 +1,8 @@ +using System.Xml.Serialization; + +namespace openTRANS { + public class XmlSignature { + [XmlElement("SIGNATURE")] + public Signature Signature { get; set; } + } +} \ No newline at end of file diff --git a/openTRANS/SHARED/__delete_this_file_after_merging_all open pulls.cs b/openTRANS/SHARED/__delete_this_file_after_merging_all open pulls.cs new file mode 100644 index 0000000..a9002e0 --- /dev/null +++ b/openTRANS/SHARED/__delete_this_file_after_merging_all open pulls.cs @@ -0,0 +1,16 @@ +using System; + +namespace openTRANS { + // NOTE: this file only contains classes, which only be used to avoid compiler errors. + // You can safely delete this file if Pull-Request https://github.com/DXSdata/openTRANS/pull/7 is successfully merged + [Obsolete("This class is implemented in one of the open pulls on github! Please merge first", true)] + public class Transport { + } + + [Obsolete("This class is implemented in one of the open pulls on github! Please merge first", true)] + public class CatalogReference { + } + [Obsolete("This class is implemented in one of the open pulls on github! Please merge first", true)] + public class Payment { + } +} \ No newline at end of file diff --git a/openTRANS/openTRANS.csproj b/openTRANS/openTRANS.csproj index af412ab..489963e 100644 --- a/openTRANS/openTRANS.csproj +++ b/openTRANS/openTRANS.csproj @@ -1,36 +1,35 @@  - - netstandard2.0 - true - DXSdata - DXSdata GmbH - .NET Core / Standard implementation of the openTRANS v2.1 definitions by Fraunhofer IAO - 1.1.0 - + + netstandard2.0 + true + DXSdata + DXSdata GmbH + .NET Core / Standard implementation of the openTRANS v2.1 definitions by Fraunhofer IAO + 1.1.0 + - - - + + + - - - - - + + + + - - - 1701;1702;1591,1573 - + + + 1701;1702;1591,1573 + - - - true - https://www.dxsdata.com/2019/08/opentrans-for-net-core/ - MIT - https://github.com/DXSdata/openTRANS - + + + true + https://www.dxsdata.com/2019/08/opentrans-for-net-core/ + MIT + https://github.com/DXSdata/openTRANS +