150 lines
5.0 KiB
VB.net
150 lines
5.0 KiB
VB.net
Imports DigitalData.Modules.Language
|
|
Imports MultiTool.Common.Winline.WinlineData
|
|
|
|
Namespace Templates
|
|
|
|
Public Class Template
|
|
Public Property Guid As Integer
|
|
Public Property Name As String
|
|
Public Property FileName As String
|
|
Public Property Description As String
|
|
Public Property IsImport As Boolean
|
|
Public Property Parameter1 As String
|
|
Public Property Parameter2 As String
|
|
Public Property FinalSQL As String
|
|
|
|
''' <summary>
|
|
''' Tabledata from XSD
|
|
''' </summary>
|
|
Public Property Tables As New List(Of Table)
|
|
|
|
Public Property InputDirectory As String
|
|
Public Property OutputDirectory As String
|
|
Public Property ArchiveDirectory As String
|
|
|
|
Public ReadOnly Property DocType As DocumentType
|
|
Get
|
|
Dim oDocType As String = GetParameter("DOCTYPE")
|
|
Dim oPreselectedDocType As Integer = 0
|
|
|
|
If oDocType IsNot Nothing Then
|
|
Integer.TryParse(oDocType, oPreselectedDocType)
|
|
End If
|
|
|
|
Return [Enum].Parse(GetType(DocumentType), oPreselectedDocType)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property PrintDocument As Boolean
|
|
Get
|
|
Dim oPrintDocument = GetParameter("PRINT")
|
|
Dim oDefaultValue = True
|
|
|
|
If oPrintDocument IsNot Nothing Then
|
|
oDefaultValue = IIf(oPrintDocument = "0", False, True)
|
|
End If
|
|
|
|
Return oDefaultValue
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property DocTypeCategory As DocumentTypeCategory
|
|
Get
|
|
Select Case DocType
|
|
Case DocumentType.IncomingOffer,
|
|
DocumentType.IncomingOrder,
|
|
DocumentType.IncomingDeliveryNote,
|
|
DocumentType.IncomingInvoice
|
|
Return DocumentTypeCategory.Outgoing
|
|
|
|
Case DocumentType.OutgoingOffer,
|
|
DocumentType.OutgoingOrder,
|
|
DocumentType.OutgoingDeliveryNote,
|
|
DocumentType.OutgoingInvoice
|
|
Return DocumentTypeCategory.Incoming
|
|
|
|
Case Else
|
|
Return DocumentTypeCategory.Undefined
|
|
|
|
End Select
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property OutputReportDirectory
|
|
Get
|
|
Return IO.Path.Combine(OutputDirectory, "Reports")
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property OutputWebserviceDirectory
|
|
Get
|
|
Return IO.Path.Combine(OutputDirectory, "WebService")
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property OutputXmlFileDirectory
|
|
Get
|
|
Return IO.Path.Combine(OutputDirectory, "XmlFiles")
|
|
End Get
|
|
End Property
|
|
|
|
|
|
Public Function GetParameter(pName As String) As String
|
|
Dim oParam1 As String = Utils.NotNull(Parameter1, String.Empty)
|
|
Dim oParam2 As String = Utils.NotNull(Parameter2, String.Empty)
|
|
|
|
Dim oParamValue1 = TryGetParameter(oParam1, pName)
|
|
Dim oParamValue2 = TryGetParameter(oParam2, pName)
|
|
|
|
If oParamValue1 IsNot Nothing AndAlso oParamValue1.Item1 = pName Then
|
|
Return oParamValue1.Item2
|
|
End If
|
|
|
|
If oParamValue2 IsNot Nothing AndAlso oParamValue2.Item1 = pName Then
|
|
Return oParamValue2.Item2
|
|
End If
|
|
|
|
Return Nothing
|
|
End Function
|
|
|
|
Private Function TryGetParameter(pParameterString As String, pName As String) As Tuple(Of String, String)
|
|
If pParameterString <> String.Empty Then
|
|
For Each oParameter In pParameterString.Split(",")
|
|
Dim oSplit = oParameter.Split("=").ToList()
|
|
|
|
If oSplit.Count = 2 AndAlso oSplit.First = pName Then
|
|
Return New Tuple(Of String, String)(oSplit.First, oSplit.Last)
|
|
End If
|
|
Next
|
|
|
|
Return Nothing
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Table from XSD
|
|
''' </summary>
|
|
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 DataType As Constants.ColumnType
|
|
''' <summary>
|
|
''' Required value from Schema. This value will be written in the ColumnConfig and is not relevant from that point on.
|
|
''' </summary>
|
|
Public Property IsRequired As Boolean
|
|
Public Property Config As FieldConfig
|
|
|
|
Public Overrides Function ToString() As String
|
|
Return Name
|
|
End Function
|
|
End Class
|
|
End Class
|
|
End Namespace
|
|
|