diff --git a/Modules.Interfaces/Interfaces.vbproj b/Modules.Interfaces/Interfaces.vbproj index 1a089cb1..9118bed5 100644 --- a/Modules.Interfaces/Interfaces.vbproj +++ b/Modules.Interfaces/Interfaces.vbproj @@ -88,6 +88,7 @@ Settings.settings True + diff --git a/Modules.Interfaces/ZUGFeRD1p0.vb b/Modules.Interfaces/ZUGFeRD1p0.vb new file mode 100644 index 00000000..b0389666 --- /dev/null +++ b/Modules.Interfaces/ZUGFeRD1p0.vb @@ -0,0 +1,3176 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + +Imports System.Xml.Serialization + +' +'This source code was auto-generated by xsd, Version=4.6.1055.0. +' + +''' + +Partial Public Class CrossIndustryDocumentType + + Private specifiedExchangedDocumentContextField As ExchangedDocumentContextType + + Private headerExchangedDocumentField As ExchangedDocumentType + + Private specifiedSupplyChainTradeTransactionField As SupplyChainTradeTransactionType + + ''' + Public Property SpecifiedExchangedDocumentContext() As ExchangedDocumentContextType + Get + Return Me.specifiedExchangedDocumentContextField + End Get + Set + Me.specifiedExchangedDocumentContextField = Value + End Set + End Property + + ''' + Public Property HeaderExchangedDocument() As ExchangedDocumentType + Get + Return Me.headerExchangedDocumentField + End Get + Set + Me.headerExchangedDocumentField = Value + End Set + End Property + + ''' + Public Property SpecifiedSupplyChainTradeTransaction() As SupplyChainTradeTransactionType + Get + Return Me.specifiedSupplyChainTradeTransactionField + End Get + Set + Me.specifiedSupplyChainTradeTransactionField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ExchangedDocumentContextType + + Private testIndicatorField As IndicatorType + + Private businessProcessSpecifiedDocumentContextParameterField() As DocumentContextParameterType + + Private guidelineSpecifiedDocumentContextParameterField() As DocumentContextParameterType + + ''' + Public Property TestIndicator() As IndicatorType + Get + Return Me.testIndicatorField + End Get + Set + Me.testIndicatorField = Value + End Set + End Property + + ''' + + Public Property BusinessProcessSpecifiedDocumentContextParameter() As DocumentContextParameterType() + Get + Return Me.businessProcessSpecifiedDocumentContextParameterField + End Get + Set + Me.businessProcessSpecifiedDocumentContextParameterField = Value + End Set + End Property + + ''' + + Public Property GuidelineSpecifiedDocumentContextParameter() As DocumentContextParameterType() + Get + Return Me.guidelineSpecifiedDocumentContextParameterField + End Get + Set + Me.guidelineSpecifiedDocumentContextParameterField = Value + End Set + End Property +End Class + +''' + +Partial Public Class IndicatorType + + Private itemField As Boolean + + ''' + + Public Property Item() As Boolean + Get + Return Me.itemField + End Get + Set + Me.itemField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ReferencedProductType + + Private globalIDField() As IDType + + Private sellerAssignedIDField As IDType + + Private buyerAssignedIDField As IDType + + Private nameField() As TextType + + Private descriptionField() As TextType + + Private unitQuantityField() As QuantityType + + ''' + + Public Property GlobalID() As IDType() + Get + Return Me.globalIDField + End Get + Set + Me.globalIDField = Value + End Set + End Property + + ''' + Public Property SellerAssignedID() As IDType + Get + Return Me.sellerAssignedIDField + End Get + Set + Me.sellerAssignedIDField = Value + End Set + End Property + + ''' + Public Property BuyerAssignedID() As IDType + Get + Return Me.buyerAssignedIDField + End Get + Set + Me.buyerAssignedIDField = Value + End Set + End Property + + ''' + + Public Property Name() As TextType() + Get + Return Me.nameField + End Get + Set + Me.nameField = Value + End Set + End Property + + ''' + + Public Property Description() As TextType() + Get + Return Me.descriptionField + End Get + Set + Me.descriptionField = Value + End Set + End Property + + ''' + + Public Property UnitQuantity() As QuantityType() + Get + Return Me.unitQuantityField + End Get + Set + Me.unitQuantityField = Value + End Set + End Property +End Class + +''' + +Partial Public Class IDType + + Private schemeIDField As String + + Private schemeAgencyIDField As String + + Private valueField As String + + ''' + + Public Property schemeID() As String + Get + Return Me.schemeIDField + End Get + Set + Me.schemeIDField = Value + End Set + End Property + + ''' + + Public Property schemeAgencyID() As String + Get + Return Me.schemeAgencyIDField + End Get + Set + Me.schemeAgencyIDField = Value + End Set + End Property + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TextType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class QuantityType + + Private unitCodeField As String + + Private valueField As Decimal + + ''' + + Public Property unitCode() As String + Get + Return Me.unitCodeField + End Get + Set + Me.unitCodeField = Value + End Set + End Property + + ''' + + Public Property Value() As Decimal + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ProductClassificationType + + Private classCodeField As CodeType + + Private classNameField() As TextType + + ''' + Public Property ClassCode() As CodeType + Get + Return Me.classCodeField + End Get + Set + Me.classCodeField = Value + End Set + End Property + + ''' + + Public Property ClassName() As TextType() + Get + Return Me.classNameField + End Get + Set + Me.classNameField = Value + End Set + End Property +End Class + +''' + +Partial Public Class CodeType + + Private listIDField As String + + Private listVersionIDField As String + + Private valueField As String + + ''' + + Public Property listID() As String + Get + Return Me.listIDField + End Get + Set + Me.listIDField = Value + End Set + End Property + + ''' + + Public Property listVersionID() As String + Get + Return Me.listVersionIDField + End Get + Set + Me.listVersionIDField = Value + End Set + End Property + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ProductCharacteristicType + + Private typeCodeField() As CodeType + + Private descriptionField() As TextType + + Private valueMeasureField() As MeasureType + + Private valueField() As TextType + + ''' + + Public Property TypeCode() As CodeType() + Get + Return Me.typeCodeField + End Get + Set + Me.typeCodeField = Value + End Set + End Property + + ''' + + Public Property Description() As TextType() + Get + Return Me.descriptionField + End Get + Set + Me.descriptionField = Value + End Set + End Property + + ''' + + Public Property ValueMeasure() As MeasureType() + Get + Return Me.valueMeasureField + End Get + Set + Me.valueMeasureField = Value + End Set + End Property + + ''' + + Public Property Value() As TextType() + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class MeasureType + + Private unitCodeField As String + + Private valueField As Decimal + + ''' + + Public Property unitCode() As String + Get + Return Me.unitCodeField + End Get + Set + Me.unitCodeField = Value + End Set + End Property + + ''' + + Public Property Value() As Decimal + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeProductType + + Private globalIDField() As IDType + + Private sellerAssignedIDField As IDType + + Private buyerAssignedIDField As IDType + + Private nameField() As TextType + + Private descriptionField() As TextType + + Private applicableProductCharacteristicField() As ProductCharacteristicType + + Private designatedProductClassificationField() As ProductClassificationType + + Private originTradeCountryField() As CountryIDType + + Private includedReferencedProductField() As ReferencedProductType + + ''' + + Public Property GlobalID() As IDType() + Get + Return Me.globalIDField + End Get + Set + Me.globalIDField = Value + End Set + End Property + + ''' + Public Property SellerAssignedID() As IDType + Get + Return Me.sellerAssignedIDField + End Get + Set + Me.sellerAssignedIDField = Value + End Set + End Property + + ''' + Public Property BuyerAssignedID() As IDType + Get + Return Me.buyerAssignedIDField + End Get + Set + Me.buyerAssignedIDField = Value + End Set + End Property + + ''' + + Public Property Name() As TextType() + Get + Return Me.nameField + End Get + Set + Me.nameField = Value + End Set + End Property + + ''' + + Public Property Description() As TextType() + Get + Return Me.descriptionField + End Get + Set + Me.descriptionField = Value + End Set + End Property + + ''' + + Public Property ApplicableProductCharacteristic() As ProductCharacteristicType() + Get + Return Me.applicableProductCharacteristicField + End Get + Set + Me.applicableProductCharacteristicField = Value + End Set + End Property + + ''' + + Public Property DesignatedProductClassification() As ProductClassificationType() + Get + Return Me.designatedProductClassificationField + End Get + Set + Me.designatedProductClassificationField = Value + End Set + End Property + + ''' + + Public Property OriginTradeCountry As CountryIDType() + Get + Return Me.originTradeCountryField + End Get + Set + Me.originTradeCountryField = Value + End Set + End Property + + ''' + + Public Property IncludedReferencedProduct() As ReferencedProductType() + Get + Return Me.includedReferencedProductField + End Get + Set + Me.includedReferencedProductField = Value + End Set + End Property +End Class + +''' + +Partial Public Class CountryIDType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DocumentLineDocumentType + + Private lineIDField As IDType + + Private includedNoteField() As NoteType + + ''' + Public Property LineID() As IDType + Get + Return Me.lineIDField + End Get + Set + Me.lineIDField = Value + End Set + End Property + + ''' + + Public Property IncludedNote() As NoteType() + Get + Return Me.includedNoteField + End Get + Set + Me.includedNoteField = Value + End Set + End Property +End Class + +''' + +Partial Public Class NoteType + + Private contentCodeField() As CodeType + + Private contentField() As TextType + + Private subjectCodeField As CodeType + + ''' + + Public Property ContentCode() As CodeType() + Get + Return Me.contentCodeField + End Get + Set + Me.contentCodeField = Value + End Set + End Property + + ''' + + Public Property Content() As TextType() + Get + Return Me.contentField + End Get + Set + Me.contentField = Value + End Set + End Property + + ''' + Public Property SubjectCode() As CodeType + Get + Return Me.subjectCodeField + End Get + Set + Me.subjectCodeField = Value + End Set + End Property +End Class + +''' + +Partial Public Class SupplyChainTradeLineItemType + + Private associatedDocumentLineDocumentField As DocumentLineDocumentType + + Private specifiedSupplyChainTradeAgreementField As SupplyChainTradeAgreementType + + Private specifiedSupplyChainTradeDeliveryField As SupplyChainTradeDeliveryType + + Private specifiedSupplyChainTradeSettlementField As SupplyChainTradeSettlementType + + Private specifiedTradeProductField As TradeProductType + + ''' + Public Property AssociatedDocumentLineDocument() As DocumentLineDocumentType + Get + Return Me.associatedDocumentLineDocumentField + End Get + Set + Me.associatedDocumentLineDocumentField = Value + End Set + End Property + + ''' + Public Property SpecifiedSupplyChainTradeAgreement() As SupplyChainTradeAgreementType + Get + Return Me.specifiedSupplyChainTradeAgreementField + End Get + Set + Me.specifiedSupplyChainTradeAgreementField = Value + End Set + End Property + + ''' + Public Property SpecifiedSupplyChainTradeDelivery() As SupplyChainTradeDeliveryType + Get + Return Me.specifiedSupplyChainTradeDeliveryField + End Get + Set + Me.specifiedSupplyChainTradeDeliveryField = Value + End Set + End Property + + ''' + Public Property SpecifiedSupplyChainTradeSettlement() As SupplyChainTradeSettlementType + Get + Return Me.specifiedSupplyChainTradeSettlementField + End Get + Set + Me.specifiedSupplyChainTradeSettlementField = Value + End Set + End Property + + ''' + Public Property SpecifiedTradeProduct() As TradeProductType + Get + Return Me.specifiedTradeProductField + End Get + Set + Me.specifiedTradeProductField = Value + End Set + End Property +End Class + +''' + +Partial Public Class SupplyChainTradeAgreementType + + Private buyerReferenceField() As TextType + + Private sellerTradePartyField As TradePartyType + + Private buyerTradePartyField As TradePartyType + + Private productEndUserTradePartyField As TradePartyType + + Private applicableTradeDeliveryTermsField As TradeDeliveryTermsType + + Private buyerOrderReferencedDocumentField() As ReferencedDocumentType + + Private contractReferencedDocumentField() As ReferencedDocumentType + + Private additionalReferencedDocumentField() As ReferencedDocumentType + + Private grossPriceProductTradePriceField() As TradePriceType + + Private netPriceProductTradePriceField() As TradePriceType + + Private customerOrderReferencedDocumentField() As ReferencedDocumentType + + ''' + + Public Property BuyerReference() As TextType() + Get + Return Me.buyerReferenceField + End Get + Set + Me.buyerReferenceField = Value + End Set + End Property + + ''' + Public Property SellerTradeParty() As TradePartyType + Get + Return Me.sellerTradePartyField + End Get + Set + Me.sellerTradePartyField = Value + End Set + End Property + + ''' + Public Property BuyerTradeParty() As TradePartyType + Get + Return Me.buyerTradePartyField + End Get + Set + Me.buyerTradePartyField = Value + End Set + End Property + + ''' + Public Property ProductEndUserTradeParty() As TradePartyType + Get + Return Me.productEndUserTradePartyField + End Get + Set + Me.productEndUserTradePartyField = Value + End Set + End Property + + ''' + Public Property ApplicableTradeDeliveryTerms() As TradeDeliveryTermsType + Get + Return Me.applicableTradeDeliveryTermsField + End Get + Set + Me.applicableTradeDeliveryTermsField = Value + End Set + End Property + + ''' + + Public Property BuyerOrderReferencedDocument() As ReferencedDocumentType() + Get + Return Me.buyerOrderReferencedDocumentField + End Get + Set + Me.buyerOrderReferencedDocumentField = Value + End Set + End Property + + ''' + + Public Property ContractReferencedDocument() As ReferencedDocumentType() + Get + Return Me.contractReferencedDocumentField + End Get + Set + Me.contractReferencedDocumentField = Value + End Set + End Property + + ''' + + Public Property AdditionalReferencedDocument() As ReferencedDocumentType() + Get + Return Me.additionalReferencedDocumentField + End Get + Set + Me.additionalReferencedDocumentField = Value + End Set + End Property + + ''' + + Public Property GrossPriceProductTradePrice() As TradePriceType() + Get + Return Me.grossPriceProductTradePriceField + End Get + Set + Me.grossPriceProductTradePriceField = Value + End Set + End Property + + ''' + + Public Property NetPriceProductTradePrice() As TradePriceType() + Get + Return Me.netPriceProductTradePriceField + End Get + Set + Me.netPriceProductTradePriceField = Value + End Set + End Property + + ''' + + Public Property CustomerOrderReferencedDocument() As ReferencedDocumentType() + Get + Return Me.customerOrderReferencedDocumentField + End Get + Set + Me.customerOrderReferencedDocumentField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradePartyType + + Private idField() As IDType + + Private globalIDField() As IDType + + Private nameField As TextType + + Private definedTradeContactField() As TradeContactType + + Private postalTradeAddressField As TradeAddressType + + Private specifiedTaxRegistrationField() As TaxRegistrationType + + ''' + + Public Property ID() As IDType() + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property + + ''' + + Public Property GlobalID() As IDType() + Get + Return Me.globalIDField + End Get + Set + Me.globalIDField = Value + End Set + End Property + + ''' + Public Property Name() As TextType + Get + Return Me.nameField + End Get + Set + Me.nameField = Value + End Set + End Property + + ''' + + Public Property DefinedTradeContact() As TradeContactType() + Get + Return Me.definedTradeContactField + End Get + Set + Me.definedTradeContactField = Value + End Set + End Property + + ''' + Public Property PostalTradeAddress() As TradeAddressType + Get + Return Me.postalTradeAddressField + End Get + Set + Me.postalTradeAddressField = Value + End Set + End Property + + ''' + + Public Property SpecifiedTaxRegistration() As TaxRegistrationType() + Get + Return Me.specifiedTaxRegistrationField + End Get + Set + Me.specifiedTaxRegistrationField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeContactType + + Private personNameField As TextType + + Private departmentNameField As TextType + + Private telephoneUniversalCommunicationField() As UniversalCommunicationType + + Private faxUniversalCommunicationField() As UniversalCommunicationType + + Private emailURIUniversalCommunicationField As UniversalCommunicationType + + ''' + Public Property PersonName() As TextType + Get + Return Me.personNameField + End Get + Set + Me.personNameField = Value + End Set + End Property + + ''' + Public Property DepartmentName() As TextType + Get + Return Me.departmentNameField + End Get + Set + Me.departmentNameField = Value + End Set + End Property + + ''' + + Public Property TelephoneUniversalCommunication() As UniversalCommunicationType() + Get + Return Me.telephoneUniversalCommunicationField + End Get + Set + Me.telephoneUniversalCommunicationField = Value + End Set + End Property + + ''' + + Public Property FaxUniversalCommunication() As UniversalCommunicationType() + Get + Return Me.faxUniversalCommunicationField + End Get + Set + Me.faxUniversalCommunicationField = Value + End Set + End Property + + ''' + Public Property EmailURIUniversalCommunication() As UniversalCommunicationType + Get + Return Me.emailURIUniversalCommunicationField + End Get + Set + Me.emailURIUniversalCommunicationField = Value + End Set + End Property +End Class + +''' + +Partial Public Class UniversalCommunicationType + + Private uRIIDField As IDType + + Private completeNumberField As TextType + + ''' + Public Property URIID() As IDType + Get + Return Me.uRIIDField + End Get + Set + Me.uRIIDField = Value + End Set + End Property + + ''' + Public Property CompleteNumber() As TextType + Get + Return Me.completeNumberField + End Get + Set + Me.completeNumberField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeAddressType + + Private postcodeCodeField() As CodeType + + Private lineOneField As TextType + + Private lineTwoField As TextType + + Private cityNameField As TextType + + Private countryIDField As CountryIDType + + ''' + + Public Property PostcodeCode() As CodeType() + Get + Return Me.postcodeCodeField + End Get + Set + Me.postcodeCodeField = Value + End Set + End Property + + ''' + Public Property LineOne() As TextType + Get + Return Me.lineOneField + End Get + Set + Me.lineOneField = Value + End Set + End Property + + ''' + Public Property LineTwo() As TextType + Get + Return Me.lineTwoField + End Get + Set + Me.lineTwoField = Value + End Set + End Property + + ''' + Public Property CityName() As TextType + Get + Return Me.cityNameField + End Get + Set + Me.cityNameField = Value + End Set + End Property + + ''' + Public Property CountryID() As CountryIDType + Get + Return Me.countryIDField + End Get + Set + Me.countryIDField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TaxRegistrationType + + Private idField As IDType + + ''' + Public Property ID() As IDType + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeDeliveryTermsType + + Private deliveryTypeCodeField As DeliveryTermsCodeType + + ''' + Public Property DeliveryTypeCode() As DeliveryTermsCodeType + Get + Return Me.deliveryTypeCodeField + End Get + Set + Me.deliveryTypeCodeField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DeliveryTermsCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ReferencedDocumentType + + Private issueDateTimeField As String + + Private lineIDField As IDType + + Private typeCodeField As DocumentCodeType + + Private idField() As IDType + + Private referenceTypeCodeField As ReferenceCodeType + + ''' + Public Property IssueDateTime() As String + Get + Return Me.issueDateTimeField + End Get + Set + Me.issueDateTimeField = Value + End Set + End Property + + ''' + Public Property LineID() As IDType + Get + Return Me.lineIDField + End Get + Set + Me.lineIDField = Value + End Set + End Property + + ''' + Public Property TypeCode() As DocumentCodeType + Get + Return Me.typeCodeField + End Get + Set + Me.typeCodeField = Value + End Set + End Property + + ''' + + Public Property ID() As IDType() + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property + + ''' + Public Property ReferenceTypeCode() As ReferenceCodeType + Get + Return Me.referenceTypeCodeField + End Get + Set + Me.referenceTypeCodeField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DocumentCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ReferenceCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradePriceType + + Private chargeAmountField() As AmountType + + Private basisQuantityField As QuantityType + + Private appliedTradeAllowanceChargeField() As TradeAllowanceChargeType + + ''' + + Public Property ChargeAmount() As AmountType() + Get + Return Me.chargeAmountField + End Get + Set + Me.chargeAmountField = Value + End Set + End Property + + ''' + Public Property BasisQuantity() As QuantityType + Get + Return Me.basisQuantityField + End Get + Set + Me.basisQuantityField = Value + End Set + End Property + + ''' + + Public Property AppliedTradeAllowanceCharge() As TradeAllowanceChargeType() + Get + Return Me.appliedTradeAllowanceChargeField + End Get + Set + Me.appliedTradeAllowanceChargeField = Value + End Set + End Property +End Class + +''' + +Partial Public Class AmountType + + Private currencyIDField As String + + Private valueField As Decimal + + ''' + + Public Property currencyID() As String + Get + Return Me.currencyIDField + End Get + Set + Me.currencyIDField = Value + End Set + End Property + + ''' + + Public Property Value() As Decimal + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeAllowanceChargeType + + Private chargeIndicatorField As IndicatorType + + Private sequenceNumericField As NumericType + + Private calculationPercentField As PercentType + + Private basisAmountField As AmountType + + Private basisQuantityField As QuantityType + + Private actualAmountField() As AmountType + + Private reasonCodeField As AllowanceChargeReasonCodeType + + Private reasonField As TextType + + Private categoryTradeTaxField() As TradeTaxType + + ''' + Public Property ChargeIndicator() As IndicatorType + Get + Return Me.chargeIndicatorField + End Get + Set + Me.chargeIndicatorField = Value + End Set + End Property + + ''' + Public Property SequenceNumeric() As NumericType + Get + Return Me.sequenceNumericField + End Get + Set + Me.sequenceNumericField = Value + End Set + End Property + + ''' + Public Property CalculationPercent() As PercentType + Get + Return Me.calculationPercentField + End Get + Set + Me.calculationPercentField = Value + End Set + End Property + + ''' + Public Property BasisAmount() As AmountType + Get + Return Me.basisAmountField + End Get + Set + Me.basisAmountField = Value + End Set + End Property + + ''' + Public Property BasisQuantity() As QuantityType + Get + Return Me.basisQuantityField + End Get + Set + Me.basisQuantityField = Value + End Set + End Property + + ''' + + Public Property ActualAmount() As AmountType() + Get + Return Me.actualAmountField + End Get + Set + Me.actualAmountField = Value + End Set + End Property + + ''' + Public Property ReasonCode() As AllowanceChargeReasonCodeType + Get + Return Me.reasonCodeField + End Get + Set + Me.reasonCodeField = Value + End Set + End Property + + ''' + Public Property Reason() As TextType + Get + Return Me.reasonField + End Get + Set + Me.reasonField = Value + End Set + End Property + + ''' + + Public Property CategoryTradeTax() As TradeTaxType() + Get + Return Me.categoryTradeTaxField + End Get + Set + Me.categoryTradeTaxField = Value + End Set + End Property +End Class + +''' + +Partial Public Class NumericType + + Private valueField As Decimal + + ''' + + Public Property Value() As Decimal + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class PercentType + + Private valueField As Decimal + + ''' + + Public Property Value() As Decimal + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class AllowanceChargeReasonCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeTaxType + + Private calculatedAmountField() As AmountType + + Private typeCodeField As TaxTypeCodeType + + Private exemptionReasonField As TextType + + Private basisAmountField() As AmountType + + Private lineTotalBasisAmountField() As AmountType + + Private allowanceChargeBasisAmountField() As AmountType + + Private categoryCodeField As TaxCategoryCodeType + + Private applicablePercentField As PercentType + + ''' + + Public Property CalculatedAmount() As AmountType() + Get + Return Me.calculatedAmountField + End Get + Set + Me.calculatedAmountField = Value + End Set + End Property + + ''' + Public Property TypeCode() As TaxTypeCodeType + Get + Return Me.typeCodeField + End Get + Set + Me.typeCodeField = Value + End Set + End Property + + ''' + Public Property ExemptionReason() As TextType + Get + Return Me.exemptionReasonField + End Get + Set + Me.exemptionReasonField = Value + End Set + End Property + + ''' + + Public Property BasisAmount() As AmountType() + Get + Return Me.basisAmountField + End Get + Set + Me.basisAmountField = Value + End Set + End Property + + ''' + + Public Property LineTotalBasisAmount() As AmountType() + Get + Return Me.lineTotalBasisAmountField + End Get + Set + Me.lineTotalBasisAmountField = Value + End Set + End Property + + ''' + + Public Property AllowanceChargeBasisAmount() As AmountType() + Get + Return Me.allowanceChargeBasisAmountField + End Get + Set + Me.allowanceChargeBasisAmountField = Value + End Set + End Property + + ''' + Public Property CategoryCode() As TaxCategoryCodeType + Get + Return Me.categoryCodeField + End Get + Set + Me.categoryCodeField = Value + End Set + End Property + + ''' + Public Property ApplicablePercent() As PercentType + Get + Return Me.applicablePercentField + End Get + Set + Me.applicablePercentField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TaxTypeCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TaxCategoryCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class SupplyChainTradeDeliveryType + + Private billedQuantityField As QuantityType + + Private chargeFreeQuantityField As QuantityType + + Private packageQuantityField As QuantityType + + Private relatedSupplyChainConsignmentField() As LogisticsTransportMovementType + + Private shipToTradePartyField As TradePartyType + + Private ultimateShipToTradePartyField As TradePartyType + + Private shipFromTradePartyField As TradePartyType + + Private actualDeliverySupplyChainEventField() As DateTimeType + + Private despatchAdviceReferencedDocumentField As ReferencedDocumentType + + Private receivingAdviceReferencedDocumentField() As ReferencedDocumentType + + Private deliveryNoteReferencedDocumentField As ReferencedDocumentType + + ''' + Public Property BilledQuantity() As QuantityType + Get + Return Me.billedQuantityField + End Get + Set + Me.billedQuantityField = Value + End Set + End Property + + ''' + Public Property ChargeFreeQuantity() As QuantityType + Get + Return Me.chargeFreeQuantityField + End Get + Set + Me.chargeFreeQuantityField = Value + End Set + End Property + + ''' + Public Property PackageQuantity() As QuantityType + Get + Return Me.packageQuantityField + End Get + Set + Me.packageQuantityField = Value + End Set + End Property + + ''' + + Public Property RelatedSupplyChainConsignment() As LogisticsTransportMovementType() + Get + Return Me.relatedSupplyChainConsignmentField + End Get + Set + Me.relatedSupplyChainConsignmentField = Value + End Set + End Property + + ''' + Public Property ShipToTradeParty() As TradePartyType + Get + Return Me.shipToTradePartyField + End Get + Set + Me.shipToTradePartyField = Value + End Set + End Property + + ''' + Public Property UltimateShipToTradeParty() As TradePartyType + Get + Return Me.ultimateShipToTradePartyField + End Get + Set + Me.ultimateShipToTradePartyField = Value + End Set + End Property + + ''' + Public Property ShipFromTradeParty() As TradePartyType + Get + Return Me.shipFromTradePartyField + End Get + Set + Me.shipFromTradePartyField = Value + End Set + End Property + + ''' + + Public Property ActualDeliverySupplyChainEvent() As DateTimeType() + Get + Return Me.actualDeliverySupplyChainEventField + End Get + Set + Me.actualDeliverySupplyChainEventField = Value + End Set + End Property + + ''' + Public Property DespatchAdviceReferencedDocument() As ReferencedDocumentType + Get + Return Me.despatchAdviceReferencedDocumentField + End Get + Set + Me.despatchAdviceReferencedDocumentField = Value + End Set + End Property + + ''' + + Public Property ReceivingAdviceReferencedDocument() As ReferencedDocumentType() + Get + Return Me.receivingAdviceReferencedDocumentField + End Get + Set + Me.receivingAdviceReferencedDocumentField = Value + End Set + End Property + + ''' + Public Property DeliveryNoteReferencedDocument() As ReferencedDocumentType + Get + Return Me.deliveryNoteReferencedDocumentField + End Get + Set + Me.deliveryNoteReferencedDocumentField = Value + End Set + End Property +End Class + +''' + +Partial Public Class LogisticsTransportMovementType + + Private modeCodeField As CodeType + + Private idField As IDType + + ''' + Public Property ModeCode() As CodeType + Get + Return Me.modeCodeField + End Get + Set + Me.modeCodeField = Value + End Set + End Property + + ''' + Public Property ID() As IDType + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DateTimeType + + Private itemField As DateTimeTypeDateTimeString + + ''' + + Public Property Item() As DateTimeTypeDateTimeString + Get + Return Me.itemField + End Get + Set + Me.itemField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DateTimeTypeDateTimeString + + Private formatField As String + + Private valueField As String + + ''' + + Public Property format() As String + Get + Return Me.formatField + End Get + Set + Me.formatField = Value + End Set + End Property + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class SupplyChainTradeSettlementType + + Private paymentReferenceField() As TextType + + Private invoiceCurrencyCodeField As CodeType + + Private invoiceeTradePartyField As TradePartyType + + Private payeeTradePartyField() As TradePartyType + + Private specifiedTradeSettlementPaymentMeansField() As TradeSettlementPaymentMeansType + + Private applicableTradeTaxField() As TradeTaxType + + Private billingSpecifiedPeriodField() As SpecifiedPeriodType + + Private specifiedTradeAllowanceChargeField() As TradeAllowanceChargeType + + Private specifiedLogisticsServiceChargeField() As LogisticsServiceChargeType + + Private specifiedTradePaymentTermsField() As TradePaymentTermsType + + Private specifiedTradeAccountingAccountField() As TradeAccountingAccountType + + Private specifiedTradeSettlementMonetarySummationField As TradeSettlementMonetarySummationType + + Private receivableSpecifiedTradeAccountingAccountField() As TradeAccountingAccountType + + ''' + + Public Property PaymentReference() As TextType() + Get + Return Me.paymentReferenceField + End Get + Set + Me.paymentReferenceField = Value + End Set + End Property + + ''' + Public Property InvoiceCurrencyCode() As CodeType + Get + Return Me.invoiceCurrencyCodeField + End Get + Set + Me.invoiceCurrencyCodeField = Value + End Set + End Property + + ''' + Public Property InvoiceeTradeParty() As TradePartyType + Get + Return Me.invoiceeTradePartyField + End Get + Set + Me.invoiceeTradePartyField = Value + End Set + End Property + + ''' + + Public Property PayeeTradeParty() As TradePartyType() + Get + Return Me.payeeTradePartyField + End Get + Set + Me.payeeTradePartyField = Value + End Set + End Property + + ''' + + Public Property SpecifiedTradeSettlementPaymentMeans() As TradeSettlementPaymentMeansType() + Get + Return Me.specifiedTradeSettlementPaymentMeansField + End Get + Set + Me.specifiedTradeSettlementPaymentMeansField = Value + End Set + End Property + + ''' + + Public Property ApplicableTradeTax() As TradeTaxType() + Get + Return Me.applicableTradeTaxField + End Get + Set + Me.applicableTradeTaxField = Value + End Set + End Property + + ''' + + Public Property BillingSpecifiedPeriod() As SpecifiedPeriodType() + Get + Return Me.billingSpecifiedPeriodField + End Get + Set + Me.billingSpecifiedPeriodField = Value + End Set + End Property + + ''' + + Public Property SpecifiedTradeAllowanceCharge() As TradeAllowanceChargeType() + Get + Return Me.specifiedTradeAllowanceChargeField + End Get + Set + Me.specifiedTradeAllowanceChargeField = Value + End Set + End Property + + ''' + + Public Property SpecifiedLogisticsServiceCharge() As LogisticsServiceChargeType() + Get + Return Me.specifiedLogisticsServiceChargeField + End Get + Set + Me.specifiedLogisticsServiceChargeField = Value + End Set + End Property + + ''' + + Public Property SpecifiedTradePaymentTerms() As TradePaymentTermsType() + Get + Return Me.specifiedTradePaymentTermsField + End Get + Set + Me.specifiedTradePaymentTermsField = Value + End Set + End Property + + ''' + + Public Property SpecifiedTradeAccountingAccount() As TradeAccountingAccountType() + Get + Return Me.specifiedTradeAccountingAccountField + End Get + Set + Me.specifiedTradeAccountingAccountField = Value + End Set + End Property + + ''' + Public Property SpecifiedTradeSettlementMonetarySummation() As TradeSettlementMonetarySummationType + Get + Return Me.specifiedTradeSettlementMonetarySummationField + End Get + Set + Me.specifiedTradeSettlementMonetarySummationField = Value + End Set + End Property + + ''' + + Public Property ReceivableSpecifiedTradeAccountingAccount() As TradeAccountingAccountType() + Get + Return Me.receivableSpecifiedTradeAccountingAccountField + End Get + Set + Me.receivableSpecifiedTradeAccountingAccountField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeSettlementPaymentMeansType + + Private typeCodeField As PaymentMeansCodeType + + Private informationField() As TextType + + Private idField() As IDType + + Private payerPartyDebtorFinancialAccountField As DebtorFinancialAccountType + + Private payeePartyCreditorFinancialAccountField As CreditorFinancialAccountType + + Private payerSpecifiedDebtorFinancialInstitutionField As DebtorFinancialInstitutionType + + Private payeeSpecifiedCreditorFinancialInstitutionField As CreditorFinancialInstitutionType + + ''' + Public Property TypeCode() As PaymentMeansCodeType + Get + Return Me.typeCodeField + End Get + Set + Me.typeCodeField = Value + End Set + End Property + + ''' + + Public Property Information() As TextType() + Get + Return Me.informationField + End Get + Set + Me.informationField = Value + End Set + End Property + + ''' + + Public Property ID() As IDType() + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property + + ''' + Public Property PayerPartyDebtorFinancialAccount() As DebtorFinancialAccountType + Get + Return Me.payerPartyDebtorFinancialAccountField + End Get + Set + Me.payerPartyDebtorFinancialAccountField = Value + End Set + End Property + + ''' + Public Property PayeePartyCreditorFinancialAccount() As CreditorFinancialAccountType + Get + Return Me.payeePartyCreditorFinancialAccountField + End Get + Set + Me.payeePartyCreditorFinancialAccountField = Value + End Set + End Property + + ''' + Public Property PayerSpecifiedDebtorFinancialInstitution() As DebtorFinancialInstitutionType + Get + Return Me.payerSpecifiedDebtorFinancialInstitutionField + End Get + Set + Me.payerSpecifiedDebtorFinancialInstitutionField = Value + End Set + End Property + + ''' + Public Property PayeeSpecifiedCreditorFinancialInstitution() As CreditorFinancialInstitutionType + Get + Return Me.payeeSpecifiedCreditorFinancialInstitutionField + End Get + Set + Me.payeeSpecifiedCreditorFinancialInstitutionField = Value + End Set + End Property +End Class + +''' + +Partial Public Class PaymentMeansCodeType + + Private valueField As String + + ''' + + Public Property Value() As String + Get + Return Me.valueField + End Get + Set + Me.valueField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DebtorFinancialAccountType + + Private iBANIDField As IDType + + Private proprietaryIDField As IDType + + ''' + Public Property IBANID() As IDType + Get + Return Me.iBANIDField + End Get + Set + Me.iBANIDField = Value + End Set + End Property + + ''' + Public Property ProprietaryID() As IDType + Get + Return Me.proprietaryIDField + End Get + Set + Me.proprietaryIDField = Value + End Set + End Property +End Class + +''' + +Partial Public Class CreditorFinancialAccountType + + Private iBANIDField As IDType + + Private accountNameField As TextType + + Private proprietaryIDField As IDType + + ''' + Public Property IBANID() As IDType + Get + Return Me.iBANIDField + End Get + Set + Me.iBANIDField = Value + End Set + End Property + + ''' + Public Property AccountName() As TextType + Get + Return Me.accountNameField + End Get + Set + Me.accountNameField = Value + End Set + End Property + + ''' + Public Property ProprietaryID() As IDType + Get + Return Me.proprietaryIDField + End Get + Set + Me.proprietaryIDField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DebtorFinancialInstitutionType + + Private bICIDField As IDType + + Private germanBankleitzahlIDField As IDType + + Private nameField As TextType + + ''' + Public Property BICID() As IDType + Get + Return Me.bICIDField + End Get + Set + Me.bICIDField = Value + End Set + End Property + + ''' + Public Property GermanBankleitzahlID() As IDType + Get + Return Me.germanBankleitzahlIDField + End Get + Set + Me.germanBankleitzahlIDField = Value + End Set + End Property + + ''' + Public Property Name() As TextType + Get + Return Me.nameField + End Get + Set + Me.nameField = Value + End Set + End Property +End Class + +''' + +Partial Public Class CreditorFinancialInstitutionType + + Private bICIDField As IDType + + Private germanBankleitzahlIDField As IDType + + Private nameField As TextType + + ''' + Public Property BICID() As IDType + Get + Return Me.bICIDField + End Get + Set + Me.bICIDField = Value + End Set + End Property + + ''' + Public Property GermanBankleitzahlID() As IDType + Get + Return Me.germanBankleitzahlIDField + End Get + Set + Me.germanBankleitzahlIDField = Value + End Set + End Property + + ''' + Public Property Name() As TextType + Get + Return Me.nameField + End Get + Set + Me.nameField = Value + End Set + End Property +End Class + +''' + +Partial Public Class SpecifiedPeriodType + + Private startDateTimeField As DateTimeType + + Private endDateTimeField As DateTimeType + + Private completeDateTimeField As DateTimeType + + ''' + Public Property StartDateTime() As DateTimeType + Get + Return Me.startDateTimeField + End Get + Set + Me.startDateTimeField = Value + End Set + End Property + + ''' + Public Property EndDateTime() As DateTimeType + Get + Return Me.endDateTimeField + End Get + Set + Me.endDateTimeField = Value + End Set + End Property + + ''' + Public Property CompleteDateTime() As DateTimeType + Get + Return Me.completeDateTimeField + End Get + Set + Me.completeDateTimeField = Value + End Set + End Property +End Class + +''' + +Partial Public Class LogisticsServiceChargeType + + Private descriptionField() As TextType + + Private appliedAmountField() As AmountType + + Private appliedTradeTaxField() As TradeTaxType + + ''' + + Public Property Description() As TextType() + Get + Return Me.descriptionField + End Get + Set + Me.descriptionField = Value + End Set + End Property + + ''' + + Public Property AppliedAmount() As AmountType() + Get + Return Me.appliedAmountField + End Get + Set + Me.appliedAmountField = Value + End Set + End Property + + ''' + + Public Property AppliedTradeTax() As TradeTaxType() + Get + Return Me.appliedTradeTaxField + End Get + Set + Me.appliedTradeTaxField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradePaymentTermsType + + Private descriptionField() As TextType + + Private dueDateDateTimeField As DateTimeType + + Private partialPaymentAmountField() As AmountType + + Private applicableTradePaymentPenaltyTermsField() As TradePaymentPenaltyTermsType + + Private applicableTradePaymentDiscountTermsField() As TradePaymentDiscountTermsType + + ''' + + Public Property Description() As TextType() + Get + Return Me.descriptionField + End Get + Set + Me.descriptionField = Value + End Set + End Property + + ''' + Public Property DueDateDateTime() As DateTimeType + Get + Return Me.dueDateDateTimeField + End Get + Set + Me.dueDateDateTimeField = Value + End Set + End Property + + ''' + + Public Property PartialPaymentAmount() As AmountType() + Get + Return Me.partialPaymentAmountField + End Get + Set + Me.partialPaymentAmountField = Value + End Set + End Property + + ''' + + Public Property ApplicableTradePaymentPenaltyTerms() As TradePaymentPenaltyTermsType() + Get + Return Me.applicableTradePaymentPenaltyTermsField + End Get + Set + Me.applicableTradePaymentPenaltyTermsField = Value + End Set + End Property + + ''' + + Public Property ApplicableTradePaymentDiscountTerms() As TradePaymentDiscountTermsType() + Get + Return Me.applicableTradePaymentDiscountTermsField + End Get + Set + Me.applicableTradePaymentDiscountTermsField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradePaymentPenaltyTermsType + + Private basisDateTimeField As DateTimeType + + Private basisPeriodMeasureField As MeasureType + + Private basisAmountField() As AmountType + + Private calculationPercentField As PercentType + + Private actualPenaltyAmountField() As AmountType + + ''' + Public Property BasisDateTime() As DateTimeType + Get + Return Me.basisDateTimeField + End Get + Set + Me.basisDateTimeField = Value + End Set + End Property + + ''' + Public Property BasisPeriodMeasure() As MeasureType + Get + Return Me.basisPeriodMeasureField + End Get + Set + Me.basisPeriodMeasureField = Value + End Set + End Property + + ''' + + Public Property BasisAmount() As AmountType() + Get + Return Me.basisAmountField + End Get + Set + Me.basisAmountField = Value + End Set + End Property + + ''' + Public Property CalculationPercent() As PercentType + Get + Return Me.calculationPercentField + End Get + Set + Me.calculationPercentField = Value + End Set + End Property + + ''' + + Public Property ActualPenaltyAmount() As AmountType() + Get + Return Me.actualPenaltyAmountField + End Get + Set + Me.actualPenaltyAmountField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradePaymentDiscountTermsType + + Private basisDateTimeField As DateTimeType + + Private basisPeriodMeasureField As MeasureType + + Private basisAmountField() As AmountType + + Private calculationPercentField As PercentType + + Private actualDiscountAmountField() As AmountType + + ''' + Public Property BasisDateTime() As DateTimeType + Get + Return Me.basisDateTimeField + End Get + Set + Me.basisDateTimeField = Value + End Set + End Property + + ''' + Public Property BasisPeriodMeasure() As MeasureType + Get + Return Me.basisPeriodMeasureField + End Get + Set + Me.basisPeriodMeasureField = Value + End Set + End Property + + ''' + + Public Property BasisAmount() As AmountType() + Get + Return Me.basisAmountField + End Get + Set + Me.basisAmountField = Value + End Set + End Property + + ''' + Public Property CalculationPercent() As PercentType + Get + Return Me.calculationPercentField + End Get + Set + Me.calculationPercentField = Value + End Set + End Property + + ''' + + Public Property ActualDiscountAmount() As AmountType() + Get + Return Me.actualDiscountAmountField + End Get + Set + Me.actualDiscountAmountField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeAccountingAccountType + + Private idField As IDType + + ''' + Public Property ID() As IDType + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property +End Class + +''' + +Partial Public Class TradeSettlementMonetarySummationType + + Private lineTotalAmountField() As AmountType + + Private chargeTotalAmountField() As AmountType + + Private allowanceTotalAmountField() As AmountType + + Private taxBasisTotalAmountField() As AmountType + + Private taxTotalAmountField() As AmountType + + Private grandTotalAmountField() As AmountType + + Private totalPrepaidAmountField() As AmountType + + Private totalAllowanceChargeAmountField() As AmountType + + Private duePayableAmountField() As AmountType + + ''' + + Public Property LineTotalAmount() As AmountType() + Get + Return Me.lineTotalAmountField + End Get + Set + Me.lineTotalAmountField = Value + End Set + End Property + + ''' + + Public Property ChargeTotalAmount() As AmountType() + Get + Return Me.chargeTotalAmountField + End Get + Set + Me.chargeTotalAmountField = Value + End Set + End Property + + ''' + + Public Property AllowanceTotalAmount() As AmountType() + Get + Return Me.allowanceTotalAmountField + End Get + Set + Me.allowanceTotalAmountField = Value + End Set + End Property + + ''' + + Public Property TaxBasisTotalAmount() As AmountType() + Get + Return Me.taxBasisTotalAmountField + End Get + Set + Me.taxBasisTotalAmountField = Value + End Set + End Property + + ''' + + Public Property TaxTotalAmount() As AmountType() + Get + Return Me.taxTotalAmountField + End Get + Set + Me.taxTotalAmountField = Value + End Set + End Property + + ''' + + Public Property GrandTotalAmount() As AmountType() + Get + Return Me.grandTotalAmountField + End Get + Set + Me.grandTotalAmountField = Value + End Set + End Property + + ''' + + Public Property TotalPrepaidAmount() As AmountType() + Get + Return Me.totalPrepaidAmountField + End Get + Set + Me.totalPrepaidAmountField = Value + End Set + End Property + + ''' + + Public Property TotalAllowanceChargeAmount() As AmountType() + Get + Return Me.totalAllowanceChargeAmountField + End Get + Set + Me.totalAllowanceChargeAmountField = Value + End Set + End Property + + ''' + + Public Property DuePayableAmount() As AmountType() + Get + Return Me.duePayableAmountField + End Get + Set + Me.duePayableAmountField = Value + End Set + End Property +End Class + +''' + +Partial Public Class SupplyChainTradeTransactionType + + Private applicableSupplyChainTradeAgreementField() As SupplyChainTradeAgreementType + + Private applicableSupplyChainTradeDeliveryField As SupplyChainTradeDeliveryType + + Private applicableSupplyChainTradeSettlementField As SupplyChainTradeSettlementType + + Private includedSupplyChainTradeLineItemField() As SupplyChainTradeLineItemType + + ''' + + Public Property ApplicableSupplyChainTradeAgreement() As SupplyChainTradeAgreementType() + Get + Return Me.applicableSupplyChainTradeAgreementField + End Get + Set + Me.applicableSupplyChainTradeAgreementField = Value + End Set + End Property + + ''' + Public Property ApplicableSupplyChainTradeDelivery() As SupplyChainTradeDeliveryType + Get + Return Me.applicableSupplyChainTradeDeliveryField + End Get + Set + Me.applicableSupplyChainTradeDeliveryField = Value + End Set + End Property + + ''' + Public Property ApplicableSupplyChainTradeSettlement() As SupplyChainTradeSettlementType + Get + Return Me.applicableSupplyChainTradeSettlementField + End Get + Set + Me.applicableSupplyChainTradeSettlementField = Value + End Set + End Property + + ''' + + Public Property IncludedSupplyChainTradeLineItem() As SupplyChainTradeLineItemType() + Get + Return Me.includedSupplyChainTradeLineItemField + End Get + Set + Me.includedSupplyChainTradeLineItemField = Value + End Set + End Property +End Class + +''' + +Partial Public Class ExchangedDocumentType + + Private idField As IDType + + Private nameField() As TextType + + Private typeCodeField As DocumentCodeType + + Private issueDateTimeField As DateTimeType + + Private copyIndicatorField As IndicatorType + + Private languageIDField() As IDType + + Private includedNoteField() As NoteType + + Private effectiveSpecifiedPeriodField As SpecifiedPeriodType + + ''' + Public Property ID() As IDType + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property + + ''' + + Public Property Name() As TextType() + Get + Return Me.nameField + End Get + Set + Me.nameField = Value + End Set + End Property + + ''' + Public Property TypeCode() As DocumentCodeType + Get + Return Me.typeCodeField + End Get + Set + Me.typeCodeField = Value + End Set + End Property + + ''' + Public Property IssueDateTime() As DateTimeType + Get + Return Me.issueDateTimeField + End Get + Set + Me.issueDateTimeField = Value + End Set + End Property + + ''' + Public Property CopyIndicator() As IndicatorType + Get + Return Me.copyIndicatorField + End Get + Set + Me.copyIndicatorField = Value + End Set + End Property + + ''' + + Public Property LanguageID() As IDType() + Get + Return Me.languageIDField + End Get + Set + Me.languageIDField = Value + End Set + End Property + + ''' + + Public Property IncludedNote() As NoteType() + Get + Return Me.includedNoteField + End Get + Set + Me.includedNoteField = Value + End Set + End Property + + ''' + Public Property EffectiveSpecifiedPeriod() As SpecifiedPeriodType + Get + Return Me.effectiveSpecifiedPeriodField + End Get + Set + Me.effectiveSpecifiedPeriodField = Value + End Set + End Property +End Class + +''' + +Partial Public Class DocumentContextParameterType + + Private idField As IDType + + ''' + Public Property ID() As IDType + Get + Return Me.idField + End Get + Set + Me.idField = Value + End Set + End Property +End Class diff --git a/Modules.Interfaces/ZUGFeRDInterface.vb b/Modules.Interfaces/ZUGFeRDInterface.vb index ee282ad0..8dd60e8c 100644 --- a/Modules.Interfaces/ZUGFeRDInterface.vb +++ b/Modules.Interfaces/ZUGFeRDInterface.vb @@ -1,4 +1,7 @@ Imports System.Xml +Imports System.Xml.Serialization +Imports System.Xml.XPath +Imports System.Xml.Xsl Imports DigitalData.Modules.Interfaces.Exceptions Imports DigitalData.Modules.Logging @@ -25,7 +28,7 @@ Public Class ZUGFeRDInterface ''' ''' ''' - Public Function ExtractXMLFile(Path As String) As XmlDocument + Public Function ExtractXMLFile(Path As String) As XPathDocument Dim oException As New Exception Dim oXmlDocument = ExtractZugferd(Path) @@ -36,10 +39,10 @@ Public Class ZUGFeRDInterface Return oXmlDocument End Function - Public Function ExtractZugferd(Path As String) As XmlDocument + Public Function ExtractZugferd(Path As String) As XPathDocument Dim oProcessOutput, oProcessError, oFileContent As String - Dim oXmlDocument As New XmlDocument() - Dim oTempFile = IO.Path.GetTempFileName() + Dim oXmlDocument As XPathDocument + Dim oTempFile = System.IO.Path.GetTempFileName() Dim oProcessStartInfo As New ProcessStartInfo() With { .FileName = ZUGFERD_CONVERTER_EXE, @@ -68,14 +71,8 @@ Public Class ZUGFeRDInterface End If Try - oFileContent = IO.File.ReadAllText(oTempFile) - Catch ex As Exception - _logger.Error(ex) - Return Nothing - End Try + oXmlDocument = New XPath.XPathDocument(oTempFile) - Try - oXmlDocument.LoadXml(oFileContent) Catch ex As Exception _logger.Error(ex) Return Nothing @@ -84,31 +81,11 @@ Public Class ZUGFeRDInterface Return oXmlDocument End Function - Private Function CheckZugferd(Path As String) As Boolean - Dim oProcessOutput, oProcessError As String - Dim oProcessStartInfo As New ProcessStartInfo() With { - .FileName = ZUGFERD_CONVERTER_EXE, - .RedirectStandardError = True, - .RedirectStandardOutput = True, - .UseShellExecute = False, - .Arguments = $"-i {Path}" - } - Dim oProcess As New Process() With { - .StartInfo = oProcessStartInfo - } + Public Function ParseXMLDocument(doc As XPathDocument) + Dim nav As XPathNavigator = doc.CreateNavigator() + Dim reader = nav.ReadSubtree() - Try - oProcess.Start() - oProcessOutput = oProcess.StandardOutput.ReadToEnd() - oProcessError = oProcess.StandardError.ReadToEnd() - oProcess.WaitForExit() - Catch ex As Exception - _logger.Error(ex) - Return False - End Try - - - - Return True + Dim serializer As New XmlSerializer(GetType(CrossIndustryDocumentType)) + Dim cross As CrossIndustryDocumentType = serializer.Deserialize(reader) End Function End Class diff --git a/Modules.Interfaces/packages.config b/Modules.Interfaces/packages.config index f89fa324..dba90a58 100644 --- a/Modules.Interfaces/packages.config +++ b/Modules.Interfaces/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file diff --git a/ZUGFeRDTest/Form1.vb b/ZUGFeRDTest/Form1.vb index effe1aff..bb004c6a 100644 --- a/ZUGFeRDTest/Form1.vb +++ b/ZUGFeRDTest/Form1.vb @@ -14,7 +14,9 @@ Public Class Form1 Dim zugferd As ZUGFeRDInterface = New ZUGFeRDInterface(logConfig) If oFDialogResult = DialogResult.OK Then - Dim xml As XmlDocument = zugferd.ExtractXMLFile(OpenFileDialog1.FileName) + Dim xml As XPath.XPathDocument = zugferd.ExtractXMLFile(OpenFileDialog1.FileName) + + zugferd.ParseXMLDocument(xml) MsgBox("YAY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") End If