diff --git a/openTRANS/ORDER/Order.cs b/openTRANS/ORDER/Order.cs index 38a0583..1a0bfdb 100644 --- a/openTRANS/ORDER/Order.cs +++ b/openTRANS/ORDER/Order.cs @@ -12,7 +12,7 @@ public partial class Order public string xsiSchemaLocation = "http://www.opentrans.org/XMLSchema/2.1%20opentrans_2_1.xsd"; [XmlAttribute("version")] - public string Version = "2.1"; + public string Version => "2.1"; [XmlAttribute("type")] public string Type = OrderType.Standard; @@ -27,10 +27,7 @@ public partial class Order [XmlElement("ORDER_SUMMARY")] public OrderSummary OrderSummary { - get - { - return new OrderSummary(this); - } + get => new OrderSummary(this); set { /* required for xml serialization */ } } } diff --git a/openTRANS/ORDER/OrderHeader.cs b/openTRANS/ORDER/OrderHeader.cs index ba63b48..1f80451 100644 --- a/openTRANS/ORDER/OrderHeader.cs +++ b/openTRANS/ORDER/OrderHeader.cs @@ -7,10 +7,10 @@ public partial class OrderHeader [XmlElement("CONTROL_INFO")] public ControlInfo ControlInfo = new ControlInfo(); - [XmlElement("ORDER_INFO")] - public OrderInfo OrderInfo = new OrderInfo(); - [XmlElement("SOURCING_INFO")] public SourcingInfo SourcingInfo = new SourcingInfo(); + + [XmlElement("ORDER_INFO")] + public OrderInfo OrderInfo = new OrderInfo(); } } diff --git a/openTRANS/ORDER/OrderInfo.cs b/openTRANS/ORDER/OrderInfo.cs index 13deb21..6b5eb51 100644 --- a/openTRANS/ORDER/OrderInfo.cs +++ b/openTRANS/ORDER/OrderInfo.cs @@ -16,24 +16,48 @@ public partial class OrderInfo [XmlElement("DELIVERY_DATE")] public DeliveryDate DeliveryDate = new DeliveryDate(); + [XmlElement("LANGUAGE")] + public Language Language { get; set; } + + [XmlElement("MIME_ROOT")] + public string MimeRoot { get; set; } + [XmlArray("PARTIES")] [XmlArrayItem("PARTY")] public List Parties = new List(); - [XmlElement("ORDER_PARTIES_REFERENCE")] - public OrderPartiesReference OrderPartiesReference = new OrderPartiesReference(); - [XmlElement("CUSTOMER_ORDER_REFERENCE")] public CustomerOrderReference CustomerOrderReference = new CustomerOrderReference(); - //will be serialized as array without a "remarks" parent - [XmlElement("REMARKS")] - public List Remarks = new List(); + [XmlElement("ORDER_PARTIES_REFERENCE")] + public OrderPartiesReference OrderPartiesReference = new OrderPartiesReference(); + + [XmlElement("DOCEXCHANGE_PARTIES_REFERENCE")] + public DocExchangePartiesReference DocExchangePartiesReference { get; set; } [XmlElement("CURRENCY", Namespace = Namespace.bmecat)] public string Currency; + [XmlElement("PAYMENT")] + public Payment Payment { get; set; } + + [XmlElement("TERMS_AND_CONDITIONS")] + public string TermsAndConditions { get; set; } + [XmlElement("PARTIAL_SHIPMENT_ALLOWED")] public bool? PartialShipmentAllowed; + + [XmlElement("TRANSPORT")] + public Transport Transport { get; set; } + + [XmlElement("INTERNATIONAL_RESTRICTIONS")] + public TypedItem InternationalRestrictions { get; set; } + + [XmlElement("MIME_INFO")] + public MimeInfo MimeInfo { get; set; } + + //will be serialized as array without a "remarks" parent + [XmlElement("REMARKS")] + public List Remarks = new List(); } } diff --git a/openTRANS/ORDER/OrderItem.cs b/openTRANS/ORDER/OrderItem.cs index 27d2914..0acd42b 100644 --- a/openTRANS/ORDER/OrderItem.cs +++ b/openTRANS/ORDER/OrderItem.cs @@ -16,10 +16,13 @@ public partial class OrderItem [XmlArrayItem("FEATURE")] public List ProductFeatures = new List(); + [XmlElement("PRODUCT_COMPONENTS")] + public ProductComponents ProductComponents { get; set; } + [XmlElement("QUANTITY")] public decimal Quantity; - [XmlElement("ORDER_UNIT", Namespace = Common.Namespace.bmecat)] + [XmlElement("ORDER_UNIT", Namespace = Namespace.bmecat)] public string OrderUnit; [XmlElement("PRODUCT_PRICE_FIX")] @@ -28,18 +31,45 @@ public partial class OrderItem [XmlElement("PRICE_LINE_AMOUNT")] public decimal PriceLineAmount { - get - { - return Quantity * ProductPriceFix.PriceAmount; - } + get => Quantity * ProductPriceFix.PriceAmount; set { /* required for xml serialization */ } } - [XmlElement("REMARKS")] - public List Remarks = new List(); + [XmlElement("PARTIAL_SHIPMENT_ALLOWED")] + public bool PartialShipmentAllowed { get; set; } [XmlElement("DELIVERY_DATE")] public DeliveryDate DeliveryDate = new DeliveryDate(); + [XmlArray("PARTIAL_DELIVERY_LIST")] + [XmlArrayItem("PARTIAL_DELIVERY")] + public List PartialDeliveryList { get; set; } + + [XmlElement("SOURCING_INFO")] + public SourcingInfo SourcingInfo { get; set; } + + [XmlElement("CUSTOM_ORDER_REFERENCE")] + public CustomerOrderReference CustomerOrderReference { get; set; } + + [XmlElement("ACCOUNTING_INFO", Namespace = Namespace.bmecat)] + public AccountingInfo AccountingInfo { get; set; } + + [XmlElement("SHIPMENT_PARTIES_REFERENCE")] + public ShipmentPartiesReference ShipmentPartiesReference { get; set; } + + [XmlElement("TRANSPORT", Namespace = Namespace.bmecat)] + public Transport Transport { get; set; } + + [XmlElement("INTERNATIONAL_RESTRICTIONS", Namespace = Namespace.bmecat)] + public TypedItem InternationalRestriction { get; set; } + + [XmlElement("SPECIAL_TREATMENT_CLASS", Namespace = Namespace.bmecat)] + public TypedItem SpecialTreatmentClass { get; set; } + + [XmlElement("MIME_INFO")] + public MimeInfo MimeInfo { get; set; } + + [XmlElement("REMARKS")] + public List Remarks = new List(); } } 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/__delete_after_pull_request_7.cs b/openTRANS/SHARED/__delete_after_pull_request_7.cs new file mode 100644 index 0000000..b11c874 --- /dev/null +++ b/openTRANS/SHARED/__delete_after_pull_request_7.cs @@ -0,0 +1,37 @@ +using System; + +/// +/// Delete this file completly, if open Pulls are merged +/// + +namespace openTRANS { + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class Card { + } + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class Payment { + + } + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class PaymentTerms { + } + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class TimeForPayment { + } + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class AccountingInfo { + } + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class Transport { + } + + [Obsolete("This class is implemented in one of the open Pull-Requests", true)] + public class PartialDelivery { + } +} \ No newline at end of file