diff --git a/GUIs.GlobalIndexer/ControlCreator.vb b/GUIs.GlobalIndexer/ControlCreator.vb
index ed16d3ed..072629d6 100644
--- a/GUIs.GlobalIndexer/ControlCreator.vb
+++ b/GUIs.GlobalIndexer/ControlCreator.vb
@@ -18,6 +18,7 @@ Public Class ControlCreator
Private Const TYPE_BOOLEAN = "BOOLEAN"
Private Const TYPE_DATE = "DATE"
Private Const TYPE_INTEGER = "INTEGER"
+ Private Const TYPE_VARCHAR = "VARCHAR"
Private Const PLACEHOLDER_NULL = "$NULL"
Private Const VECTORSEPARATOR = "╚"
@@ -34,11 +35,14 @@ Public Class ControlCreator
'''
''' The Datatable which contains the Control's Data
Public Property OnLookupData As Func(Of Control, String, Integer, DataTable)
+
Public Class ControlMeta
Public Property IndexName As String
Public Property IndexType As String
+ Public Property ControlType As String
Public Property MultipleValues As Boolean = False
End Class
+
Public Sub New(LogConfig As LogConfig, Panel As Panel, Form As Form)
Me.Form = Form
Me.Panel = Panel
@@ -46,6 +50,17 @@ Public Class ControlCreator
Me.Logger = LogConfig.GetLogger
End Sub
+ Function AddLabel(pIndexName As String, hinweis As String, ylbl As Integer, anz As String) As Label
+ Dim lbl As New Label With {
+ .Name = "lbl" & pIndexName,
+ .AutoSize = True,
+ .Text = hinweis,
+ .Location = New Point(11, ylbl)
+ }
+
+ Return lbl
+ End Function
+
Public Function AddDateTimePicker(pIndexname As String, pY As Integer, pDefaultValue As String) As DateEdit
Dim oPicker As New DateEdit With {
.Name = "dtp" & pIndexname,
@@ -53,7 +68,8 @@ Public Class ControlCreator
.Location = New Point(DEFAULT_POSITION_X, pY),
.Tag = New ControlMeta() With {
.IndexName = pIndexname,
- .IndexType = TYPE_DATE
+ .IndexType = TYPE_DATE,
+ .ControlType = "dtp"
}
}
@@ -73,9 +89,10 @@ Public Class ControlCreator
.Name = "txt" & pIndexname,
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Location = New Point(DEFAULT_POSITION_X, pY),
- .Tag = New ControlMeta() With {
+ .Tag = New ControlMeta() With {
.IndexName = pIndexname,
- .IndexType = pDataType
+ .IndexType = pDataType,
+ .ControlType = "txt"
}
}
@@ -98,12 +115,12 @@ Public Class ControlCreator
Return oEdit
End Function
- Public Sub OnTextBoxFocus(sender As TextEdit, e As EventArgs)
+ Private Sub OnTextBoxFocus(sender As TextEdit, e As EventArgs)
sender.BackColor = HightlightColor
sender.SelectAll()
End Sub
- Public Sub OnTextBoxTextChanged(sender As TextEdit, e As System.EventArgs)
+ Private Sub OnTextBoxTextChanged(sender As TextEdit, e As System.EventArgs)
Using oGraphics As Graphics = sender.CreateGraphics()
Dim oNewWidth = oGraphics.MeasureString(sender.Text, sender.Font).Width + 15
If oNewWidth >= DEFAULT_WIDTH Then
@@ -112,11 +129,11 @@ Public Class ControlCreator
End Using
End Sub
- Public Sub OnTextBoxLostFocus(sender As TextEdit, e As EventArgs)
+ Private Sub OnTextBoxLostFocus(sender As TextEdit, e As EventArgs)
sender.BackColor = Color.White
End Sub
- Public Sub OnTextBoxKeyUp(sender As TextEdit, e As KeyEventArgs)
+ Private Sub OnTextBoxKeyUp(sender As TextEdit, e As KeyEventArgs)
If sender.Text = String.Empty Then
Exit Sub
End If
@@ -130,17 +147,18 @@ Public Class ControlCreator
End If
End Sub
- Public Function AddCheckBox(pIndexname As String, pY As Integer, pDefaultValue As String, pCaption As String)
+ Public Function AddCheckBox(pIndexname As String, pY As Integer, pDefaultValue As String, pCaption As String) As CheckEdit
Try
Dim oValue As Boolean = False
- Dim oCheckBox As New CheckBox With {
+ Dim oCheckBox As New CheckEdit With {
.Name = "chk" & pIndexname,
.AutoSize = False,
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Location = New Point(DEFAULT_POSITION_X, pY),
.Tag = New ControlMeta() With {
.IndexName = pIndexname,
- .IndexType = TYPE_BOOLEAN
+ .IndexType = TYPE_BOOLEAN,
+ .ControlType = "chk"
}
}
@@ -178,7 +196,8 @@ Public Class ControlCreator
.Name = "cmbMulti" & pIndexname,
.Tag = New ControlMeta() With {
.IndexName = pIndexname,
- .IndexType = pDataType
+ .IndexType = pDataType,
+ .ControlType = "cmbMulti"
}
}
diff --git a/GUIs.GlobalIndexer/ControlMeta.vb b/GUIs.GlobalIndexer/ControlMeta.vb
index 0a19a6e6..1f70f4e4 100644
--- a/GUIs.GlobalIndexer/ControlMeta.vb
+++ b/GUIs.GlobalIndexer/ControlMeta.vb
@@ -1,4 +1,4 @@
-Public Class ControlMeta
+Public Class _ControlMeta
Public Property IndexName As String
Public Property IndexType As String
Public Property MultipleValues As Boolean = False
diff --git a/GUIs.ZooFlow/ClassInitLoader.vb b/GUIs.ZooFlow/ClassInitLoader.vb
index b1c11985..5e08610b 100644
--- a/GUIs.ZooFlow/ClassInitLoader.vb
+++ b/GUIs.ZooFlow/ClassInitLoader.vb
@@ -1,5 +1,4 @@
Imports System.ComponentModel
-Imports DigitalData.GUIs.ZooFlow.My
Imports DigitalData.Modules.Logging
Public Class ClassInitLoader
@@ -76,7 +75,7 @@ Public Class ClassInitLoader
Dim oPercentComplete As Integer = CInt(Math.Truncate(oStepCounter / Steps.Count * 100))
_Worker.ReportProgress(oPercentComplete)
- Threading.Thread.Sleep(200)
+ Threading.Thread.Sleep(100)
Next
e.Result = oMyApplication
diff --git a/GUIs.ZooFlow/Globix/ClassValidator.vb b/GUIs.ZooFlow/Globix/ClassValidator.vb
index 08ca8628..c05af863 100644
--- a/GUIs.ZooFlow/Globix/ClassValidator.vb
+++ b/GUIs.ZooFlow/Globix/ClassValidator.vb
@@ -5,6 +5,8 @@ Imports DigitalData.GUIs.ZooFlow.frmGlobix_Index
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Logging
+Imports DigitalData.GUIs.GlobalIndexer.ControlCreator
+Imports DevExpress.XtraEditors
Public Class ClassValidator
Inherits BaseClass
@@ -18,19 +20,30 @@ Public Class ClassValidator
ManualIndexes = pManualIndexes
End Sub
+ Public Function GetControlMeta(pControl As Control) As ControlMeta
+ Dim oMeta As ControlMeta = Nothing
+ If TypeOf pControl.Tag Is ControlMeta Then
+ oMeta = DirectCast(pControl.Tag, ControlMeta)
+ End If
+ Return oMeta
+ End Function
+
+
Function ValidateControls(pPanel As Panel, pDocType As DocType) As Boolean
Try
Logger.Debug("Starting [ValidateControls]")
Dim result As Boolean = True
For Each oControl As Control In pPanel.Controls
+ Dim oMeta As ControlMeta = GetControlMeta(oControl)
- If oControl.Name.StartsWith("lbl") Then
+ ' Labels do not need to validated
+ If TypeOf oControl Is Label Then
Continue For
End If
' ========================= TEXT BOX =========================
- If oControl.Name.StartsWith("txt") Then
+ If oMeta.ControlType = "txt" Then
Dim oTextBox As DevExpress.XtraEditors.TextEdit = oControl
If oTextBox.Text = "" Then
Dim oIndexName = GetIndexName(oTextBox, "txt")
@@ -45,7 +58,7 @@ Public Class ClassValidator
End If
' ========================= LOOKUP =========================
- If oControl.Name.StartsWith("cmbMulti") Then
+ If oMeta.ControlType = "cmbMulti" Then
Dim oLookup = DirectCast(oControl, LookupControl3)
Dim oValues As List(Of String) = oLookup.Properties.SelectedValues
@@ -60,7 +73,8 @@ Public Class ClassValidator
End If
End If
- ElseIf oControl.Name.StartsWith("cmbSingle") Then
+ End If
+ If oMeta.ControlType = "cmbSingle" Then
Dim cmbSingle As TextBox = oControl
If cmbSingle.Text = "" Then
@@ -73,9 +87,10 @@ Public Class ClassValidator
Return False
End If
End If
+ End If
- ElseIf oControl.Name.StartsWith("cmb") Then
- Dim cmb As ComboBox = oControl
+ If oMeta.ControlType = "cmb" Then
+ Dim cmb As Windows.Forms.ComboBox = oControl
If cmb.Text = "" Then
Dim oIndexName = GetIndexName(cmb, "cmb")
Dim oOptional = TestIsIndexOptional(pDocType, oIndexName)
@@ -86,11 +101,10 @@ Public Class ClassValidator
Return False
End If
End If
-
End If
' ========================= DATE PICKER =========================
- If oControl.Name.StartsWith("dtp") Then
+ If oMeta.ControlType = "dtp" Then
Dim dtp As DevExpress.XtraEditors.DateEdit = oControl
Dim oIndexName As String = GetIndexName(dtp, "dtp")
@@ -106,19 +120,11 @@ Public Class ClassValidator
End If
' ========================= CHECK BOX =========================
- If oControl.Name.StartsWith("chk") Then
- Dim chk As CheckBox = oControl
+ If oMeta.ControlType = "chk" Then
+ 'TODO: Implement Itermediate state and then validation for checkbox
+ Dim chk As CheckEdit = oControl
'result = True
End If
-
- 'If TypeOf (oControl) Is Button Then
- ' Continue For
- 'End If
-
- 'If oControl.Name.StartsWith("lbl") = False And result = False Then
- ' Logger.Info("Die Überprüfung der manuellen Indices ist fehlerhaft. Bitte informieren Sie den Systembetreuer")
- ' Return False
- 'End If
Next
Return True
@@ -133,13 +139,15 @@ Public Class ClassValidator
Dim oAttributeValues As New List(Of UserAttributeValue)
For Each oControl As Control In pPanel.Controls
+ Dim oMeta As ControlMeta = GetControlMeta(oControl)
- If oControl.Name.StartsWith("lbl") Then
+ ' Labels do not have values
+ If TypeOf oControl Is Label Then
Continue For
End If
' ========================= TEXTBOX =========================
- If oControl.Name.StartsWith("txt") Then
+ If oMeta.ControlType = "txt" Then
Dim oTextBox As DevExpress.XtraEditors.TextEdit = oControl
Dim oIndexName = GetIndexName(oTextBox, "txt")
@@ -155,7 +163,7 @@ Public Class ClassValidator
End If
' ========================= LOOKUP =========================
- If oControl.Name.StartsWith("cmbMulti") Then
+ If oMeta.ControlType = "cmbMulti" Then
Dim oLookup = DirectCast(oControl, LookupControl3)
Dim oValues As List(Of String) = oLookup.Properties.SelectedValues
Dim oIndexName = GetIndexName(oLookup, "cmbMulti")
@@ -170,7 +178,9 @@ Public Class ClassValidator
})
- ElseIf oControl.Name.StartsWith("cmbSingle") Then
+ End If
+
+ If oMeta.ControlType = "cmbSingle" Then
Dim cmbSingle As TextBox = oControl
Dim oIndexName = GetIndexName(cmbSingle, "cmbSingle")
@@ -178,12 +188,13 @@ Public Class ClassValidator
End If
oAttributeValues.Add(New UserAttributeValue With {
- .Name = oIndexName,
- .Values = WrapIndexValue(cmbSingle.Text),
- .ControlName = cmbSingle.Name
- })
+ .Name = oIndexName,
+ .Values = WrapIndexValue(cmbSingle.Text),
+ .ControlName = cmbSingle.Name
+ })
+ End If
- ElseIf oControl.Name.StartsWith("cmb") Then
+ If oMeta.ControlType = "cmb" Then
Dim cmb As ComboBox = oControl
Dim oIndexName = GetIndexName(cmb, "cmb")
@@ -198,7 +209,7 @@ Public Class ClassValidator
End If
' ========================= DATE PICKER =========================
- If oControl.Name.StartsWith("dtp") Then
+ If oMeta.ControlType = "dtp" Then
Dim dtp As DevExpress.XtraEditors.DateEdit = oControl
Dim oIndexName As String = GetIndexName(dtp, "dtp")
@@ -210,8 +221,8 @@ Public Class ClassValidator
End If
' ========================= CHECK BOX =========================
- If oControl.Name.StartsWith("chk") Then
- Dim chk As CheckBox = oControl
+ If oMeta.ControlType = "chk" Then
+ Dim chk As CheckEdit = oControl
Dim oIndexName As String = GetIndexName(chk, "chk")
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb
index 3334dba6..6c911d80 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb
@@ -113,9 +113,7 @@ Partial Class frmGlobix_Index
'
'checkItemTopMost
'
- Me.checkItemTopMost.BindableChecked = True
Me.checkItemTopMost.Caption = "Andere Fenster überdecken"
- Me.checkItemTopMost.Checked = True
Me.checkItemTopMost.Id = 6
Me.checkItemTopMost.ImageOptions.SvgImage = CType(resources.GetObject("checkItemTopMost.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.checkItemTopMost.Name = "checkItemTopMost"
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.resx b/GUIs.ZooFlow/Globix/frmGlobix_Index.resx
index 4c95314d..ca0e32ad 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.resx
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.resx
@@ -520,6 +520,6 @@
- 17, 17
+ 189, 17
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
index 34994e85..5eb1adde 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
@@ -14,6 +14,7 @@ Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Patterns
+Imports DevExpress.XtraEditors
Public Class frmGlobix_Index
#Region "+++++ Variablen ++++++"
@@ -69,7 +70,7 @@ Public Class frmGlobix_Index
My.Application.Globix.INDEXING_ACTIVE = True
End Sub
- Private Sub frmGlobix_Index_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ Private Async Sub frmGlobix_Index_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Cursor = Cursors.Default
SplashScreenManager.ShowWaitForm()
@@ -85,7 +86,7 @@ Public Class frmGlobix_Index
My.Application.Globix.CURRENT_ISATTACHMENT = False
Dim oSql = $"SELECT HANDLE_TYPE FROM TBGI_FILES_USER WHERE GUID = {My.Application.Globix.CurrentWorkfile.Id}"
- DropType = My.DatabaseECM.GetScalarValue(oSql)
+ DropType = Await My.DatabaseECM.GetScalarValueAsync(oSql)
My.Application.Globix.DeleteOriginalFile = My.UIConfig.Globix.DeleteOriginalFile
SplitContainerControl1.SplitterPosition = My.UIConfig.Globix.SplitterDistanceViewer
@@ -111,7 +112,7 @@ Public Class frmGlobix_Index
SetFilePreview(My.UIConfig.Globix.FilePreview)
- MultifileCount = My.DatabaseECM.GetScalarValue("SELECT COUNT(*) FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & My.Application.Globix.CurrentWorkfile.Id & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
+ MultifileCount = Await My.DatabaseECM.GetScalarValueAsync("SELECT COUNT(*) FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & My.Application.Globix.CurrentWorkfile.Id & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
My.Application.Globix.MULTIINDEXING_ACTIVE = False
If MultifileCount > 0 Then
@@ -146,7 +147,7 @@ Public Class frmGlobix_Index
End If
Else
oSql = "SELECT DISTINCT T1.DOCTYPE as DocType, T.* FROM TBGI_REGEX_DOCTYPE T, VWGI_DOCTYPE_USER T1 WHERE T.DOCTYPE_ID = T1.DOCTYPE_ID"
- Dim oRegexDoctypeTable = Database.GetDatatable("DTTBGI_REGEX_DOCTYPE", oSQL, ECM)
+ Dim oRegexDoctypeTable = Database.GetDatatable("DTTBGI_REGEX_DOCTYPE", oSql, ECM)
For Each oRoW As DataRow In oRegexDoctypeTable.Rows
Dim oOnlyFilename = Path.GetFileName(My.Application.Globix.CurrentWorkfile.FilePath)
@@ -380,23 +381,6 @@ Public Class frmGlobix_Index
End Try
End Function
- Sub addLabel(pIndexName As String, hinweis As String, ylbl As Integer, anz As String)
- Dim lbl As New Label With {
- .Name = "lbl" & pIndexName,
- .AutoSize = True,
- .Text = hinweis,
- .Location = New Point(11, ylbl)
- }
-
- pnlIndex.Controls.Add(lbl)
- End Sub
- Sub ShowError(text As String)
- 'lblerror.Visible = True
- 'lblerror.Text = text
- 'lblerror.ForeColor = Color.Red
- labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
- labelError.Caption = text
- End Sub
Private Sub LoadIndexe_Man(pManualIndexes As List(Of ManualIndex))
Try
@@ -430,7 +414,7 @@ Public Class frmGlobix_Index
Dim oDataType = oIndex.DataType
If oDataType <> "BOOLEAN" Then
- addLabel(oControlName, oIndex.LabelCaption, oLabelPosition, oControlCount)
+ oControls.AddLabel(oControlName, oIndex.LabelCaption, oLabelPosition, oControlCount)
End If
'Dim oDefaultValue = Check_HistoryValues(oControlName, oIndex.DocTypeName)
@@ -444,7 +428,7 @@ Public Class frmGlobix_Index
Select Case oIndex.DataType
Case "BOOLEAN"
- Dim oCheckbox As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, oDefaultValue, oIndex.LabelCaption)
+ Dim oCheckbox = oControls.AddCheckBox(oControlName, oControlPosition, oDefaultValue, oIndex.LabelCaption)
oControl = oCheckbox
Case "INTEGER"
@@ -504,7 +488,7 @@ Public Class frmGlobix_Index
End If
Try
- Dim oMeta = DirectCast(pControl.Tag, GlobalIndexer.ControlMeta)
+ Dim oMeta = DirectCast(pControl.Tag, ControlCreator.ControlMeta)
Dim oIndexName As String = oMeta.IndexName
Dim oSQL = $"SELECT * FROM TBDD_INDEX_MAN WHERE SQL_RESULT LIKE '%{oIndexName}%' AND DOK_ID = {SelectedDocType.Guid}"
Dim oDatatable As DataTable = My.DatabaseECM.GetDatatable(oSQL)
@@ -552,7 +536,7 @@ Public Class frmGlobix_Index
Continue For
End If
- Dim oMeta = DirectCast(oControl.Tag, GlobalIndexer.ControlMeta)
+ Dim oMeta = DirectCast(oControl.Tag, ControlCreator.ControlMeta)
Dim oIndex As String = oMeta.IndexName
If oIndex = IndexName Then
@@ -628,6 +612,10 @@ Public Class frmGlobix_Index
Return oResult
End Function
+ Sub ShowError(text As String)
+ labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ labelError.Caption = text
+ End Sub
Sub ClearError()
labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
@@ -783,7 +771,6 @@ Public Class frmGlobix_Index
Logger.Info("Imported file got ObjectId [{0}]", oResult.ObjectId)
If oResult.OK Then
- MsgBox("Die Datei wurde erfolgreich verarbeitet!", MsgBoxStyle.Information, Text)
Return True
Else
Logger.Warn("Import failed with message: [{0}] and details [{1}]", oResult.ErrorMessage, oResult.ErrorDetails)
@@ -812,6 +799,16 @@ Public Class frmGlobix_Index
Logger.Info("Importing file with DocumentType [{0}]", oDokart.Name)
Dim oResult = Await GlobixFlowNew(oDokart)
If oResult = True Then
+ 'Dim oArgs As New XtraMessageBoxArgs With {
+ ' .LookAndFeel = LookAndFeel,
+ ' .Text = "Die Datei wurde erfolgreich verarbeitet!",
+ ' .Caption = Text
+ '}
+ 'oArgs.AutoCloseOptions.Delay = 3000
+ 'oArgs.AutoCloseOptions.ShowTimerOnDefaultButton = True
+ ''oArgs.DoNotShowAgainCheckBoxVisible = True
+ 'XtraMessageBox.Show(oArgs)
+
DocumentViewer1.CloseDocument()
DocumentViewer1.Done()
@@ -821,11 +818,15 @@ Public Class frmGlobix_Index
End Sub
Private Sub PreviewItem_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles PreviewItem.CheckedChanged
- SetFilePreview(PreviewItem.Checked)
+ If FormLoaded Then
+ SetFilePreview(PreviewItem.Checked)
+ End If
End Sub
Private Sub checkItemTopMost_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkItemTopMost.CheckedChanged
- My.UIConfig.Globix.TopMost = checkItemTopMost.Checked
- My.UIConfigManager.Save()
+ If FormLoaded Then
+ My.UIConfig.Globix.TopMost = checkItemTopMost.Checked
+ My.UIConfigManager.Save()
+ End If
End Sub
End Class
diff --git a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs
index 1c3db170..3c7e7446 100644
--- a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs
+++ b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs
@@ -85,7 +85,7 @@ namespace ZUGFeRDRESTService.Controllers
{
_logger.Debug("Start processing request to ValidationController");
- CrossIndustryDocumentType oDocument;
+ object oDocument;
PropertyValues.CheckPropertyValuesResult oResult = new PropertyValues.CheckPropertyValuesResult();
try