First Working Version with New parser
This commit is contained in:
8
ImporterShared/Schemas/BaseSchema.vb
Normal file
8
ImporterShared/Schemas/BaseSchema.vb
Normal file
@@ -0,0 +1,8 @@
|
||||
Namespace Schemas
|
||||
Public Class BaseSchema
|
||||
Public Property Template As String
|
||||
Public Property TemplateType As Integer
|
||||
Public Property [Option] As Integer
|
||||
Public Property PrintVoucher As Integer
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -1,6 +0,0 @@
|
||||
Namespace Schemas
|
||||
Public Interface IMesoWebservice
|
||||
Property Items As Object()
|
||||
End Interface
|
||||
|
||||
End Namespace
|
||||
@@ -1,28 +1,28 @@
|
||||
Namespace Schemas.Orders
|
||||
Public Class Helpers
|
||||
Public Shared Function GetOrderHead(Of T)(pData As IMesoWebservice) As T
|
||||
Dim oHead As T = pData.Items.
|
||||
Where(Function(i) TypeOf i Is T).
|
||||
FirstOrDefault()
|
||||
Return oHead
|
||||
End Function
|
||||
'Public Class Helpers
|
||||
' Public Shared Function GetOrderHead(Of T)(pData As IMesoWebservice) As T
|
||||
' Dim oHead As T = pData.Items.
|
||||
' Where(Function(i) TypeOf i Is T).
|
||||
' FirstOrDefault()
|
||||
' Return oHead
|
||||
' End Function
|
||||
|
||||
Public Shared Sub SetOrderHead(Of T)(pData As IMesoWebservice, pUpdateFunction As Action(Of T))
|
||||
Dim oHead As T = pData.Items.
|
||||
Where(Function(i) TypeOf i Is T).
|
||||
SetValue(Sub(pObject As T)
|
||||
pUpdateFunction(pObject)
|
||||
End Sub).
|
||||
FirstOrDefault()
|
||||
' Public Shared Sub SetOrderHead(Of T)(pData As IMesoWebservice, pUpdateFunction As Action(Of T))
|
||||
' Dim oHead As T = pData.Items.
|
||||
' Where(Function(i) TypeOf i Is T).
|
||||
' SetValue(Sub(pObject As T)
|
||||
' pUpdateFunction(pObject)
|
||||
' End Sub).
|
||||
' FirstOrDefault()
|
||||
|
||||
End Sub
|
||||
' End Sub
|
||||
|
||||
Public Shared Function GetOrderPositions(Of T)(pData As IMesoWebservice) As List(Of T)
|
||||
Dim oPositions As List(Of T) = pData.Items.
|
||||
Where(Function(i) TypeOf i Is T).
|
||||
Select(Of T)(Function(i) i).
|
||||
ToList()
|
||||
Return oPositions
|
||||
End Function
|
||||
End Class
|
||||
' Public Shared Function GetOrderPositions(Of T)(pData As IMesoWebservice) As List(Of T)
|
||||
' Dim oPositions As List(Of T) = pData.Items.
|
||||
' Where(Function(i) TypeOf i Is T).
|
||||
' Select(Of T)(Function(i) i).
|
||||
' ToList()
|
||||
' Return oPositions
|
||||
' End Function
|
||||
'End Class
|
||||
End Namespace
|
||||
|
||||
@@ -27,8 +27,6 @@ Namespace Schemas.Orders.Input
|
||||
System.Xml.Serialization.XmlRootAttribute([Namespace]:="", IsNullable:=False)>
|
||||
Partial Public Class MESOWebService
|
||||
|
||||
Implements Schemas.IMesoWebservice
|
||||
|
||||
Private itemsField() As Object
|
||||
|
||||
Private templateTypeField As String
|
||||
@@ -50,7 +48,7 @@ Namespace Schemas.Orders.Input
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute("EXIM-VRG_ordersT025", GetType(MESOWebServiceEXIMVRG_ordersT025), Form:=System.Xml.Schema.XmlSchemaForm.Unqualified),
|
||||
System.Xml.Serialization.XmlElementAttribute("EXIM-VRG_ordersT026", GetType(MESOWebServiceEXIMVRG_ordersT026), Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)>
|
||||
Public Property Items() As Object() Implements Schemas.IMesoWebservice.Items
|
||||
Public Property Items() As Object()
|
||||
Get
|
||||
Return Me.itemsField
|
||||
End Get
|
||||
|
||||
55
ImporterShared/Schemas/Orders/OrderSchema.vb
Normal file
55
ImporterShared/Schemas/Orders/OrderSchema.vb
Normal file
@@ -0,0 +1,55 @@
|
||||
Imports System.ComponentModel
|
||||
|
||||
|
||||
Namespace Schemas
|
||||
|
||||
''' <summary>
|
||||
''' XML Schema to import the Data-Files
|
||||
''' </summary>
|
||||
Public Class OrderSchema
|
||||
Inherits BaseSchema
|
||||
|
||||
<Description("EXIM-VRG_ordersT025")>
|
||||
Public Property Head As New OrderHead
|
||||
|
||||
<Description("EXIM-VRG_ordersT026")>
|
||||
Public Property Positions As New List(Of OrderPosition)
|
||||
|
||||
|
||||
Public Class OrderHead
|
||||
<Description("BELEGKEY")>
|
||||
Public Property DocumentKey As String
|
||||
<Description("Fakt_Kontonummer")>
|
||||
Public Property AccountNumber As String
|
||||
<Description("Laufnummer")>
|
||||
Public Property RunningNumber As String
|
||||
<Description("Bestellt_von")>
|
||||
Public Property OrderedBy As String
|
||||
<Description("Lief_Kontonummer")>
|
||||
Public Property AccountNumber2 As String
|
||||
<Description("Belegart")>
|
||||
Public Property DocumentType As Integer
|
||||
<Description("Datum_Auftrag-Bestellung")>
|
||||
Public Property OrderDate As Date
|
||||
<Description("Auftrags-Bestellnummer")>
|
||||
Public Property OrderNumber As String
|
||||
<Description("Infotext")>
|
||||
Public Property InfoText As String
|
||||
End Class
|
||||
|
||||
|
||||
Public Class OrderPosition
|
||||
<Description("BELEGKEY")>
|
||||
Public Property DocumentKey As String
|
||||
<Description("Zeilennummer")>
|
||||
Public Property LineNumber As String
|
||||
<Description("Artikelnummer")>
|
||||
Public Property ArticleNumber As String
|
||||
<Description("Bezeichnung")>
|
||||
Public Property ArticleDescription As String
|
||||
<Description("Lieferantenartikelnummer")>
|
||||
Public Property VendorNumber As String
|
||||
End Class
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -1,712 +0,0 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 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.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict Off
|
||||
Option Explicit On
|
||||
|
||||
Imports System.Xml.Serialization
|
||||
|
||||
'
|
||||
'This source code was auto-generated by xsd, Version=4.8.3928.0.
|
||||
'
|
||||
Namespace Schemas.Orders.Output
|
||||
|
||||
'''<remarks/>
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0"), _
|
||||
System.SerializableAttribute(), _
|
||||
System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.ComponentModel.DesignerCategoryAttribute("code"), _
|
||||
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true), _
|
||||
System.Xml.Serialization.XmlRootAttribute([Namespace]:="", IsNullable:=false)> _
|
||||
Partial Public Class MESOWebService
|
||||
|
||||
Private itemsField() As Object
|
||||
|
||||
Private templateTypeField As String
|
||||
|
||||
Private templateField As String
|
||||
|
||||
Private optionField As String
|
||||
|
||||
Private amountField As String
|
||||
|
||||
Private extEntryField As String
|
||||
|
||||
Private printVoucherField As String
|
||||
|
||||
Private extInsertField As String
|
||||
|
||||
Private changeLotSizeField As String
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute("EXIM-VRG_ordersT025", GetType(MESOWebServiceEXIMVRG_ordersT025), Form:=System.Xml.Schema.XmlSchemaForm.Unqualified), _
|
||||
System.Xml.Serialization.XmlElementAttribute("EXIM-VRG_ordersT026", GetType(MESOWebServiceEXIMVRG_ordersT026), Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Items() As Object()
|
||||
Get
|
||||
Return Me.itemsField
|
||||
End Get
|
||||
Set
|
||||
Me.itemsField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property TemplateType() As String
|
||||
Get
|
||||
Return Me.templateTypeField
|
||||
End Get
|
||||
Set
|
||||
Me.templateTypeField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute()> _
|
||||
Public Property Template() As String
|
||||
Get
|
||||
Return Me.templateField
|
||||
End Get
|
||||
Set
|
||||
Me.templateField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property [option]() As String
|
||||
Get
|
||||
Return Me.optionField
|
||||
End Get
|
||||
Set
|
||||
Me.optionField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property amount() As String
|
||||
Get
|
||||
Return Me.amountField
|
||||
End Get
|
||||
Set
|
||||
Me.amountField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property extEntry() As String
|
||||
Get
|
||||
Return Me.extEntryField
|
||||
End Get
|
||||
Set
|
||||
Me.extEntryField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property printVoucher() As String
|
||||
Get
|
||||
Return Me.printVoucherField
|
||||
End Get
|
||||
Set
|
||||
Me.printVoucherField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property extInsert() As String
|
||||
Get
|
||||
Return Me.extInsertField
|
||||
End Get
|
||||
Set
|
||||
Me.extInsertField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
|
||||
Public Property ChangeLotSize() As String
|
||||
Get
|
||||
Return Me.changeLotSizeField
|
||||
End Get
|
||||
Set
|
||||
Me.changeLotSizeField = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
|
||||
'''<remarks/>
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0"), _
|
||||
System.SerializableAttribute(), _
|
||||
System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.ComponentModel.DesignerCategoryAttribute("code"), _
|
||||
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true)> _
|
||||
Partial Public Class MESOWebServiceEXIMVRG_ordersT025
|
||||
|
||||
Private bELEGKEYField As String
|
||||
|
||||
Private fakt_KontonummerField As String
|
||||
|
||||
Private laufnummerField As String
|
||||
|
||||
Private fakt_NameField As String
|
||||
|
||||
Private fakt_StrasseField As String
|
||||
|
||||
Private fakt_PLZField As String
|
||||
|
||||
Private fakt_OrtField As String
|
||||
|
||||
Private fakt_AnsprechpartnerField As String
|
||||
|
||||
Private lief_KontonummerField As String
|
||||
|
||||
Private lief_NameField As String
|
||||
|
||||
Private lief_StrasseField As String
|
||||
|
||||
Private lief_PLZField As String
|
||||
|
||||
Private lief_OrtField As String
|
||||
|
||||
Private belegartField As String
|
||||
|
||||
Private datum_AuftragBestellungField As Date
|
||||
|
||||
Private datum_AuftragBestellungFieldSpecified As Boolean
|
||||
|
||||
Private auftragsBestellnummerField As String
|
||||
|
||||
Private leistungsdatumField As Date
|
||||
|
||||
Private leistungsdatumFieldSpecified As Boolean
|
||||
|
||||
Private auftragsreferenzField As String
|
||||
|
||||
Private infotextField As String
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType:="integer")> _
|
||||
Public Property BELEGKEY() As String
|
||||
Get
|
||||
Return Me.bELEGKEYField
|
||||
End Get
|
||||
Set
|
||||
Me.bELEGKEYField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Fakt_Kontonummer() As String
|
||||
Get
|
||||
Return Me.fakt_KontonummerField
|
||||
End Get
|
||||
Set
|
||||
Me.fakt_KontonummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Laufnummer() As String
|
||||
Get
|
||||
Return Me.laufnummerField
|
||||
End Get
|
||||
Set
|
||||
Me.laufnummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Fakt_Name() As String
|
||||
Get
|
||||
Return Me.fakt_NameField
|
||||
End Get
|
||||
Set
|
||||
Me.fakt_NameField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Fakt_Strasse() As String
|
||||
Get
|
||||
Return Me.fakt_StrasseField
|
||||
End Get
|
||||
Set
|
||||
Me.fakt_StrasseField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Fakt_PLZ() As String
|
||||
Get
|
||||
Return Me.fakt_PLZField
|
||||
End Get
|
||||
Set
|
||||
Me.fakt_PLZField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Fakt_Ort() As String
|
||||
Get
|
||||
Return Me.fakt_OrtField
|
||||
End Get
|
||||
Set
|
||||
Me.fakt_OrtField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Fakt_Ansprechpartner() As String
|
||||
Get
|
||||
Return Me.fakt_AnsprechpartnerField
|
||||
End Get
|
||||
Set
|
||||
Me.fakt_AnsprechpartnerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Lief_Kontonummer() As String
|
||||
Get
|
||||
Return Me.lief_KontonummerField
|
||||
End Get
|
||||
Set
|
||||
Me.lief_KontonummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Lief_Name() As String
|
||||
Get
|
||||
Return Me.lief_NameField
|
||||
End Get
|
||||
Set
|
||||
Me.lief_NameField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Lief_Strasse() As String
|
||||
Get
|
||||
Return Me.lief_StrasseField
|
||||
End Get
|
||||
Set
|
||||
Me.lief_StrasseField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Lief_PLZ() As String
|
||||
Get
|
||||
Return Me.lief_PLZField
|
||||
End Get
|
||||
Set
|
||||
Me.lief_PLZField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Lief_Ort() As String
|
||||
Get
|
||||
Return Me.lief_OrtField
|
||||
End Get
|
||||
Set
|
||||
Me.lief_OrtField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Belegart() As String
|
||||
Get
|
||||
Return Me.belegartField
|
||||
End Get
|
||||
Set
|
||||
Me.belegartField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute("Datum_Auftrag-Bestellung", Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType:="date")> _
|
||||
Public Property Datum_AuftragBestellung() As Date
|
||||
Get
|
||||
Return Me.datum_AuftragBestellungField
|
||||
End Get
|
||||
Set
|
||||
Me.datum_AuftragBestellungField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property Datum_AuftragBestellungSpecified() As Boolean
|
||||
Get
|
||||
Return Me.datum_AuftragBestellungFieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.datum_AuftragBestellungFieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute("Auftrags-Bestellnummer", Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property AuftragsBestellnummer() As String
|
||||
Get
|
||||
Return Me.auftragsBestellnummerField
|
||||
End Get
|
||||
Set
|
||||
Me.auftragsBestellnummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType:="date")> _
|
||||
Public Property Leistungsdatum() As Date
|
||||
Get
|
||||
Return Me.leistungsdatumField
|
||||
End Get
|
||||
Set
|
||||
Me.leistungsdatumField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property LeistungsdatumSpecified() As Boolean
|
||||
Get
|
||||
Return Me.leistungsdatumFieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.leistungsdatumFieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Auftragsreferenz() As String
|
||||
Get
|
||||
Return Me.auftragsreferenzField
|
||||
End Get
|
||||
Set
|
||||
Me.auftragsreferenzField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Infotext() As String
|
||||
Get
|
||||
Return Me.infotextField
|
||||
End Get
|
||||
Set
|
||||
Me.infotextField = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
|
||||
'''<remarks/>
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0"), _
|
||||
System.SerializableAttribute(), _
|
||||
System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.ComponentModel.DesignerCategoryAttribute("code"), _
|
||||
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true)> _
|
||||
Partial Public Class MESOWebServiceEXIMVRG_ordersT026
|
||||
|
||||
Private bELEGKEYField As String
|
||||
|
||||
Private zeilennummerField As String
|
||||
|
||||
Private datentypField As String
|
||||
|
||||
Private artikelnummerField As String
|
||||
|
||||
Private bezeichnungField As String
|
||||
|
||||
Private notizblockField As String
|
||||
|
||||
Private lieferantenartikelnummerField As String
|
||||
|
||||
Private menge_bestelltField As Decimal
|
||||
|
||||
Private menge_bestelltFieldSpecified As Boolean
|
||||
|
||||
Private menge_geliefertField As Decimal
|
||||
|
||||
Private colliField As String
|
||||
|
||||
Private einzelpreisField As Decimal
|
||||
|
||||
Private einzelpreisFieldSpecified As Boolean
|
||||
|
||||
Private zeilenrabatt1Field As Decimal
|
||||
|
||||
Private zeilenrabatt1FieldSpecified As Boolean
|
||||
|
||||
Private zeilenrabatt2Field As Decimal
|
||||
|
||||
Private zeilenrabatt2FieldSpecified As Boolean
|
||||
|
||||
Private zeilenrabatt3Field As Decimal
|
||||
|
||||
Private zeilenrabatt3FieldSpecified As Boolean
|
||||
|
||||
Private zeilenrabatt4Field As Decimal
|
||||
|
||||
Private zeilenrabatt4FieldSpecified As Boolean
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType:="integer")> _
|
||||
Public Property BELEGKEY() As String
|
||||
Get
|
||||
Return Me.bELEGKEYField
|
||||
End Get
|
||||
Set
|
||||
Me.bELEGKEYField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType:="integer")> _
|
||||
Public Property Zeilennummer() As String
|
||||
Get
|
||||
Return Me.zeilennummerField
|
||||
End Get
|
||||
Set
|
||||
Me.zeilennummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Datentyp() As String
|
||||
Get
|
||||
Return Me.datentypField
|
||||
End Get
|
||||
Set
|
||||
Me.datentypField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Artikelnummer() As String
|
||||
Get
|
||||
Return Me.artikelnummerField
|
||||
End Get
|
||||
Set
|
||||
Me.artikelnummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Bezeichnung() As String
|
||||
Get
|
||||
Return Me.bezeichnungField
|
||||
End Get
|
||||
Set
|
||||
Me.bezeichnungField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Notizblock() As String
|
||||
Get
|
||||
Return Me.notizblockField
|
||||
End Get
|
||||
Set
|
||||
Me.notizblockField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Lieferantenartikelnummer() As String
|
||||
Get
|
||||
Return Me.lieferantenartikelnummerField
|
||||
End Get
|
||||
Set
|
||||
Me.lieferantenartikelnummerField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Menge_bestellt() As Decimal
|
||||
Get
|
||||
Return Me.menge_bestelltField
|
||||
End Get
|
||||
Set
|
||||
Me.menge_bestelltField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property Menge_bestelltSpecified() As Boolean
|
||||
Get
|
||||
Return Me.menge_bestelltFieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.menge_bestelltFieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Menge_geliefert() As Decimal
|
||||
Get
|
||||
Return Me.menge_geliefertField
|
||||
End Get
|
||||
Set
|
||||
Me.menge_geliefertField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Colli() As String
|
||||
Get
|
||||
Return Me.colliField
|
||||
End Get
|
||||
Set
|
||||
Me.colliField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Einzelpreis() As Decimal
|
||||
Get
|
||||
Return Me.einzelpreisField
|
||||
End Get
|
||||
Set
|
||||
Me.einzelpreisField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property EinzelpreisSpecified() As Boolean
|
||||
Get
|
||||
Return Me.einzelpreisFieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.einzelpreisFieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Zeilenrabatt1() As Decimal
|
||||
Get
|
||||
Return Me.zeilenrabatt1Field
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt1Field = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property Zeilenrabatt1Specified() As Boolean
|
||||
Get
|
||||
Return Me.zeilenrabatt1FieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt1FieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Zeilenrabatt2() As Decimal
|
||||
Get
|
||||
Return Me.zeilenrabatt2Field
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt2Field = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property Zeilenrabatt2Specified() As Boolean
|
||||
Get
|
||||
Return Me.zeilenrabatt2FieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt2FieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Zeilenrabatt3() As Decimal
|
||||
Get
|
||||
Return Me.zeilenrabatt3Field
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt3Field = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property Zeilenrabatt3Specified() As Boolean
|
||||
Get
|
||||
Return Me.zeilenrabatt3FieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt3FieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified)> _
|
||||
Public Property Zeilenrabatt4() As Decimal
|
||||
Get
|
||||
Return Me.zeilenrabatt4Field
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt4Field = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<remarks/>
|
||||
<System.Xml.Serialization.XmlIgnoreAttribute()> _
|
||||
Public Property Zeilenrabatt4Specified() As Boolean
|
||||
Get
|
||||
Return Me.zeilenrabatt4FieldSpecified
|
||||
End Get
|
||||
Set
|
||||
Me.zeilenrabatt4FieldSpecified = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
28
ImporterShared/Schemas/Schema.vb
Normal file
28
ImporterShared/Schemas/Schema.vb
Normal file
@@ -0,0 +1,28 @@
|
||||
Namespace Schemas
|
||||
Public Class Schema
|
||||
|
||||
Public Enum ColumnType As Integer
|
||||
[String]
|
||||
[Integer]
|
||||
[Date]
|
||||
[Boolean]
|
||||
[Decimal]
|
||||
End Enum
|
||||
|
||||
Public Property Tables As New List(Of Table)
|
||||
Public Property Name As String
|
||||
|
||||
Class Table
|
||||
Public Property Name As String
|
||||
Public Property Columns As New List(Of Column)
|
||||
End Class
|
||||
|
||||
Class Column
|
||||
Public Property Name As String
|
||||
Public Property Required As String
|
||||
Public Property DataType As ColumnType
|
||||
End Class
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
116
ImporterShared/Schemas/SchemaLoader.vb
Normal file
116
ImporterShared/Schemas/SchemaLoader.vb
Normal file
@@ -0,0 +1,116 @@
|
||||
Imports System.IO
|
||||
Imports System.Xml
|
||||
Imports System.Xml.XPath
|
||||
Imports DigitalData.Modules.Logging
|
||||
|
||||
Namespace Schemas
|
||||
Public Class SchemaLoader
|
||||
Inherits BaseClass
|
||||
|
||||
Private ns As XNamespace = "http://www.w3.org/2001/XMLSchema"
|
||||
|
||||
Public SchemaList As List(Of FileInfo)
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig)
|
||||
MyBase.New(pLogConfig, pLogConfig.GetLogger)
|
||||
End Sub
|
||||
|
||||
Public Function LoadFiles(pSchemaDirectory) As Boolean
|
||||
If pSchemaDirectory = String.Empty Then
|
||||
Throw New ArgumentNullException("SchemaDirectory")
|
||||
End If
|
||||
|
||||
Logger.Info("Loading files from directory [{0}]", pSchemaDirectory)
|
||||
|
||||
Try
|
||||
Dim oDirectory As New DirectoryInfo(pSchemaDirectory)
|
||||
Dim oFiles = oDirectory.GetFiles()
|
||||
|
||||
Logger.Debug("Found [{0}] files in directory [{1}]", oFiles.Count, oDirectory)
|
||||
|
||||
SchemaList = oFiles.ToList()
|
||||
|
||||
Return True
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Throw New IO.IOException($"Could not load files from directory {pSchemaDirectory}", ex)
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function GetSchemaFromFile(pSchemaFilePath As String) As Schema
|
||||
Dim oSchema As New Schema
|
||||
Dim oElements = GetSchemaElements(pSchemaFilePath)
|
||||
|
||||
For Each oElement In oElements
|
||||
Dim oColumns = GetElementColumns(oElement)
|
||||
Dim oSchemaColumns As New List(Of Schema.Column)
|
||||
|
||||
For Each oColumn As XElement In oColumns
|
||||
Dim oName = XmlData.GetElementAttribute(oColumn, "name")
|
||||
Dim oMinOccurs = XmlData.GetElementAttribute(oColumn, "minOccurs")
|
||||
Dim oMaxOccurs = XmlData.GetElementAttribute(oColumn, "maxOccurs")
|
||||
Dim oType = GetElementType(oColumn)
|
||||
Dim oRequired = False
|
||||
|
||||
If oMinOccurs = 1 And oMaxOccurs = 1 Then
|
||||
oRequired = True
|
||||
End If
|
||||
|
||||
Dim oSchemaColumn As New Schema.Column With {
|
||||
.Name = oName,
|
||||
.Required = oRequired,
|
||||
.DataType = oType
|
||||
}
|
||||
oSchemaColumns.Add(oSchemaColumn)
|
||||
Next
|
||||
|
||||
oSchema.Tables.Add(New Schema.Table With {
|
||||
.Name = XmlData.GetElementAttribute(oElement, "name"),
|
||||
.Columns = oSchemaColumns
|
||||
})
|
||||
|
||||
Next
|
||||
|
||||
Return oSchema
|
||||
End Function
|
||||
|
||||
Public Function GetElementType(pElement As XElement) As Schema.ColumnType
|
||||
Dim oTypeString = XmlData.GetElementAttribute(pElement, "type")
|
||||
|
||||
If oTypeString Is Nothing Then
|
||||
Dim oRestrictionElement As XElement = pElement.
|
||||
Descendants(ns + "restriction").
|
||||
FirstOrDefault()
|
||||
|
||||
oTypeString = XmlData.GetElementAttribute(oRestrictionElement, "base")
|
||||
End If
|
||||
|
||||
Select Case oTypeString
|
||||
Case "xs:date"
|
||||
Return Schema.ColumnType.Date
|
||||
Case "xs:integer"
|
||||
Return Schema.ColumnType.Integer
|
||||
Case "xs:decimal"
|
||||
Return Schema.ColumnType.Decimal
|
||||
Case "xs:boolean"
|
||||
Return Schema.ColumnType.Boolean
|
||||
Case Else
|
||||
Return Schema.ColumnType.String
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Function GetSchemaElements(pSchemaFilePath As String) As List(Of XElement)
|
||||
Dim oText As String = IO.File.ReadAllText(pSchemaFilePath)
|
||||
Dim oDoc = XDocument.Parse(oText)
|
||||
|
||||
Return XmlData.GetElementsFromElement(oDoc, "choice", ns)
|
||||
End Function
|
||||
|
||||
Public Function GetElementColumns(pElement As XElement) As List(Of XElement)
|
||||
Return XmlData.GetElementsFromElement(pElement, "sequence", ns)
|
||||
End Function
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
Reference in New Issue
Block a user