diff --git a/app/TaskFlow/App.config b/app/TaskFlow/App.config
index 35a4608..6b99ad9 100644
--- a/app/TaskFlow/App.config
+++ b/app/TaskFlow/App.config
@@ -102,7 +102,8 @@
-
+
@@ -143,7 +144,7 @@
-
+
@@ -151,15 +152,15 @@
-
+
-
+
-
+
@@ -229,7 +230,7 @@
0, 0
- 563
+ 513
Normal
diff --git a/app/TaskFlow/ClassAllgemeineFunktionen.vb b/app/TaskFlow/ClassAllgemeineFunktionen.vb
index 68b6cba..e9d3978 100644
--- a/app/TaskFlow/ClassAllgemeineFunktionen.vb
+++ b/app/TaskFlow/ClassAllgemeineFunktionen.vb
@@ -366,4 +366,55 @@ Public Class ClassAllgemeineFunktionen
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error saving log file")
End Try
End Sub
+ Public Shared Function NotNull(Of T)(value As Object, defaultValue As T) As T
+ If value Is Nothing OrElse Convert.IsDBNull(value) Then
+ Return defaultValue
+ End If
+
+ ' Versuche den Wert in den gewünschten Typ zu konvertieren
+ Try
+ Return CType(value, T)
+ Catch ex As InvalidCastException
+ ' Falls die Konvertierung fehlschlägt, gib den Default zurück
+ Return defaultValue
+ End Try
+ End Function
+ Public Shared Function NotNullNullable(Of T As Structure)(value As Object, defaultValue As Nullable(Of T)) As Nullable(Of T)
+ If value Is Nothing OrElse Convert.IsDBNull(value) Then
+ Return defaultValue
+ End If
+ Try
+ ' Direkte Casts sind robust, wandeln aber DBNull nicht – das ist bereits oben abgefangen.
+ Return DirectCast(value, Nullable(Of T))
+ Catch
+ Try
+ ' Fallback: in T casten und zu Nullable machen
+ Return New Nullable(Of T)(DirectCast(value, T))
+ Catch
+ Return defaultValue
+ End Try
+ End Try
+ End Function
+ Public Shared Function NotNullString(value As Object, defaultValue As Object) As String
+ If value Is Nothing OrElse Convert.IsDBNull(value) Then Return defaultValue
+ Return CStr(value)
+ End Function
+
+ Public Shared Function NotNullDate(value As Object, defaultValue As DateTime) As DateTime?
+ If value Is Nothing OrElse Convert.IsDBNull(value) Then Return defaultValue
+ Return DirectCast(value, DateTime)
+ End Function
+ Public Shared Function NewShortGuid() As String
+ ' Neue GUID erzeugen
+ Dim g As Guid = Guid.NewGuid()
+
+ ' In Base64 umwandeln
+ Dim b64 As String = Convert.ToBase64String(g.ToByteArray())
+
+ ' Unerwünschte Zeichen ersetzen/entfernen
+ b64 = b64.Replace("=", "").Replace("+", "-").Replace("/", "_")
+
+ ' Ergebnis zurückgeben
+ Return b64
+ End Function
End Class
diff --git a/app/TaskFlow/ClassControlCreator.vb b/app/TaskFlow/ClassControlCreator.vb
index 40d09f5..95fb9e9 100644
--- a/app/TaskFlow/ClassControlCreator.vb
+++ b/app/TaskFlow/ClassControlCreator.vb
@@ -104,17 +104,17 @@ Public Class ClassControlCreator
Private Function TransformDataRow(row As DataRow) As ControlDBProps
Dim x As Integer = row.Item("X_LOC")
Dim y As Integer = row.Item("Y_LOC")
- Dim style As FontStyle = NotNull(row.Item("FONT_STYLE"), DEFAULT_FONT_STYLE)
- Dim size As Single = NotNull(row.Item("FONT_SIZE"), DEFAULT_FONT_SIZE)
- Dim familyString As String = NotNull(row.Item("FONT_FAMILY"), DEFAULT_FONT_FAMILY)
+ Dim style As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), DEFAULT_FONT_STYLE)
+ Dim size As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), DEFAULT_FONT_SIZE)
+ Dim familyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), DEFAULT_FONT_FAMILY)
Dim family As FontFamily = New FontFamily(familyString)
Dim oGuid As Integer = row.Item("GUID")
- Dim oControlName As String = NotNull(row.Item("NAME"), "")
- Dim oAttribute As String = NotNull(row.Item("INDEX_NAME"), "")
+ Dim oControlName As String = ClassAllgemeineFunktionen.NotNullString(row.Item("NAME"), "")
+ Dim oAttribute As String = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
Dim oLocation As New Point(x, y)
Dim oFont As New Font(family, size, style, GraphicsUnit.Point)
- Dim oColor As Color = IntToColor(NotNull(row.Item("FONT_COLOR"), DEFAULT_COLOR))
+ Dim oColor As Color = IntToColor(ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_COLOR"), DEFAULT_COLOR))
Dim oReadOnly As Boolean = row.Item("READ_ONLY")
Dim oAddNewItems As Boolean = row.Item("VKT_ADD_ITEM")
If oAttribute = "@@DISPLAY_ONLY" And oReadOnly = False Then
@@ -122,7 +122,6 @@ Public Class ClassControlCreator
oReadOnly = True
End If
-
Return New ControlDBProps() With {
.Guid = oGuid,
.Name = oControlName,
@@ -171,7 +170,7 @@ Public Class ClassControlCreator
Public Function CreateNewTextBox(location As Point) As TextEdit
Dim control As New TextEdit With {
- .Name = $"{PREFIX_TEXTBOX}_{clsTools.ShortGuid()}",
+ .Name = $"{PREFIX_TEXTBOX}_{ClassAllgemeineFunktionen.NewShortGuid()}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Location = location,
.ReadOnly = True,
@@ -184,7 +183,7 @@ Public Class ClassControlCreator
Public Function CreateNewLabel(location As Point) As Label
Dim control As New Label With {
- .Name = $"{PREFIX_LABEL}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_LABEL}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Text = DEFAULT_TEXT,
.AutoSize = True,
.Location = location,
@@ -196,7 +195,7 @@ Public Class ClassControlCreator
Public Function CreateNewCheckbox(location As Point) As CheckBox
Dim control As New CheckBox With {
- .Name = $"{PREFIX_CHECKBOX}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_CHECKBOX}_{ClassAllgemeineFunktionen.NewShortGuid}",
.AutoSize = True,
.Text = DEFAULT_TEXT,
.Cursor = Cursors.Hand,
@@ -209,7 +208,7 @@ Public Class ClassControlCreator
Public Function CreateNewCombobox(location As Point) As Windows.Forms.ComboBox
Dim control As New Windows.Forms.ComboBox With {
- .Name = $"{PREFIX_COMBOBOX}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_COMBOBOX}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand,
.Location = location
@@ -220,7 +219,7 @@ Public Class ClassControlCreator
Public Function CreateNewDatetimepicker(location As Point) As DateTimePicker
Dim control As New DateTimePicker With {
- .Name = $"{PREFIX_DATETIMEPICKER}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_DATETIMEPICKER}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand,
.Location = location,
@@ -232,7 +231,7 @@ Public Class ClassControlCreator
Public Function CreateNewDatagridview(location As Point) As DataGridView
Dim control As New DataGridView With {
- .Name = $"{PREFIX_DATAGRIDVIEW}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_DATAGRIDVIEW}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE),
.Cursor = Cursors.Hand,
.Location = location,
@@ -252,7 +251,7 @@ Public Class ClassControlCreator
Friend Function CreateNewLookupControl(location As Point) As LookupControl3
Dim control As New LookupControl3 With {
- .Name = $"{PREFIX_LOOKUP}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_LOOKUP}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand,
.Location = location
@@ -262,7 +261,7 @@ Public Class ClassControlCreator
Public Function CreateNewTable(location As Point) As GridControl
Dim oControl As New GridControl With {
- .Name = $"{PREFIX_TABLE}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_TABLE}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE),
.Cursor = Cursors.Hand,
.Location = location,
@@ -282,7 +281,7 @@ Public Class ClassControlCreator
Public Function CreateNewLine(location As Point) As LineLabel
Dim control As New LineLabel With {
- .Name = $"{PREFIX_LINE}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_LINE}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Text = "---------------------------------",
.Size = New Size(100, 5),
.Location = location
@@ -292,7 +291,7 @@ Public Class ClassControlCreator
End Function
Public Function CreateNewButton(location As Point) As Button
Dim control As New Button With {
- .Name = $"{PREFIX_BUTTON}_{clsTools.ShortGuid}",
+ .Name = $"{PREFIX_BUTTON}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(108, 28),
.Cursor = Cursors.Hand,
.Location = location
@@ -483,7 +482,7 @@ Public Class ClassControlCreator
Return control
End Function
- Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean) As GridControl
+ Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, pcurrencySymbol As String) As GridControl
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables)
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
@@ -559,8 +558,8 @@ Public Class ClassControlCreator
Dim oDataTable = oGridControlCreator.CreateGridColumns(DT_MY_COLUMNS)
GridTables = oGridControlCreator.FillGridTables(DT_MY_COLUMNS, oControlId, oControl.Name)
- oView.PopulateColumns(oDatatable)
- oControl.DataSource = oDatatable
+ oView.PopulateColumns(oDataTable)
+ oControl.DataSource = oDataTable
oControl.RefreshDataSource()
oControl.ForceInitialize()
@@ -587,7 +586,7 @@ Public Class ClassControlCreator
End Try
End If
- oGridControlCreator.ConfigureViewColumns(DT_MY_COLUMNS, oView, oControl)
+ oGridControlCreator.ConfigureViewColumns(DT_MY_COLUMNS, oView, oControl, pcurrencySymbol)
oGridControlCreator.ConfigureViewEvents(DT_MY_COLUMNS, oView, oControl, oControlId)
' 08.11.2021: Fix editor being empty on first open
@@ -605,7 +604,7 @@ Public Class ClassControlCreator
control.Text = "------------------------------"
control.BorderStyle = BorderStyle.None
control.AutoSize = False
- control.BackColor = IntToColor(NotNull(row.Item("FONT_COLOR"), DEFAULT_COLOR))
+ control.BackColor = IntToColor(ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_COLOR"), DEFAULT_COLOR))
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
Return control
@@ -824,7 +823,7 @@ Public Class ClassControlCreator
If oMeta.Guid = oControlId AndAlso TypeOf oControl Is GridControl Then
Dim oGrid As GridControl = DirectCast(oControl, GridControl)
DirectCast(oGrid.FocusedView, GridView).FocusInvalidRow()
- Logger.Info("Force-setting Editor for Grid [{0}]", oGrid.Name)
+ Logger.Debug("Force-setting Editor for Grid [{0}]", oGrid.Name)
Exit For
End If
Catch ex As Exception
diff --git a/app/TaskFlow/ClassFinalIndex.vb b/app/TaskFlow/ClassFinalIndex.vb
index 19ec4bb..96b6718 100644
--- a/app/TaskFlow/ClassFinalIndex.vb
+++ b/app/TaskFlow/ClassFinalIndex.vb
@@ -114,12 +114,12 @@ Public Class ClassFinalIndex
props.VectorIndex = isVector
If type = INDEX_TYPE_STRING Or type = INDEX_TYPE_VECTOR_STRING Then
- value = NotNull(value, "")
+ value = ClassAllgemeineFunktionen.NotNullString(value, "")
props.StringValue = value
ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_INTEGER64 Or type = INDEX_TYPE_VECTOR_INTEGER_64 Then
Try
- value = NotNull(Of Integer)(value, 0)
+ value = ClassAllgemeineFunktionen.NotNullString(value, 0)
If value = String.Empty Then
props.IntegerValue = 0
Else
@@ -138,7 +138,7 @@ Public Class ClassFinalIndex
If value = "SQL-Command" Then
props.FloatValue = 0
Else
- value = NotNull(Of Double)(value, 0)
+ value = ClassAllgemeineFunktionen.NotNullString(value, 0)
If value = String.Empty Then
props.FloatValue = 0
@@ -148,7 +148,7 @@ Public Class ClassFinalIndex
End If
ElseIf type = INDEX_TYPE_BOOLEAN Or type = INDEX_TYPE_VECTOR_BOOLEAN Then
- value = NotNull(value, "False")
+ value = ClassAllgemeineFunktionen.NotNullString(value, "False")
If value = "1" Or value.ToLower = "true" Then
props.BoolValue = True
diff --git a/app/TaskFlow/ClassInit.vb b/app/TaskFlow/ClassInit.vb
index d4a375f..684b613 100644
--- a/app/TaskFlow/ClassInit.vb
+++ b/app/TaskFlow/ClassInit.vb
@@ -521,6 +521,10 @@ Public Class ClassInit
oSql = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WHERE ACTIVE = 1 ORDER BY LANG_CODE"
BASEDATA_DT_LANGUAGE = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE", New GetDatatableOptions(oSql, DatabaseType.ECM))
+
+ oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WHERE MODULE = 'taskFLOW' AND GRIDVIEW = 'GridViewWorkflows'"
+ BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))
+
oStopWatch.Done()
Catch ex As Exception
LOGGER.Error(ex)
diff --git a/app/TaskFlow/ClassRegexEditor.vb b/app/TaskFlow/ClassRegexEditor.vb
index 8900218..31647d7 100644
--- a/app/TaskFlow/ClassRegexEditor.vb
+++ b/app/TaskFlow/ClassRegexEditor.vb
@@ -12,7 +12,7 @@ Public Class ClassRegexEditor
Public Overrides Function EditValue(context As ITypeDescriptorContext, provider As IServiceProvider, value As Object) As Object
Dim oService As IWindowsFormsEditorService = TryCast(provider.GetService(GetType(IWindowsFormsEditorService)), IWindowsFormsEditorService)
- Dim oRegexString As String = NotNull(value, String.Empty)
+ Dim oRegexString As String = ClassAllgemeineFunktionen.NotNullString(value, String.Empty)
If oService IsNot Nothing Then
Using oform As New frmRegexEditor()
diff --git a/app/TaskFlow/ControlCreator/GridControl.vb b/app/TaskFlow/ControlCreator/GridControl.vb
index e87a889..63935e9 100644
--- a/app/TaskFlow/ControlCreator/GridControl.vb
+++ b/app/TaskFlow/ControlCreator/GridControl.vb
@@ -144,8 +144,16 @@ Namespace ControlCreator
Return oEditor
End If
End Function
+ ' Hilfsroutine: passt NUR das Summary-Item an (ohne FormatInfo)
+ Private Sub ApplyCurrencySummaryFormat(oCol As GridColumn, currencySymbol As String)
+ oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
+ ' Variante A: Standard-Währungsformat aus aktueller Kultur
+ ' oCol.SummaryItem.DisplayFormat = "SUM: {0:C2}"
- Public Sub ConfigureViewColumns(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl)
+ ' Variante B: Kulturunabhängig, Symbol explizit anhängen
+ oCol.SummaryItem.DisplayFormat = $"SUM: {{0:N2}} {currencySymbol}"
+ End Sub
+ Public Sub ConfigureViewColumns(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl, pcurrencySymbol As String)
Dim oShouldDisplayFooter As Boolean = False
@@ -192,8 +200,7 @@ Namespace ControlCreator
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_CURRENCY
- oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
- oCol.SummaryItem.DisplayFormat = "SUM: {0:C2}"
+ ApplyCurrencySummaryFormat(oCol, pcurrencySymbol)
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_AVG
diff --git a/app/TaskFlow/GdPicture.NET.14.Imaging.ML.64.dll b/app/TaskFlow/GdPicture.NET.14.Imaging.ML.64.dll
deleted file mode 100644
index 2ad8950..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.Imaging.ML.64.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.Imaging.ML.dll b/app/TaskFlow/GdPicture.NET.14.Imaging.ML.dll
deleted file mode 100644
index 387246a..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.Imaging.ML.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.Imaging.Rendering.Skia.dll b/app/TaskFlow/GdPicture.NET.14.Imaging.Rendering.Skia.dll
deleted file mode 100644
index 8f60b41..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.Imaging.Rendering.Skia.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.barcode.1d.reader.64.dll b/app/TaskFlow/GdPicture.NET.14.barcode.1d.reader.64.dll
deleted file mode 100644
index a96a316..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.barcode.1d.reader.64.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.barcode.1d.reader.dll b/app/TaskFlow/GdPicture.NET.14.barcode.1d.reader.dll
deleted file mode 100644
index 6d24c8b..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.barcode.1d.reader.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.barcode.2d.reader.64.dll b/app/TaskFlow/GdPicture.NET.14.barcode.2d.reader.64.dll
deleted file mode 100644
index 2287de5..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.barcode.2d.reader.64.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.barcode.2d.reader.dll b/app/TaskFlow/GdPicture.NET.14.barcode.2d.reader.dll
deleted file mode 100644
index 4984254..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.barcode.2d.reader.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.filters.dll b/app/TaskFlow/GdPicture.NET.14.filters.dll
deleted file mode 100644
index 938c3f3..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.filters.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.image.gdimgplug.dll b/app/TaskFlow/GdPicture.NET.14.image.gdimgplug.dll
deleted file mode 100644
index 88eeff8..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.image.gdimgplug.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.machine.vision.64.dll b/app/TaskFlow/GdPicture.NET.14.machine.vision.64.dll
deleted file mode 100644
index af684ac..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.machine.vision.64.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.machine.vision.dll b/app/TaskFlow/GdPicture.NET.14.machine.vision.dll
deleted file mode 100644
index da04adb..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.machine.vision.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.twain.client.64.dll b/app/TaskFlow/GdPicture.NET.14.twain.client.64.dll
deleted file mode 100644
index 045fdd3..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.twain.client.64.dll and /dev/null differ
diff --git a/app/TaskFlow/GdPicture.NET.14.twain.client.dll b/app/TaskFlow/GdPicture.NET.14.twain.client.dll
deleted file mode 100644
index 51d630b..0000000
Binary files a/app/TaskFlow/GdPicture.NET.14.twain.client.dll and /dev/null differ
diff --git a/app/TaskFlow/ModuleControlProperties.vb b/app/TaskFlow/ModuleControlProperties.vb
index eab8a9c..2e2850e 100644
--- a/app/TaskFlow/ModuleControlProperties.vb
+++ b/app/TaskFlow/ModuleControlProperties.vb
@@ -124,7 +124,7 @@ Public Module ModuleControlProperties
Public Property SQLCommand() As SQLValue
Get
- Return New SQLValue(NotNull(_sql_command, "")) ', _sql_connection
+ Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_sql_command, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_sql_command = value.Value
@@ -150,7 +150,7 @@ Public Module ModuleControlProperties
Public Property Enable_SQL() As SQLValue
Get
- Return New SQLValue(NotNull(_Enable_SQL, "")) ', _sql_connection
+ Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Enable_SQL, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_Enable_SQL = value.Value
@@ -163,7 +163,7 @@ Public Module ModuleControlProperties
Public Property Enable_SQL_OnLoad() As SQLValue
Get
- Return New SQLValue(NotNull(_Enable_SQL_ONLOAD, "")) ', _sql_connection
+ Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Enable_SQL_ONLOAD, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_Enable_SQL_ONLOAD = value.Value
@@ -335,7 +335,7 @@ Public Module ModuleControlProperties
Public Property CtrlImage() As ImageValue
Get
- Return New ImageValue(NotNull(_image_Value, ""))
+ Return New ImageValue(ClassAllgemeineFunktionen.NotNullString(_image_Value, ""))
End Get
Set(ByVal value As ImageValue)
_image_Value = value.Value
@@ -346,7 +346,7 @@ Public Module ModuleControlProperties
Public Property Override_SQL() As SQLValue
Get
- Return New SQLValue(NotNull(_Override_SQL, "")) ', _sql_connection
+ Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Override_SQL, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_Override_SQL = value.Value
diff --git a/app/TaskFlow/ModuleRuntimeVariables.vb b/app/TaskFlow/ModuleRuntimeVariables.vb
index ff51a68..d7a7a27 100644
--- a/app/TaskFlow/ModuleRuntimeVariables.vb
+++ b/app/TaskFlow/ModuleRuntimeVariables.vb
@@ -32,10 +32,15 @@ Module ModuleRuntimeVariables
Public Property BASEDATA_DT_PROFILE_SEARCHES_SQL As DataTable
Public Property BASEDATA_DT_VW_PROFILE_USER As DataTable
+ Public Property BASEDATA_TBDD_COLUMNS_FORMAT As DataTable
+
+
+
Public Property CURRENT_ProfilGUID As Integer
Public Property CURRENT_ProfilName As String
Public Property CURRENT_PROFILE_LOG_INDEX As String
Public Property PROFILE_SHOW_DOCUMENT As Boolean = True
+ Public Property PROFILE_NOT_RESP_COMMENT As Boolean = True
Public Property CURRENT_DOC_GUID As Int64
Public Property CURRENT_DOC_ID As Int64
diff --git a/app/TaskFlow/My Project/AssemblyInfo.vb b/app/TaskFlow/My Project/AssemblyInfo.vb
index 03dc00e..8c84bad 100644
--- a/app/TaskFlow/My Project/AssemblyInfo.vb
+++ b/app/TaskFlow/My Project/AssemblyInfo.vb
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
+
diff --git a/app/TaskFlow/My Project/Settings.Designer.vb b/app/TaskFlow/My Project/Settings.Designer.vb
index 7dff18f..ae5e8b7 100644
--- a/app/TaskFlow/My Project/Settings.Designer.vb
+++ b/app/TaskFlow/My Project/Settings.Designer.vb
@@ -156,7 +156,7 @@ Namespace My
_
+ Global.System.Configuration.DefaultSettingValueAttribute("513")> _
Public Property frmValSearchSplitterDistance() As Integer
Get
Return CType(Me("frmValSearchSplitterDistance"),Integer)
diff --git a/app/TaskFlow/My Project/Settings.settings b/app/TaskFlow/My Project/Settings.settings
index 5b14335..9801874 100644
--- a/app/TaskFlow/My Project/Settings.settings
+++ b/app/TaskFlow/My Project/Settings.settings
@@ -27,7 +27,7 @@
0, 0
- 563
+ 513
Normal
diff --git a/app/TaskFlow/README.txt b/app/TaskFlow/README.txt
deleted file mode 100644
index 58cbced..0000000
--- a/app/TaskFlow/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-BASE MODULE
-===========
-
-This module is intended for often used constants and datastructures.
-Therefor it is important that this module does not have any dependencies on other modules!!
\ No newline at end of file
diff --git a/app/TaskFlow/TaskFlow.vbproj b/app/TaskFlow/TaskFlow.vbproj
index 91e0898..d9c5340 100644
--- a/app/TaskFlow/TaskFlow.vbproj
+++ b/app/TaskFlow/TaskFlow.vbproj
@@ -77,14 +77,16 @@
My Project\app.manifest
+
+
+
+
+
+
..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll
-
- False
- P:\Visual Studio Projekte\Bibliotheken\DD_LIB_Standards.dll
-
False
@@ -149,7 +151,8 @@
False
-
+
+ False
..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll
@@ -158,48 +161,43 @@
..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.SnapPanel\bin\Debug\DigitalData.Controls.SnapPanel.dll
-
- ..\packages\DigitalData.GUIs.Common.2.6.2\lib\net462\DigitalData.GUIs.Common.dll
+
+ False
+ ..\..\..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll
-
- ..\packages\DigitalData.Modules.Base.1.3.8\lib\net462\DigitalData.Modules.Base.dll
+
+ False
+ ..\..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll
- ..\packages\DigitalData.Modules.Config.1.3.0\lib\net462\DigitalData.Modules.Config.dll
+ False
+ ..\..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll
-
- ..\packages\DigitalData.Modules.Database.2.3.5.4\lib\net462\DigitalData.Modules.Database.dll
+
+ False
+ ..\..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll
..\..\..\..\2_DLL Projekte\DDModules\EDMIAPI\bin\Debug\DigitalData.Modules.EDMI.API.dll
- ..\packages\DigitalData.Modules.Encryption.1.3.1\lib\net462\DigitalData.Modules.Encryption.dll
+ False
+ ..\..\..\..\2_DLL Projekte\DDModules\Encryption\bin\Debug\DigitalData.Modules.Encryption.dll
-
- ..\packages\DigitalData.Modules.Filesystem.1.3.3\lib\net462\DigitalData.Modules.Filesystem.dll
-
-
- ..\..\..\..\2_DLL Projekte\DDModules\Interfaces\bin\Debug\DigitalData.Modules.Interfaces.dll
-
-
- P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Language.dll
+
+ False
+ P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DD_Modules\DigitalData.Modules.Interfaces.dll
..\..\..\..\2_DLL Projekte\DDModules\License\bin\Debug\DigitalData.Modules.License.dll
- ..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll
-
-
False
- ..\..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll
+ ..\..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll
- ..\packages\DigitalData.Modules.Patterns.1.3.1\lib\net462\DigitalData.Modules.Patterns.dll
-
-
- ..\packages\DigitalData.Modules.Windows.1.5.1\lib\net462\DigitalData.Modules.Windows.dll
+ False
+ ..\..\..\..\2_DLL Projekte\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll
False
@@ -386,8 +384,8 @@
-
- ..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll
+
+ ..\packages\System.IO.Packaging.9.0.0\lib\net462\System.IO.Packaging.dll
..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll
@@ -547,12 +545,6 @@
Form
-
- frmDashboard1.vb
-
-
- Form
-
frmDesignerLayout.vb
@@ -810,10 +802,6 @@
frmColumn_Detail.vb
Designer
-
- frmDashboard1.vb
- Designer
-
frmDesignerLayout.vb
Designer
@@ -1244,22 +1232,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
PreserveNewest
@@ -1287,7 +1259,6 @@
-
@@ -1360,16 +1331,16 @@
-
Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
- 140, 17
-
-
\ No newline at end of file
diff --git a/app/TaskFlow/frmDashboard1.vb b/app/TaskFlow/frmDashboard1.vb
deleted file mode 100644
index 0f426c5..0000000
--- a/app/TaskFlow/frmDashboard1.vb
+++ /dev/null
@@ -1,3 +0,0 @@
-Public Class frmDashboard1
-
-End Class
\ No newline at end of file
diff --git a/app/TaskFlow/frmFormDesigner.vb b/app/TaskFlow/frmFormDesigner.vb
index 64bfca6..84d0bef 100644
--- a/app/TaskFlow/frmFormDesigner.vb
+++ b/app/TaskFlow/frmFormDesigner.vb
@@ -1,12 +1,10 @@
Imports System.ComponentModel
-Imports DD_LIB_Standards
+
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
Imports DigitalData.Controls.LookupGrid
-Imports DigitalData.Modules.Language.Utils
-Imports DigitalData.Modules.Language
Imports System.Drawing
Imports DigitalData.GUIs.Common
Imports DevExpress.Utils.Filtering.Internal
@@ -52,7 +50,7 @@ Public Class frmFormDesigner
ORDER BY NAME"
)
CURRENT_CONTROL_NAME_LIST = oControlNameList.AsEnumerable().
- Select(Function(row) row.ItemEx("NAME", String.Empty)).
+ Select(Function(row) ClassAllgemeineFunktionen.NotNullString(row.Item("NAME"), String.Empty)).
ToList()
_Logger.debug("Reloading control name list done!")
End Sub
@@ -79,7 +77,7 @@ Public Class frmFormDesigner
' Try
' Windream initialisieren
If IDB_ACTIVE = False Then
- clsWindream.Create_Session()
+ 'clsWindream.Create_Session()
bbtnitButton.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
bbtnitButton.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
@@ -90,7 +88,7 @@ Public Class frmFormDesigner
Dim unsortedIndicies
Dim sortedIndicies As List(Of String)
If IDB_ACTIVE = False Then
- unsortedIndicies = clsWD_GET.GetIndicesByObjecttype(CURRENT_OBJECTTYPE).ToList()
+ unsortedIndicies = WINDREAM_MOD.GetIndiciesByObjecttype(CURRENT_OBJECTTYPE).ToList()
sortedIndicies = unsortedIndicies '.OrderBy(Function(index As String) index).ToList()
sortedIndicies = sortedIndicies.OrderBy(Function(index As String) index).ToList
Else
@@ -112,7 +110,7 @@ Public Class frmFormDesigner
If IDB_ACTIVE = False Then
Windream_ChoiceLists = New List(Of String)
Windream_ChoiceLists.Add(String.Empty)
- Windream_ChoiceLists.AddRange(clsWD_GET.GetChoiceLists())
+ Windream_ChoiceLists.AddRange(WINDREAM_MOD.GetChoiceLists())
End If
'Catch ex As Exception
@@ -146,7 +144,7 @@ Public Class frmFormDesigner
Dim missingIndexControls As New List(Of String)
For Each row As DataRow In dt.Rows
- If NotNull(row.Item("INDEX_NAME"), String.Empty) = String.Empty Then
+ If ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), String.Empty) = String.Empty Then
missingIndexControls.Add(row.Item("NAME"))
End If
Next
@@ -176,7 +174,7 @@ Public Class frmFormDesigner
Private Function IsVectorIndex(IndexName As String) As Boolean
Dim oType As Integer
If IDB_ACTIVE = False Then
- oType = clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
oType = IDBData.GetTypeOfIndex(IndexName)
End If
@@ -185,9 +183,9 @@ Public Class frmFormDesigner
End Function
Private Function IsNotBooleanIndex(IndexName As String) As Boolean
- Dim oType As Integer '= clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ Dim oType As Integer '= WINDREAM_MOD.GetIndexType(IndexName)
If IDB_ACTIVE = False Then
- oType = clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
oType = IDBData.GetTypeOfIndex(IndexName)
End If
@@ -195,9 +193,9 @@ Public Class frmFormDesigner
End Function
Private Function IsNotDateIndex(IndexName As String) As Boolean
- Dim oType As Integer '= clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ Dim oType As Integer '= WINDREAM_MOD.GetIndexType(IndexName)
If IDB_ACTIVE = False Then
- oType = clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
oType = IDBData.GetTypeOfIndex(IndexName)
End If
@@ -205,9 +203,9 @@ Public Class frmFormDesigner
End Function
Private Function IsNotVectorBooleanIndex(IndexName As String) As Boolean
- Dim oType As Integer '= clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ Dim oType As Integer '= WINDREAM_MOD.GetIndexType(IndexName)
If IDB_ACTIVE = False Then
- oType = clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
oType = IDBData.GetTypeOfIndex(IndexName)
End If
@@ -215,9 +213,9 @@ Public Class frmFormDesigner
End Function
Private Function IsNotVectorDateIndex(IndexName As String) As Boolean
- Dim oType As Integer '= clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ Dim oType As Integer '= WINDREAM_MOD.GetIndexType(IndexName)
If IDB_ACTIVE = False Then
- oType = clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
oType = IDBData.GetTypeOfIndex(IndexName)
End If
@@ -225,9 +223,9 @@ Public Class frmFormDesigner
End Function
Private Function IsNotVectorDatetimeIndex(IndexName As String) As Boolean
- Dim oType As Integer '= clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ Dim oType As Integer '= WINDREAM_MOD.GetIndexType(IndexName)
If IDB_ACTIVE = False Then
- oType = clsWD_GET.GetTypeOfIndexAsIntByName(IndexName)
+ oType = WINDREAM_MOD.GetIndexType(IndexName)
Else
oType = IDBData.GetTypeOfIndex(IndexName)
End If
@@ -248,12 +246,12 @@ Public Class frmFormDesigner
Dim name As String = row.Item("NAME")
Dim x As Integer = row.Item("X_LOC")
Dim y As Integer = row.Item("Y_LOC")
- Dim style As FontStyle = NotNull(row.Item("FONT_STYLE"), FontStyle.Regular)
- Dim size As Single = NotNull(row.Item("FONT_SIZE"), 10)
- Dim familyString As String = NotNull(row.Item("FONT_FAMILY"), "Arial")
+ Dim style As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), FontStyle.Regular)
+ Dim size As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), 10)
+ Dim familyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), "Arial")
Dim family As FontFamily = New FontFamily(familyString)
Dim font As New Font(family, size, style, GraphicsUnit.Point)
- Dim color As Color = IntToColor(NotNull(row.Item("FONT_COLOR"), 0))
+ Dim color As Color = IntToColor(ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_COLOR"), 0))
' Jetzt die Control spezifischen Eigenschaften zuweisen
@@ -297,7 +295,7 @@ Public Class frmFormDesigner
Dim oDTColumnsPerDevExGrid As DataTable = DatabaseFallback.GetDatatableECM(oSQL) ', "FDesignLaodControls")
- Dim table = ControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True)
+ Dim table = ControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True, "EUR")
AddHandler table.MouseClick, AddressOf gridControl_MouseClick
' AddHandler table.ColumnHeaderMouseClick, AddressOf table_ColumnHeaderMouseClick
@@ -581,17 +579,17 @@ Public Class frmFormDesigner
obj.Location = New Point(row.Item("X_LOC"), row.Item("Y_LOC"))
obj.Name = row.Item("NAME")
obj.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
- obj.ChangedAt = NotNull(row.Item("CHANGED_WHEN"), Nothing)
- obj.ChangedWho = NotNull(row.Item("CHANGED_WHO"), "")
+ obj.ChangedAt = ClassAllgemeineFunktionen.NotNullDate(row.Item("CHANGED_WHEN"), Nothing)
+ obj.ChangedWho = ClassAllgemeineFunktionen.NotNullString(row.Item("CHANGED_WHO"), "")
- Dim style As FontStyle = NotNull(row.Item("FONT_STYLE"), FontStyle.Regular)
- Dim size As Single = NotNull(row.Item("FONT_SIZE"), 10)
- Dim familyString As String = NotNull(row.Item("FONT_FAMILY"), "Arial")
+ Dim style As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), FontStyle.Regular)
+ Dim size As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), 10)
+ Dim familyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), "Arial")
Dim family As FontFamily = New FontFamily(familyString)
obj.Font = New Font(family, size, style)
- Dim color As Integer = NotNull(row.Item("FONT_COLOR"), 0)
+ Dim color As Integer = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_COLOR"), 0)
obj.TextColor = IntToColor(color)
@@ -614,11 +612,11 @@ Public Class frmFormDesigner
obj.SaveChangeOnReadOnly = StrToBool(row.Item("SAVE_CHANGE_ON_ENABLED"))
obj.Required = StrToBool(row.Item("VALIDATION"))
obj.Active = StrToBool(row.Item("CONTROL_ACTIVE"))
- obj.Index = NotNull(row.Item("INDEX_NAME"), "")
- obj.DefaultValue = NotNull(row.Item("DEFAULT_VALUE"), Nothing)
+ obj.Index = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
+ obj.DefaultValue = ClassAllgemeineFunktionen.NotNullString(row.Item("DEFAULT_VALUE"), Nothing)
' Default value for ConnectionID
- Dim oConnectionId = row.ItemEx("CONNECTION_ID", 0)
+ Dim oConnectionId = ClassAllgemeineFunktionen.NotNullString(row.Item("CONNECTION_ID"), 0)
obj.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG"))
Return obj
End Function
@@ -679,9 +677,9 @@ Public Class frmFormDesigner
Dim check As CheckBox = sender
Dim checkProps As CheckboxProperties = CreatePropsObjectWithIndicies(New CheckboxProperties, oRow, Source_AllIndicies)
checkProps.Text = check.Text
- checkProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- checkProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
- checkProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), ""))
+ checkProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ checkProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ checkProps.SetControlData = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SET_CONTROL_DATA"), ""))
props = checkProps
ElseIf TypeOf sender Is LookupControl3 Then
Dim oLookup As LookupControl3 = sender
@@ -690,20 +688,20 @@ Public Class frmFormDesigner
lookupProps.PreventDuplicates = StrToBool(oRow.Item("VKT_PREVENT_MULTIPLE_VALUES"))
lookupProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM"))
lookupProps.DisplayAsComboBox = False
- lookupProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- lookupProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
- lookupProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), ""))
+ lookupProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ lookupProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ lookupProps.SetControlData = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SET_CONTROL_DATA"), ""))
props = lookupProps
ElseIf TypeOf sender Is TextEdit Then
'Dim txt As TextEdit = sender
Dim txtProps As TextboxProperties = CreatePropsObjectWithIndicies(New TextboxProperties, oRow, Source_AllIndicies)
- txtProps.Regex = NotNull(oRow.Item("REGEX_MATCH"), String.Empty)
- txtProps.RegexMessage = NotNull(oRow.Item("REGEX_MESSAGE_DE"), String.Empty)
- txtProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- txtProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
- txtProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), ""))
- txtProps.DisplayFormat = oRow.ItemEx("FORMAT_STRING", ClassControlCreator.CONTROL_TYPE_TEXT)
+ txtProps.Regex = ClassAllgemeineFunktionen.NotNullString(oRow.Item("REGEX_MATCH"), String.Empty)
+ txtProps.RegexMessage = ClassAllgemeineFunktionen.NotNullString(oRow.Item("REGEX_MESSAGE_DE"), String.Empty)
+ txtProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ txtProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ txtProps.SetControlData = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SET_CONTROL_DATA"), ""))
+ txtProps.DisplayFormat = ClassAllgemeineFunktionen.NotNullString(oRow.Item("FORMAT_STRING"), ClassControlCreator.CONTROL_TYPE_TEXT)
props = txtProps
@@ -711,18 +709,18 @@ Public Class frmFormDesigner
Dim cmb As Windows.Forms.ComboBox = sender
Dim cmbProps As ComboboxProperties = CreatePropsObjectWithIndicies(New ComboboxProperties, oRow, Source_AllIndicies)
cmbProps.ChoiceLists = Windream_ChoiceLists
- cmbProps.ChoiceList = NotNull(oRow.Item("CHOICE_LIST"), String.Empty)
- cmbProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- cmbProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
- cmbProps.SetControlData = New SQLValue(NotNull(oRow.Item("SET_CONTROL_DATA"), ""))
+ cmbProps.ChoiceList = ClassAllgemeineFunktionen.NotNullString(oRow.Item("CHOICE_LIST"), String.Empty)
+ cmbProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ cmbProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ cmbProps.SetControlData = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SET_CONTROL_DATA"), ""))
props = cmbProps
cmbProps.DisplayAsLookUpControl = False
ElseIf TypeOf sender Is DateTimePicker Then
Dim dtp As DateTimePicker = sender
Dim dtpProps As DatepickerProperties = CreatePropsObjectWithIndicies(New DatepickerProperties, oRow, Source_AllIndicies)
- dtpProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- dtpProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ dtpProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ dtpProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
props = dtpProps
ElseIf TypeOf sender Is DataGridView Then
@@ -737,17 +735,17 @@ Public Class frmFormDesigner
Dim oGridControl As GridControl = sender
Dim oGridProps As GridControlProperties = CreatePropsObjectWithIndicies(New GridControlProperties, oRow, Source_VectorIndicies)
oGridProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM"))
- oGridProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- oGridProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ oGridProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ oGridProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
props = oGridProps
ElseIf TypeOf sender Is Button Then
Dim oButton As Button = sender
Dim oButtonProps As ButtonProperties = CreatePropsObject(New ButtonProperties, oRow, Source_VectorIndicies)
oButtonProps.Text = oButton.Text
oButtonProps.SQLCommand = New SQLValue(oRow.Item("SQL_UEBERPRUEFUNG"))
- oButtonProps.Override_SQL = New SQLValue(NotNull(oRow.Item("SQL2"), ""))
- oButtonProps.Enable_SQL = New SQLValue(NotNull(oRow.Item("SQL_ENABLE"), ""))
- oButtonProps.Enable_SQL_OnLoad = New SQLValue(NotNull(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
+ oButtonProps.Override_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL2"), ""))
+ oButtonProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
+ oButtonProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
If Not IsDBNull(oRow.Item("IMAGE_CONTROL")) Then
Dim obimg() As Byte = oRow.Item("IMAGE_CONTROL")
Dim oBitmap As Bitmap = ByteArrayToBitmap(obimg)
@@ -980,7 +978,7 @@ Public Class frmFormDesigner
Private Sub MenuItemAddColumn_Click(sender As Object, e As EventArgs) Handles MenuItemAddColumn.Click
Try
- Dim oGuid = clsTools.ShortGuid()
+ Dim oGuid = ClassAllgemeineFunktionen.NewShortGuid()
Dim oColumnName As String = "colNew" & oGuid
Dim oColumnCaption As String = "New Column " & oGuid
If DatabaseFallback.ExecuteNonQueryECM($"INSERT INTO TBPM_CONTROL_TABLE (CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE) VALUES({CURRENT_CONTROL_ID}, '{oColumnName}', '{oColumnCaption}', 95)") = True Then
diff --git a/app/TaskFlow/frmMain.Designer.vb b/app/TaskFlow/frmMain.Designer.vb
index eff8cdb..b253692 100644
--- a/app/TaskFlow/frmMain.Designer.vb
+++ b/app/TaskFlow/frmMain.Designer.vb
@@ -83,6 +83,7 @@ Partial Class frmMain
Me.BBtnItmNotfications = New DevExpress.XtraBars.BarButtonItem()
Me.BSIVERSION1 = New DevExpress.XtraBars.BarStaticItem()
Me.barbtnitmsaveLogfiles = New DevExpress.XtraBars.BarButtonItem()
+ Me.bsitmCount = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -289,9 +290,9 @@ Partial Class frmMain
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles, Me.bsitmCount})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
- Me.RibbonControl1.MaxItemId = 56
+ Me.RibbonControl1.MaxItemId = 57
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageTabelle, Me.RibbonPageAktionen})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1, Me.RepositoryItemTrackBar1, Me.cmbGridFontSize})
@@ -721,6 +722,13 @@ Partial Class frmMain
Me.barbtnitmsaveLogfiles.Name = "barbtnitmsaveLogfiles"
Me.barbtnitmsaveLogfiles.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
'
+ 'bsitmCount
+ '
+ resources.ApplyResources(Me.bsitmCount, "bsitmCount")
+ Me.bsitmCount.Id = 56
+ Me.bsitmCount.Name = "bsitmCount"
+ Me.bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
+ '
'RibbonPageStart
'
Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup7, Me.RibbonPageGroup4, Me.RibbonPageGroupAHW})
@@ -847,6 +855,7 @@ Partial Class frmMain
Me.RibbonStatusBar1.ItemLinks.Add(Me.BSIVERSION1)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsilastsync)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiDebug)
+ Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmCount)
resources.ApplyResources(Me.RibbonStatusBar1, "RibbonStatusBar1")
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
@@ -974,6 +983,7 @@ Partial Class frmMain
Me.DocumentViewerBarManager1.DockControls.Add(Me.barDockControlBottom)
Me.DocumentViewerBarManager1.DockControls.Add(Me.barDockControlLeft)
Me.DocumentViewerBarManager1.DockControls.Add(Me.barDockControlRight)
+ Me.DocumentViewerBarManager1.DockWindowTabFont = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.DocumentViewerBarManager1.Form = Me
Me.DocumentViewerBarManager1.ImageStream = CType(resources.GetObject("DocumentViewerBarManager1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
Me.DocumentViewerBarManager1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.PrintPreviewStaticItem1, Me.ProgressBarEditItem1, Me.PrintPreviewBarItem1, Me.PrintPreviewStaticItem2, Me.ZoomTrackBarEditItem1, Me.bbiDocumentMap, Me.bbiParameters, Me.bbiThumbnails, Me.bbiFind, Me.bbiHighlightEditingFields, Me.bbiCustomize, Me.bbiOpen, Me.bbiSave, Me.bbiPrint, Me.bbiPrintDirect, Me.bbiPageSetup, Me.bbiEditPageHF, Me.bbiScale, Me.bbiHandTool, Me.bbiMagnifier, Me.bbiZoomOut, Me.bbiZoom, Me.bbiZoomIn, Me.bbiShowFirstPage, Me.bbiShowPrevPage, Me.bbiShowNextPage, Me.bbiShowLastPage, Me.bbiMultiplePages, Me.bbiFillBackground, Me.bbiWatermark, Me.bbiExportFile, Me.bbiSendFile, Me.bbiClosePreview, Me.miFile, Me.miView, Me.miBackground, Me.miPageLayout, Me.miPageLayoutFacing, Me.miPageLayoutContinuous, Me.miToolbars, Me.PrintPreviewBarCheckItem1, Me.PrintPreviewBarCheckItem2, Me.PrintPreviewBarCheckItem3, Me.PrintPreviewBarCheckItem4, Me.PrintPreviewBarCheckItem5, Me.PrintPreviewBarCheckItem6, Me.PrintPreviewBarCheckItem7, Me.PrintPreviewBarCheckItem8, Me.PrintPreviewBarCheckItem9, Me.PrintPreviewBarCheckItem10, Me.PrintPreviewBarCheckItem11, Me.PrintPreviewBarCheckItem12, Me.PrintPreviewBarCheckItem13, Me.PrintPreviewBarCheckItem14, Me.PrintPreviewBarCheckItem15, Me.PrintPreviewBarCheckItem16, Me.PrintPreviewBarCheckItem17, Me.PrintPreviewBarCheckItem18, Me.PrintPreviewBarCheckItem19})
@@ -1799,4 +1809,5 @@ Partial Class frmMain
Friend WithEvents GridViewWorkflows As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents BSIVERSION1 As DevExpress.XtraBars.BarStaticItem
Friend WithEvents barbtnitmsaveLogfiles As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents bsitmCount As DevExpress.XtraBars.BarStaticItem
End Class
diff --git a/app/TaskFlow/frmMain.resx b/app/TaskFlow/frmMain.resx
index 056a786..a9a6a92 100644
--- a/app/TaskFlow/frmMain.resx
+++ b/app/TaskFlow/frmMain.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
- CAAAAk1TRnQBSQFMAgEBAgEAAUABCwFAAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ CAAAAk1TRnQBSQFMAgEBAgEAAXABCwFwAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -190,26 +190,26 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm
- cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAANJJREFUOE+lkrENwkAQBI1EATRg0YFzirDI
- SMgdIkeQ0wQlkJKZjH5o4tl9/Z5O6B6BCUY67d7tv33fpJT+IhR/wYr+fBctGMEEngXW1OjlvlrAAhxA
- qnADGxAGrEAPGHICA1gXWD+AQtooYF8aGGK68zugkFG6TA7pmjlEDR7ovAn9SVo0LCwk8IyPJoeP18sS
- dfUQfz2uiuIgzcPm4tswdd/APdPgj+qkO9+H2Of5Bj4Srkgh72vcAYXYnA8gfCQKidiC3FsLIPOe8lxC
- 8XtS8wL/7IdaesUzOwAAAABJRU5ErkJggg==
+ cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAANJJREFUOE+lkjEOwjAMRYvEAbhAxQ26c4gv
+ Nhb2jqgT7L4ER2BlqzfuwyWCfuVEbpoWFYYvRf72ixO7CiFU/2gSWKt0gGhUDdEOoj1E3yaeGaM35M0B
+ NhC9QDTM6AnRwxxgB1EY5AbRFqJ7E88vB6lLgLMlEDJ6p/mNg3QjgBX5VpEDLI+d0O8ToFA8gRS8pEWT
+ xdfHfbt0iW+Po2KwzVs3P4cMHfoEzpkGP6opADwkPc8ncEk4ogjJx3hykFSX38AliZCSjt82MXayfpV/
+ 1SSwVh//7Idal7KmPwAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA1dEVYdFRpdGxlAEFycm93O1JlY3VycmVuY2U7UmVm
- cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAAc5JREFUWEfFlj1Ow1AQhFMEmnRIFCgUFCDl
- BNAlJ/BVUtImQkIcAW7gA9BwgHTUqSgouAK9mUHeaN9mXuwQ8VJ8Sjxvdnfkv+dB0zRHRYolkWJJpFgS
- KZZEijmqh7cJmIMarMF3C/9T49pE1eaQYgRNx2AJPkDTAT30jlWviBQ9aHQLXkEc1AVrpqqnR4oGGpAL
- 8AnUkC5WYGcIKRIUkqr9vQIW4h0swAyctfA/Na7FEDwT2cshRYIiDmcDH+IR3Cg/4Rp4ATHEUvnJlnBf
- Pw9RYMMNC3ES/RF4RiCG4I0pn47kAMPPYYzDjcp7dwEvz0S8HHPlTQ5gyg039gnBe8LX1sq3+QND13Cj
- Vwj4eGP6urXymbnvcCMJweOw3pfqoOIDQ/zWbxp4sMh3uzfPlC8C396XcasJgYEbiy9YKJ8C3q4QyZlL
- ig2YuKv5Ij5S2RdQBN5ciIqPuvcmhQaM3HbjzseXy0j5PfCcAhWCw4fRnxx4UMAt1TcgDNH1Kn4C18CH
- SE67R4oERfwGUNtwn83oC/gQcgaRooHCKeCWGkP0gSEugextSNGDBgzx1w+SO9XTI8UIGh3vk8yDpsf5
- KP1PpFgSKZZEiiWRYjmawQ//5PL6OeAKogAAAABJRU5ErkJggg==
+ cmVzaDtVcGRhdGU7UmVsb2FkO0V4Y2hhbmdlhrRdSAAAAcFJREFUWEfFlr1NA0EQhR0YEmdIBMgEBFhy
+ BZDZFUwrDkltjYQoATpwASRTABmxIwICWiA/9ND6NLzZ+7PFOvjk07v5ed673blRVVWjUxKE0gShNEEo
+ TRBKE4Q2RG0uaitR24raTtS+E7iGhntzzmsjCDlEbSpqG1H7ELWqA8Qgdsp1cgSBEbU7UXvNNOoCOQuu
+ xwSBmoMrUfvMNOjDW5eJIFBzSb83zsS7qK1FbSlqFwlcQ8M9NoGVaHwcQXAG0BwFvIlHUZtxrMuZidpL
+ xsSGY/cE4WH7PHbN9+xNnHE8I2qTjAm8mNndwc0vM81rE5zcRFoJfhwrjgOc2NT8EBN4J3zulmPAkOaD
+ TKQX0+ftOKY2MKB51sQB+XWdo5KPNPGbH5YkFcPZ7oOXHJNjgInafCiSCmGw+IQ1xzTRw8SflQsFUhFM
+ NZ+ELdV4ADEtJgRb3ceG5FQAY5cnHw6XCccyonbujnFuPub4UMAVwkjlfwATjSuRDqAnUbslE41bNwiu
+ GL4BcmO4zzD6IhOhfqeBZGKRRiqb6ANMXLc17zTgTORWogvk3HM9Jgg5TvpJ5jnZR+l/EoTSBKE0QShN
+ EErzA//k8vrkws0EAAAAAElFTkSuQmCC
@@ -219,20 +219,19 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj
- aMjN118AAACCSURBVDhPtY7REYAwCENd0DUcxGOJbuJ22KjpUSy13unHOw0JoZOqFuZ1UzIyB5WIgtEc
- NEM2HM2JL1h80OrM4XMHfFPgQoUnD4TXO1SvCC9cdH1bMHqdlFf8VwAzf0nlZV4XNLEFN2ACEVGD12mk
- gEv8t/oM9XALXreXLFeYOC1pB/JUiL0FdxNpAAAAAElFTkSuQmCC
+ aMjN118AAAB6SURBVDhPtZPbCYAwDEW7oGs4iGQJN3G7FKVXkksTAtaPA+bRkzZgU9UGtuNSUMnfuCBq
+ jPJOYJtsM+dYwoKdG+nwU18voKZM4GoscNMT3C3CCYO0bgXV6eC9xX+CsRvwWTAlXSK2LCJq4PisCHAI
+ 3zb2P8aMFYL0CR3yVIi92aeygQAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEZpbmQ7SWQ7TG9jYXRlO1NlYXJj
- aMjN118AAADxSURBVFhH7ZJRDsIwDEN3Qa7BQdAuwU24XUZQi1zPrbJ1G2Lax5OIcRxTMZjZT5HikUjx
- SKTI3B4vI5Rn5mOPQopMNDjqQ6TIRIOjPkSKGQ5klvoUUsykgDuGIeRTfHazTyHFDIZUQJ/iKvDHBSio
- RtiL2YgUnbTY+vVRmq8gRQeXO9mvAHlrLCtAy5vD94rBScYtnp6RL1EMDpo35mQFKnstrgK7FwjBezPh
- bfIDqwqM42hL8L0ixEkHugqgLuYn+r5fZNKB7hdwTc2o++cixOFDNcTeSQr0kIP5EM6o+2cZtBYMRo3m
- 9p+whxwcxcyGCV++4POOhQ6sAAAAAElFTkSuQmCC
+ aMjN118AAADRSURBVFhH7ZJrCsMwDIN7wV1jBxm5xG6y23l0UDCS4jlN0z3Ijw9qIStK6GJmyych4WxI
+ OBsSFJfbwwDlIR96FCQossFZn4cERTY46/OQEAUirT4FCaLAFQMxGHXHaxdzDyuw/YxCnwX+oIAIU6S9
+ mJ8tEN0+S/gKJPxUAfDWaCsgAg4Fz6sVCG++E/kSs8DuApW9iFlgeIEUuEdCT4FSirUwrIDXxXwfXmAL
+ V7PXowJvEXvyQJy/v0AP6kCcvb5+U0gPPthrMMc/YQ/+xhnWnSdfvuDzi8ClJgAAAABJRU5ErkJggg==
@@ -242,31 +241,31 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp
- eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAARBJREFUOE+l
- 0z9qAlEQx/E1Bi1t7D1BCgXb3EBT2nkBmxQSW5HtPUCKdIGcwL2CFnuI4A0EFSRuvr9lHsyTlSWk+PCY
- cf68XTUpiuJfKpN/kaRpek8D7ziYDzwgqouCG11sUThDRHU+uLfxB2HABL4nGqDpfpsot3PxAr4nGqDp
- vlmU+0SONnx9yQeaHg0YrbLENNHH2U7F5Wd+QAdHNZqDFWnQG2a42qm4XOAHyBxhwJQCbVLxxRoCxcpH
- Ax7xhGfToEDX1UY1rdGzU7HyfTXq5SzxjT1eTIsCPbOurYYeuVedFit/1oAvhGt77fFqM6Co9ganm8Yg
- p6DuHTTD81eioP5bqPqHBSpw/O/AclnyC9lwIPbajFPHAAAAAElFTkSuQmCC
+ eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAAQtJREFUOE+l
+ kzFKA1EQhjdGTJnGPiewiGDrDV4s7XKBNBairTy+3gNY2AU8ge8KSZFDSG4Q0EDQlT9MZHbUsGLx85jZ
+ +b+ZnX1b1XVd/UffEn9VBfymDvAArEyPwEGsiyavY2AG1E5nsa5Nx3cHuNwHEN1323Wcu/h2H0D0CFBu
+ CiyAXjRHgOgNQMqlMnVTLsOUy9pOxdtnHtAHXh1gZUUC3aRcJimXDzsVbxvEka4dYGydVLwxw06KlW8A
+ DoET4NzUsXHVUab7lMvATsXKD2XUcu6AF2AJXJiO7J01tgwD4MogipVfC/AUl2fqjfLzaZsJ3n4wS4sW
+ O+jGJTbU6ivEv8vL3QPJ34Ov/CfZcCD26DMX0AAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp
- 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
+ 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
@@ -276,25 +275,24 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAEJ1aWxkO1NldHRpbmdzO0N1c3Rv
- bWl6O09wdGlvbnNZCaCYAAAAvklEQVQ4T72RQQoCMQxFB7qYY8wZ6j0E7+HOxRxAu/c44wFcz1FcFxTj
- /5DBBmaa4sLAIyTk/6ZtJyKGlJI4mHlTEA5txX8MgBdm3hSP+0lKlljptxlsUWpaDF5gBv1CqfEM2Ov2
- 51s4XKYdctYcWgx4MsUCRnAEb82sIakbzBgKOvykoID16Bn0ui5PpOgKBs2s2Y9VAwxkwLUpGNDjlWjC
- mv3sGUTw8wbuG4BgDNZQQdsv1ICA1+GbxG9fug/ssNACwjT8OgAAAABJRU5ErkJggg==
+ bWl6O09wdGlvbnNZCaCYAAAAvElEQVQ4T72RTQoDIQyFhVnMMeYM9h5C79GdizmAdd/jNAdwPUdxPdBS
+ yysRtPgzUmjgERLNl0RFCEGkstaGjrL7WRABNfsP4LuoYHWAdzqkilbIHwPUNAp4eqc37/QcNQJATihD
+ 0/l6PylDO/vpCACdURyUoVUZuihDL/aIP6u0ABs68eUHg6IQrz3AzOOiI4puytDCHjHysgnAzjw2ChZe
+ CRDEyO89gPxlgu4b4DwDlDT0Cy3xOngTmebf7LDQAkwPYM4AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAEJ1aWxkO1NldHRpbmdzO0N1c3Rv
- bWl6O09wdGlvbnNZCaCYAAABy0lEQVRYR82VPU7DQBSEc4O0UZQ2TZooB6HMRZCoIyFXdFyDE3AAKqrQ
- 0keIBkU0EQixzET7nJeXifAPllnpU9azb2d27bUzSCn1ihQjRVGkBnCe9PNIUVC7VQknUvS4HdUmeimk
- 6MlGtVtehPT0SDHQuLVeQN5FK6JnRIpGNmjcWi8A/EVTviVSJG8Pl+kc3187lBwar1WdgSYziBSJMjI+
- Xh9Rcmi8VnUGmswgUiTKyHh/ut2Hcuf85bWqM6K3R4pEGTUlenukSJRRU6K3R4pEGTUlenukSJRRRZ7B
- 0KP8DSkSTFTmihewcawvru+nYJuZKn9DigRGKizC8AFCRmCM/hJcoT8HKTM3T9aAkc8pO5Ec8BsbGuag
- O7AAE3ADPjPsU+MYa1hbLuIk2BBhCi6AuzLjKrB2bDknwYYIU/CZL2HI3akwxcLnHIV6QpCCp30N+Mx5
- iy2Ad2UFZhn2qdn4xOcchXpc0DmGMONp54Hjc7aAFcY4v4SaG2ct5+zfDhlOMFGFergAvmY05WGzgBnG
- 4gJ4J2zcarfMkeEEE1Wo518soNdH0PshJN29hlWBYTcfoqrArJtPcR1oCMpdod/+z6gNCKn4d5wGP9ko
- qHzFAnr7AAAAAElFTkSuQmCC
+ bWl6O09wdGlvbnNZCaCYAAABh0lEQVRYR+2VsWrDMBCG/QZZS8iaJUvIg9zYFzF0DghP3foafYJ7AE+d
+ 0rV7KF1M6BJaSlX+cCrKyQbJsjCUCj5snc73/5Ilu7LWVnMSBPpomsaOAM8FtTRBYIDkFiMOgoCmZ2bR
+ 6Fp9BAGNFEpuYiKopwkCPYxu2Qb0ko5B19QEAW0gp2Ub0AVHNl0zzkDX1naI76/zlQL6OsdH18428PH2
+ dGUAfZ1T1MD788NFFDPHFX2dU9RAKrr2v4HSBl66tl746NpTG3jt2vrocSDDazJ8Eta69pQGIF6R4Rsy
+ vOza+rZr6zsyvCXDVti6mshB7pQGjiIOoUcyvCPDKzJ8T4Y/BdwjhjHkIPfXRCA8wgBm5QrHgNzlZAaw
+ 7DI7LTTEztcJhBMMYLcf5J1jiZ0AVmVPhjcC7hFz46upDCxkt2PD4T07gT02po+YcOPIxTOX0xEIJxrA
+ MUNRbDYnsOkxgJVw4y739CcMzPoKZt+EoNwxjKXYhyiWYp/iFNzPyOvn/4xySPkd/wDZKKh8C7Im0wAA
+ AABJRU5ErkJggg==
@@ -304,27 +302,25 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
- cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF
- pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq
- 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW
- sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/
- tQHvKFEAAAAASUVORK5CYII=
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAMpJREFUOE+lkTEKwkAQRVOIvcdQsLHSSu3zz+Bd
+ prLxEB5CmF4EPUNOoHUsVGTly64ky6wbSPHCMPPnEXYK51zRh+8HojFziJ4gevecIbqMcynBAKJXiLqI
+ G0SHXQRjYzkw6SJYGYuBdRfB1lgMcJYVLCD6NpbZ4+NmBeRoCNhr5f4JeLJnY5l15zMGNhC9eFjH86Rg
+ BNFddHPW7HGWFMwgeoDoy//2HqJTD2v2OGOG2ZaghOjDeLgUzJZNQWWEclRNQW0EctQ/QR8+p3w/tXIZ
+ TNYAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
- cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAfhJREFUWEfF1rFLVWEYx3FBFweHwGhVamnIvdUQ
- CmwI+mOiIUIXwV10cQ8aGoVcbFWCiIYgAiVHsWgwSDj+fofzHN7nvV+vDt7r8Fne87zP99x7HZxomuZW
- DRw8X9m5jmV5J7/kf+dY3ssLoTtJ9FLcaLiyIc0VtoXu9qKX4kbDhadCQfJSaEcreiluNFzw104x8kFo
- Ryt6KW40XPguFCM/hHa0opfiRsOFv0Ix8ltoRyt6KW40XKDQZf4J7WhFL8WNhjuLQqFhfId29b0UNxru
- bApFhvEd2tX3UtxouLMmFBnGd2hX30txo+HOfTkRChHP+g7t6nspbjRceCMUI6+EdrSil+JGw4VHQjHi
- WdrRil6KGw1XPgoFS7tCd3vRS3Gj4cqCnAmFzc88Q3d70Utxo2HwTE6ljv8RP6M7SfRS3Gj4Enfltfgn
- +SRv5Z7Q7IDopbjRcGUSzmpTcJZEL8WNhguP5bM8KM5q/uv/Ip6l563opbjB8JysyDeJ33pPpqWenZED
- iTnfWZV5SbPRS3Erhu7Ilvj/vVhY2pcn4q/bluSr0Kx3eJd3XusFHspPoWW18w49q3mnd/e9FDc9nJVD
- oQU3wbtno0cvsF4Mj8p69OgFRvnpw2H06AXowo2LHr3AUT08AkfRG3iBccPDccLDccLD8WkmLgAKdExB
- J+0x6AAAAABJRU5ErkJggg==
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAaRJREFUWEfFlqFLBFEQxg+0GAzCiVXRYtBuVQQF
+ Jwj+MWIQmSvCddFiFwzGAS1aFUHEIIhwh0ZRMSgorAy8lXP2e2/XfXtr+JX35pvvd7sbrpEkSeM/yRwQ
+ SxFWiOWAWB6I5dPxSCyHxLIK5jPECOwQS5LDPshVIrAEynysgXy0gD52W+TjCOSjBW5BkY87kI8WeANF
+ Pl5APlrAloT4APkogXlQkodm7J7SArugIA/N2D2lBbZBQR6asXtKC0wSyxMo8aGzmrF7Sgsom6DIxzrI
+ RwvMgCIfOmvz0QLKMSiznIBcZQKzxPIOSlP0TmdsrjIBZZlYnkH5q7uz8xliBZRRYtlwr+SMWLaIZQzM
+ QWIEBsCZZRCc/aKswByxXBLLFLhL0a//ys3aux/+IjBOLEwsNz3v+pRYhsDsMLFc9MxppkUsE3a2iMAI
+ sey5/3v2Y1POiWXBPW5lkViuwZyiO3SX7iwkME0s92AR4sthzxG6U3cHBZrE0gHhqtDdzZBAG4Sqph0S
+ 6OevT+mEBOxwXwgJdO1wH+h6Beomc1A3mYO6yRzUzTcKdExBDdX0MAAAAABJRU5ErkJggg==
@@ -333,24 +329,23 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAJxJREFUOE+t
- k+ENQDAUhDuKafyzlN9MYQkbWEdiAO5rNEEOlZJ8Cb17l77XCk07XqlFLyYx7/DOGtrJf/yoRCcWsd6A
- hgfvKYCFQbgiB94YkgJIdcYnqIkB9GW3rSeA0wQ1NSLDcYa3AOgRmbATc5gI4JicmLOD+ZeA2xYyAmIL
- xUMsPkYoukhQfJVTCKm2nR00PLEYjgGJD7/zGDZMp1TRLvGgqwAAAABJRU5ErkJggg==
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAJtJREFUOE+t
+ k8ENgCAMRRnFabx1qZ51CpfoBq5j4gCYRzSBRiKKh5dAf/tDCwRRC45R1GZRW0VtO2FNDK3IzzeDqE2i
+ totarIBGDrmFAYHlpqAGucnkMsDVJz1BTTKgr9tjxxgD+PgJNSMiw/FiiwHMiEzYC62sGHBNXkg0nGD7
+ xaDaQoNBaqF7iN3XCF0PCbqf8mXy+TPlvPrOB0ynVNG/VjQvAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAahJREFUWEfN
- lz1SwzAQhcMRSMXkCpyFPkeggg5aJjWTmqNQ5AoU3CC3yFCZ/TzejGQ/WZKNxxRfxuPs232RVj/ZNE2z
- Ku3Hw+GzhJ2xN47GyTgblw6eecd3xBCrckSUGrg33oxvoymEWDRoVc6WnIEb49H4MlSREtCSg1yDGmMG
- 7ox3QyWdArnIGdVJGSDww1CJ5kDOyIQywFCV/PIf48nYGrfdM+9UbAi5r9OhDDBfStjnGV2IvXvtxaSg
- hjRAx5Y23DYs3uVgNFRsH2q0qwNdaIBlowSKOQaAWpEBNo6ada6m4KUXMwa1duhczO6lAlN4E9KANU0Y
- sg8NsIWqoCU5hgbYx1XQkpxCAxwmKigJuhAVk+GMzsWcaCooiRd2VEyGC7p/Y2D1KahuQi/sqJgMURNW
- L0Mv7KiYDNEyrN2ITDbbQLQR1W7FJptlYLAVQ81hZLJZBgaHEdQcxyabbCB5HEPphcRkkw0kLyRQeiWb
- SvZKBqteSh0C/3IkyBUVhzEDwFAxX8WNKUBLjuuwh+QMOHQsy6ZmnyAWTdvtKUoNOMv9OV2PZvMLsfKg
- vDjYoZ0AAAAASUVORK5CYII=
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAX9JREFUWEfN
+ lzFuwzAMRdMjNFORK/Qs3HOETu3WrgXnInOPwiFX6NAb5BZBJxcvSAqZph0psqEOLzCcL+pboihp1XXd
+ qiWnH1HLYSNqW1Hbidpe1A6idjzDM+/4Dw1a335AroFHUXsXtW9R6zJBSxva+njZBu5E7UnUvoIOcqEt
+ MYjl408aeBC1jyDgrRCLmFkGEH4GQWohZs9EZIChyvnyH1F7FrW1qN2fn3nndR5i/01HZID58o0iXtKl
+ dI7xFugi6CM0QMbmJtw6MMBoeF0EfZxWhzfAsvHiMWoMAH31DFA4StZ5NAWvgW4M+tqkBqheXjTFJQlJ
+ wJIkTNmmBiihXrA0u9QAddwLlmafGmAz8YJJghwYaK5wSA2wo3nBJDMYOP4rA82noDgJZzDQS8LiZTiD
+ gd4yLC1EcxjoFaLSUlxrYFCKoWQzqjUw2IygZDuuMTC6HUPugaTGwOiBBHKPZLdy9UgGTQ+lqYk5R6Lo
+ WH6h6cUkpdnVzLPc5bQlv7HyoLzqqqMwAAAAAElFTkSuQmCC
@@ -372,44 +367,44 @@
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
- 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
+ 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
- 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
+ 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
+ rkJggg==
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA4dEVYdFRpdGxlAEhpZ2g7TG93O0Nsb3NlO0NoYXJ0
- O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAGtJREFUOE/NztENgCAMBFAWdB0HcAlH
- cAW3O1vCNZTyIYFEP14CZ3uYAEzphiNCsB03RMj364QIeQiWF5RFh9+UHcpiy16uyPgXBZz7dwHlRVpV
- 4HBH2YFYwLssUP4TVc+7i5ouGNUN30N6AFQmr8/EPoHpAAAAAElFTkSuQmCC
+ O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAF9JREFUOE9j+P//PwMlGEOAVIwh4Nu0
+ 479v0w4M8bLl0/+XLZ+OIY4hQHUDoBpRMFYDoBrRMdxmJDxABsDUDW4DYBisEYapZQDhaEQyCGwAko3w
+ 0IexaWsAqRhDgFQMAFQmr891c2MAAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA4dEVYdFRpdGxlAEhpZ2g7TG93O0Nsb3NlO0NoYXJ0
- O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAN5JREFUWEft0MsRwjAMhOE0SDsUQBOU
- QAt0Z2SPl6zNn9xQcsjhG4aV9ZgspZRDYZgJw0wYZsIwE4bu9niXgLX761kC1vb6HIbuOoAG9cWz4U3G
- AfVXvgf09wPvnWHo+pAh00JzzAH03xeL3hEMXR8yZNcBKQfQoNBq1wFnOWC22aeZBMOKBoVWq8u6tli2
- +jSTYFjRoNBqtvSYA0QHeAY9Ea/1GYYVDQrDm38fIG2x+Bs6QLyP6oJhpWYfVPmbjS/w0+f1GYZOg6h2
- ygNkr89hmAnDTBhmwjAThnnK8gHwijMDX2l9pwAAAABJRU5ErkJggg==
+ O1N0b2NrO1NoYXJlO09wZW47Q2FuZGxlO1N0aWNr36bPbQAAAMBJREFUWEftksENg0AQA2mQdiiAJiiB
+ FujuoiAWOfYeRFHkHAqPeTDBXiuiK6V0v0SEGxFuRLgR4UYE049L6cdF/JNhnsowT+LPcogI5qjofwds
+ h5nTXIYIJiuKg8A+YHv/Be5ERDBND8ie+fg94LoDuASH3ANaGcBUc9z9jQHBejio5bj7+gMC/hZqOe5G
+ RBwVuQcE6+EA38kGQH7P8W+ICCj4aECW425EBJP99UGTA97JISLciHAjwo0INyLcPADwijMDMHfErwAA
+ AABJRU5ErkJggg==
@@ -422,19 +417,19 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFByb2plY3Q7RmlsZTs9+42CAAAA
- cUlEQVQ4T92P2wmAMAxF3ck5upTkO/O4jJuosSkk1PRl/BIDh5bL7SGdiOhGWNYQIUOwPaEI+MGTTCgC
- t4DX44IT/VKy15DCiK4AAKjBrAK51OCyHc4QcRPJcAM7nO3HqZJXghy3IJ+/COLZ5BuCPkAXqoH69KX6
- 0EkAAAAASUVORK5CYII=
+ cUlEQVQ4T2P4//8/AzL2bdrh69u04z8a9kVXB8MYAiANxIhRzwAcTiaE4V4Cm44No9uEC+M1oKWl5T8O
+ bAw3AN1EZAxSjA5AYn19fXdhhhB0AToAif35+w9uCFkGIGOSDUAGw8UA9KgjFI3IgD4GEMIAqoH69DDl
+ dVMAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFByb2plY3Q7RmlsZTs9+42CAAAA
- 00lEQVRYR+2SXw7CIAyHdz4TruSD4cmIN+AeXoaL6EOli5DiWoHN4J+0yZcUNn79ljEBwEdhN0dSLMzh
- ImEi0IihmTWKRTwswQ0SoZk1ikU8LJHCuWeU/xVogma1kpsY0HPR1rK4oFSAO/B20rzEzwrM//wZGtxK
- bmIAN0histZCjb095t57v6ODE7lhhrxiFmgtfPfkzqzEMIEQAiuRGwSDW+kVwEIJ59yNStDh3JdKrBLA
- ekhck8QwAY5YYwS4UgEVUAEVWAj0ogIq8BUCWwGA6Q7DQtTyWUCXGgAAAABJRU5ErkJggg==
+ uklEQVRYR+3SQQrDIBCFYc9X8EpdBFcl9gbeI5fxIu1igtAU87TTMWltCSP8kEjIfCQaIjK/rNjo3erG
+ DtOrrB0mEmZxCJcUgEPYcAhXKwD3seMCROHLJeXDWw7a1ooDmgPw4a90GEDx/z9xBnAIl3HO0bvO7vK8
+ DiGccPhugHSlZ0d/rSK6AWKMVcRKg/+UqxWQVkJ47+85otsXWNYDcVsQ3QC1ugFqSwEKUIACCkBrClDA
+ XwD2lt4zA8NC1PIUyAvKAAAAAElFTkSuQmCC
@@ -493,72 +488,73 @@
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
- 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
+ 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
+ gg==
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
- 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
- mfEXvolKuJ+Y6BUAAAAASUVORK5CYII=
+ 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
@@ -598,29 +594,29 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAAA3klE
- QVQ4T52SvQ2CYBRFia0TuACF0coxbLF1AgvDAJQu4ASG6ACugI07UJlYKvYUeo95H/lASITiRO7Pu8GE
- 4HmJS/EeSMlA0TD7UDCQN8w+5AxkJk5iKcb2i3bFrixjIDUxE2gH2g10ZSkiMTHkDRIGIhNDiBgIxcsz
- /4Wb0P2ns5l94CZwA1sz+8BNNTAV7ntYmNcGGR263FQDsBOEezEyzwePjA7dr+8X5uIqKBzFSkwMnvHI
- 6ND9GYC1eAiKbZDRqW78Y8dG3EXzGI+s1q8JD762g7gZPOM1enHwAUbOxAVvaZeAAAAAAElFTkSuQmCC
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAAA60lE
+ QVQ4T52Svw2CUBCHia0TuICF0coxbLF1AgtzA1C6gBMYowO4gte4A5WJpYc9heYz7xHEU4jFF7j7/SGP
+ vMRUSlN5/EmZmErhCF0pKMgdoSs5BacwHExlZir98GSOxm/aiYJdGMamwhxhjgXftB1D1vKVX1pGQeqc
+ rSspBUNTuTtiG2SG8UxHx9AGmSQWrBxDG2SqglHtPkwbf7wOGh68ZKoCWAdxYyo9J8wODQ/e175umJjK
+ ORj2pjI3lUGAd3ZoePB+FMDCVG7OeSNoeKpMswCWpnJ1wuzQ3vzNcITbtjWVS4B3dk1f8gRGzsQFM10V
+ NAAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAACmUlE
- QVRYR8XWv29OcRTH8ZakQhlEikhFiEQZxM/QRGNoRJoKmyK2iviRpsEmERaDwWCxmQ1iaewW5i4MiH/B
- ZL8+72++5+bcb8/zuH2eG4bXzePecz7nVO+9fUaqqvqvwpPm16eH83Ja9siocG4YZJBF5jwzwsFGRUvy
- LLsnV2VWTshB2SXbZEw2ZHzmHNeooZYeesmwvCVmhIONihZdQ9cWmREONipaKJq6tMCMcLBR0VzR1KU5
- ZoSDjYqmi6YuTTMjHGxUNFU0tfFUbos9Qaasm2KGDXot3KGnxD9uW+Sy3JS78kgeZ3zmHNeomZEjslPI
- IItMsndIucCEX+CbVNkXeSfP5ZZclKPC87tVNmZ85hzXqKGWHnrJsDyyywXuSJptC3wWa+ga2eUCV6Sx
- wHuJmrtA9l7xC/DraSzwSqLmLpB9WGw4989uaSzwQHzTR+FO3pfxmXO+pm0d2WfEFrguzGwswO/Eh56U
- VORwzoe3rSObm9QWYJlU6xfgv8ga+Cl8oMe19daRfU0Yzh+37ZLq/AJYFWvqCplk3xcWuJD/HS7wRqKQ
- YZDJDcfwZZmQngvwcohChkHmcWGB81IPR7nAMfktUdAgyCLzktyQzdJ3AaxIFDYIsvh2xHcKvh35OUm0
- AHdpFDYIsvbLpPgZtWiBA/JdosD1IIOscfH5DdECeCE+rN/zbvxzDzL++i261wL8Tf8pFtbrjWfKNx+9
- ZNQ1zOglHXxx9kQs0Jbgp7R3fr93P72NvHKolw5lg/C6/CA+uA166letKYd66VA2ZHzT+SrRoAi19KzJ
- Kod66RA1ZWelzVNBDbVRxpqhXjpETc4heSvRYHCNmqg3KYd66RA1FTbJOXkpPzI+c45rUU+tHOqFJ/+d
- auQPQiXhdkHlGrsAAAAASUVORK5CYII=
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAQdEVYdFRpdGxlAE1hc2s7Um9sZTu6seyzAAACdElE
+ QVRYR8WWO4sUQRRGVwXFVyDiA1FEEVwNxCe6oBiIyLKimatitiI+WMTPTBBNDAwMTMyMDcREzE2usYkG
+ Kv6FG5mPHKheau5Uz9TMNGxwoKm+99TXM1XVPdPr9WZWk4GBHDctuOmMm/a4aY2bGJsGHLhwLtQEWHbT
+ y8RDN91w0yU3nXTTITftctNWN61309oE14xxjxpq6aEXR+NbrgmwlDV0zVJNgMVCY1cs1gSYLzR2xXxN
+ gLlCY1fM1QSYLTSO4oWb7mU7qCHWza4EcNO7tEJPh+22yU3X3HTHTQ/c9NRNzxJcM8Y9ai646aibdiYH
+ Lpy4txcC7MgD/HJTL/HDTR/d9MpNd910xU3H0v7d4qZ1Ca4Z4x411NJDL47GhzsGuM8D5gG+ZQ1dgzsG
+ uB4DfCo0dgXufSEAf09fgLeFxq7AfSSbnPWzOwZ4Epq+ppW8P8E1Y1FeU4f7bBbgVrPI8wD8J7n0VOFF
+ wlgur63DzSJtAhBmIAA/UdPAU0RpA/fGrcN9M03Oy21bKQB8Dz9dF+DE/SgFuJwHjQHeFwTTgpMFx+SP
+ OXyGBeBwiIJpwXkiBbgY/6oY4Lib/hUkk4IL51U33XbTxlEB4HNBNCm4+Drim4Kvo77J2wKwSqNoUnAd
+ cNPeOPGwAAfd9LsgGxccuDbHSUcFgNdBNmy/N+T7HnCM/IpuC8A7/W8mazvxGuLJRy+OvonaKAWA5+GJ
+ 4pk/7Oynt88XJ60JwHH5JYhroGflqJ0mAPCl87MwSRvU0hM9A5PWBoBzlbuCGmpj/9QB4LCbPhQmbeAe
+ NbGvswCwwU3n3fTGTX8SXDPGvVg/XoDV5D9CJeF2Ag9R6AAAAABJRU5ErkJggg==
@@ -941,68 +937,69 @@
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
- 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
+ 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
- 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
+ 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
+ rkJggg==
@@ -1011,60 +1008,62 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACF0RVh0VGl0
- bGUATWVyZ2U7TWVyZ2luZztDb21iaW5lO0dyb3Vwu4FGogAAAt9JREFUOE9tk3sslXEYx3/lOkW39Xfl
- XilbctxOWqU1nTKRS6mUYohCy73L2cqxydzlPpOOZpysJHScU6QsYxg6hLFiStSqVVT79vwOYs2zffb+
- 9rzP97P3ffa+bK6WEcuXQGMOfuYzS9byhAqhMlG2CxKZEJJKunIqOELcJGILBUo+F1MgYNfu2LErJbYs
- npgvDUmlENN/3uPH73FiFN9/vcW3mWF8nRnEl+l+ROZag+Y0AbB5ovKtZ9NUmjfKHfDpZw/efC6EaioH
- PR/T0fUhGe3jEvRNFiEsYwcXaC8WBCZZzqaptMRSewxOSfFk0B8v38WidUyMxpFwPOrzQeNwBIJvWXKB
- zmLB2QSL2TSV9tUSW/RPFqOs02mBDidICeVQKM4lbOMCfUJ3EVoEXy7TiS0SoHcihwL7/pHdsBtpjx1R
- rPREWLoVIrKtEM7JtFK/0mmxRRNltblA93LeTnSNp+Ju+16UzpEvP4K2sSSoJkvwoCUOQ1P3MTBZQU9a
- BtVEKXyvb+VPpacWhGdZoW00EXV9/qjt80ONyo8EbngxIoZ84AKK5N6o7Q+kvj+qX/uhvj8EPnGbuWAl
- F2h7RZkrjsWYwzvaDHQmzBAg2Y7MGhFSq/ejQOGKqu5TKO/wQEmrM6RtLvCKNJvfi3oROsQKghs562nL
- qOkNQF6zEDnPHdTcbnJAdpM9ilsO4GiEKRcYEIy5XzJhdaoQVtMbxB52B/CWvq94C2SdJ5HVaIesZ3bI
- fGqHDKWtmtzmPXC9aMwFq/gwcw03ZlVdfkzW4csq2k/wlsHxeHOUtrojVWFDCJDaYIOUBgFS5NbIUAjh
- EmLEBav5MKNhdq/Nm0lbPVjpKzfeMvCMNkVhszMylY5Ip0CawoEk9iSwRXK9DURBhgsCzyhT5hFlwlxC
- jQkj3tJz9t/YePi8IQ4FG0LEoYAocJaDgZvgdGYD/w743pYs/gvzm2uItcS6/+A9WjbT+AsvV70H8klL
- UwAAAABJRU5ErkJggg==
+ bGUATWVyZ2U7TWVyZ2luZztDb21iaW5lO0dyb3Vwu4FGogAAAvBJREFUOE9tk3tIk1EYh98yUyq70t/V
+ vK2yhJZz02VURpglpunsaq0ULa1m1NTsMigXVLi8pZkiy2bIWtJlZc2tZlYkkyVq28ooSrHLLCq6Gr84
+ nzolfOGBw3sOz/ed3zmHaKDGENHYUfAYhI3ZmlFrbL5OYj6pXwKVXgLVlSUD6BgSnNBJkFspNLN1OReE
+ dPSimA5rRJSnEbkFHqorEvz6+w4/+nvxo78b3/+8wbffr/D1dxe+/HLiYHkIiGgcABpCURHiFow7XheO
+ Tz878PxzJex9Zej4WIi292fQ2quCw1WFfUWLmGD8SEHaqWC3wFOpDUNXnxZ3u1Lw6G0uWnqUsLyW46Zj
+ EyyvsrDrdDATeI0U7MgPcgvGH9GI4HRVo/Zp5DC2SGhtkTC/zMTO/AVM4ENE3iPwHAyXvHKrhOj8UAat
+ bYWb0salOHsrAtXmROwrFCCrVAA5o1jAbWmbMqiJfZwJvA+cX4y2XjUutS5HzSAVxnWw9pyC3aXBtceH
+ 8LLvKl64dHC6amH/UIPkY/PZX03gBPISAazdJ9HgSMFthwwGuwwVxjg8fK2E8cUeVBmTcNuZBoM9BTee
+ yXDHmYFNh+YywSQuA6mCb9qQw0dSdiCkCj6kikCkqhai2BAN9Y2VuGCKRX37VtTZEqBpiYLWGgPpwcCh
+ XLggvIho4qCRMXNHfhAMnak43yxB2YNwjnNN4ShtCkP141VYnxXABJO5Y4jf708N9gwydKbT9fZU1vJJ
+ Vs6D/ukWlFjEKLkvRvE9MYrMIo7y5mWI3evHBFM4Qazcj+rbZKS3JZOudTNrTd6Yx0dNSzzUplCoTUKo
+ G0NR0ChEgTEERSYJYjJ8mWAqJ9iYx6fL1iTStiRQzZM4TpCYHYDK5igUmyNQaJLgrCkc6sYwFBhFOHMn
+ FNHpvGFBoiKAEhT+FJPpRzGZvqw1ISpltmXtbh7W7OIhmpHOQ3TaAKvT5iBy+yx2D1huoxZ7wmxyGhFN
+ J6IZ/8F6LGyPfy9XvQekr1WaAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACF0RVh0VGl0
- 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
+ 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
+ RK5CYII=
@@ -1357,58 +1356,58 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAA90RVh0VGl0
- bGUATm90ZTtUZXh00fiaTQAAArRJREFUOE+lk/lLFHEYxhWP0jW1svobgqgkf5HI1S7v1dxVO+hgIyIt
- S1fJK20jTU3NLDUFS8rA1MwI8th1XXU81iuzBCmMwHLJ1JVSd3UHnt7vuiPWrw18eN53Zp4PwzBjA+C/
- YIctYUfYEw6M3UExotCM5uzgTNVMyO2eZf9M7Y8DCa+C6JqjFXavrSCw6y+TagcrZBgql2GwXIrc/Dyc
- LepCdNEInvZNoZKbhFjRAF1JOPpLI8DdD+uknoMgcGQlXl8PfqqWqEGU8jUq+mYhzR/Ec90U0hrG4XXp
- BSbUN7AyUYq+B2Gs6SQINgyQlZ+qw1JrIBaJwMRqlHRP43TlBPzS1PBOeIOdsixwuV4wDV9Db7GENZ0F
- wUbdw3CYv5OgLQyLagnyC9MRcbMRZ6omIHs0jr3yMpw4Hgn1LS8s9MejuzCENUWCwKm3OAxm9gRamQWD
- JgqxV6/AMzIDuyRJkEZG41ncHnAF+zHfE4euu0GsuUkQOPfcCyVBPYzcKSwRLOfU0egqEKMuaR9qFZ5o
- UnrjY1UADL3x0OYEsqarIBBxBcGrAt15Qr7Gr65z0DefxKfaYxirluBLgwwz3QnQZPmzppsgcOnMC4JZ
- 3wDj0GWYCCFNQ7FY7I/BPHcRMx0XMK2RY06XSu/iMGu6CwJXbU4ACRphGk3E8qgCpg+JNFPSzjC+V8D4
- LgELw/EwjmVBrbQINgsCt/aso+B/tmDl8x0Ly5bMtu4ss+nc6m7+WgpVxkHW3CII3DXKI+ANHMzfnlh5
- vC6t8yQlwetr0ZLux5oeawJV5iHwv0dI0gF+njBowc+1U2qINprVhIpoBT+rwkCF/C+B6GWSD9eS7msx
- N6cRqb6EGM0plCliNCWL8TbZB03XV6mJ8+6h3tp3wP5EF2Ir4UFsW8f2f9hhTVfCHoDNH86SXiJtqJBq
- AAAAAElFTkSuQmCC
+ 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
- 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
- AABJRU5ErkJggg==
+ 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
+ AAAAAElFTkSuQmCC
@@ -1418,55 +1417,54 @@
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
- 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
+ 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
- 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
+ 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
@@ -1489,12 +1487,42 @@
OCAyNCwyIDI0LDYgMTYsNiAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
+
+ 0 Filtered Rows
+
0, 0
+
+ Allgemein
+
+
+ Auswertungen
+
+
+ Verwaltung
+
+
+ Grundeinstellungen
+
+
+ Workflow
+
+
+ Funktionen/App Start
+
+
+ Ad Hoc Workflows
+
Start
+
+ Funktionen
+
+
+ Workflow Tabelle
+
Tabelle
@@ -1502,13 +1530,13 @@
Aktionen
- 1146, 158
+ 1178, 158
- 0, 505
+ 0, 666
- 1146, 22
+ 1178, 22
RibbonStatusBar1
@@ -1535,7 +1563,7 @@
4
- 913, 323
+ 945, 484
10
@@ -1552,304 +1580,6 @@
0
-
- lblCaptionMainGrid
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Panel2
-
-
- 0
-
-
- Top
-
-
- 233, 0
-
-
- 913, 24
-
-
- 9
-
-
- Panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Panel1
-
-
- 1
-
-
- weitere Profile
-
-
-
- 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
- yg8AvH8CqUB0J/cNlPoAAAAASUVORK5CYII=
-
-
-
- 863, 17
-
-
- 220, 30
-
-
- cmsNavPane
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Left
-
-
- Hauptansicht
-
-
-
- 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
- QmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
- bGUASG9yaXpvbnRhbDtBbGlnbjtDZW50ZXIHNZ/PAAAFLUlEQVRYR8WV+VOVVRjHtcXK1LTF6pdGxQXI
- mjIogggpFVB2ENlcQZDF2ES0XGr8oRxtcUE2F0iIwDU1xxZA9kXWJCfLMlJbLLL/4NvzfRfivZz0ms14
- Zj5z7znvOc/znHPP+7nDANxWlIP24heeLR/qZ/aiHLQX37As+VA/sxflILGnzQnNtGuiKr6JcpAMasMN
- 7rBlVlAaJw4eu3PQd67Rmiq+iXKQGI1BGHSEcK9wnzDSxNs/hRPvt4HP7hG4TitCFd9EOUiMxp2M2LjP
- q/atkpl4s3gm5Ds27PXC+j1eWFfkiexcN7xe6Im1BZ5Yk++BnDwPZG93r5V1LJjrlfFNlIPEaNzFSCa9
- /FcLLl1rxk/XGtD3Zx1+7D+Ni/3V+KH/S3z/x+e48PspfHf1U5z/7TiytrkxwChjvTK+iXKQGI0BRr0h
- O73YX4VDXUtwsGsxDnQtRGVnLCo7YlB+JgofkbYFKGuNwKlzWUh79wUGGCPcxSCq+CbKQWI0FjB6Td5L
- srNjkjAWFR3RKO+IlKSRKGuLEOajtCUc+1tC8WFLME72piFliysDjBVuuQAGGLNqhzu+ulImSfVdlraF
- o7Q1TBLqSYubg7CvKQh7mwJw4mwqkt52YYBxxnplfBPlIDEaA4zN+MANZ/rytYQlzSGCJJWE+xoDtaS7
- G+dhd/1cFNb54Wh3IhI2zWCAB4W7GUQV30Q5SIymFbBy6/Oov7BFTyoJ9zb6a0mL6pjUFwW1PsJs5NXO
- knsSh2Ubn2GAh4T/p4Dkd1xQdX4DjvUkyw6TtF0e7U7Ake7lONwdh0Ody4SlONC5BAc6FmHxeq0A8wSG
- q+KbWDtDm/YWRGY7VUfnPInIbGdEZDkiPMMRYenTEJI2FcGpUxCcMgWByZMRsMIB8xInwXfpxBpZN9pY
- P2BEs1lyWjp64wJiqpVW4yv1sDBeeMTExXMBF5n9x4XHBM7hG0Br8gQY41/VbO3ok7jAVC+1SqFwNw8Y
- MDgZ5+KhFcDbTnjkhN/5nEVzHfXMWPw5tSIsOS2d/6jenFwPrM51R/ZOd6za8SIyt7shQ2yY/r4b0t5z
- Q+pm1zqJyxMZomZrR9+9jXobNfX2Dai3StT7haj3M1HvSXx79QS+EUmd+/UIvv7lEHp/rsTZK+WaN3ou
- 70fXpRIkb9a8YN4Ja05LR5+gUO8iVHaJekW/Fe1iQhv9lraKCQ0xlWhi0j1R3BSIE70rEb/pWQZXmtHa
- 0QuwUW8MPu6QZO2iXyZU6LdETKg7IlDkFIA99ESDeELkxNd20bqnGVxpRmtHn2BVryQsZcK2MGOXIUP0
- a4qpsMEPhfW+hpzmIF/kdLg7HlGrnRlcaUZrxxCPSr2afhvV+i2o80F+nZ4w//SryBN21byC3BpvHBQ5
- haU7MrjSjNaOUYBVvTxWf+1Yi3isktBWv7skYa6RMLfGCzurvbC96mVsq/KUnzAWAUmTGZweGWJGZQGm
- eo/3pOATTb0rNPXq+o1X6rdSqOhYKJd0IcrbY+SiymVti5Z7EwXf5ZMY3DyB6xagvQVROc7VsWunI3o1
- 9esk+nXC/EwnhGVMQ+hrUxG6ciqCUgXqN8kBAYmi4AQH+CVMgl+8qDhuInyWTsBssmQCvGOeOC1xKSbG
- v24BNBWrpP14aXhsA+q1YbzzjLlcRPWaPKqAc5mcSr+hiAb/B7CQwVDPFqa7BnLRkHEF/GkH/g8sOS2d
- fxon3pCnXIO5SPlMwUCz5BzcuVl4ArZjN4ty0F6mP3ebC7h1MOxvLUMuFbJnVbsAAAAASUVORK5CYII=
-
-
-
- Gesamtübersicht
-
-
-
- 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
-
-
-
- 0, 0
-
-
- 233
-
-
- 233, 347
-
-
- 5
-
-
- NavBarControl1
-
-
- NavBarControl1
-
-
- DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Panel1
-
-
- 2
-
-
- Fill
-
-
- Tahoma, 9pt
-
-
- 0, 158
-
-
- 1146, 347
-
-
- 4
-
-
- Panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- Allgemein
-
-
- Auswertungen
-
-
- Verwaltung
-
-
- Grundeinstellungen
-
-
- Workflow
-
-
- Funktionen/App Start
-
-
- Ad Hoc Workflows
-
-
- Funktionen
-
-
- Workflow Tabelle
-
True
@@ -1880,12 +1610,273 @@
0
+
+ Top
+
+
+ 233, 0
+
+
+ 945, 24
+
+
+ 9
+
+
+ Panel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Panel1
+
+
+ 1
+
+
+ weitere Profile
+
+
+
+ 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
+
+
+
+ 863, 17
+
219, 26
Starte Validierung für Profil
+
+ 220, 30
+
+
+ cmsNavPane
+
+
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Left
+
+
+ Hauptansicht
+
+
+
+ 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
+ AAAAAElFTkSuQmCC
+
+
+
+ Gesamtübersicht
+
+
+
+ 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
+ AAAASUVORK5CYII=
+
+
+
+ 0, 0
+
+
+ 233
+
+
+ 233, 508
+
+
+ 5
+
+
+ NavBarControl1
+
+
+ NavBarControl1
+
+
+ DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ Panel1
+
+
+ 2
+
+
+ Fill
+
+
+ Tahoma, 9pt
+
+
+ 0, 158
+
+
+ 1178, 508
+
+
+ 4
+
+
+ Panel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
17, 56
@@ -1895,6 +1886,27 @@
250, 56
+
+ 290, 30
+
+
+ Popup Erinnerung deaktivieren
+
+
+ 287, 6
+
+
+ 290, 30
+
+
+ In den Vordergrund
+
+
+ 290, 30
+
+
+ Out of Range - Fenster wiederherstellen
+
291, 100
@@ -1990,27 +2002,6 @@
True
-
- 290, 30
-
-
- Popup Erinnerung deaktivieren
-
-
- 287, 6
-
-
- 290, 30
-
-
- In den Vordergrund
-
-
- 290, 30
-
-
- Out of Range - Fenster wiederherstellen
-
605, 17
@@ -2036,10 +2027,10 @@
Bottom
- 0, 527
+ 0, 688
- 1146, 0
+ 1178, 0
barDockControlBottom
@@ -2060,7 +2051,7 @@
0, 0
- 0, 527
+ 0, 688
barDockControlLeft
@@ -2078,10 +2069,10 @@
Right
- 1146, 0
+ 1178, 0
- 0, 527
+ 0, 688
barDockControlRight
@@ -2105,7 +2096,7 @@
9, 19
- 1146, 527
+ 1178, 688
Tahoma, 12pt
@@ -2621,6 +2612,12 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ bsitmCount
+
+
+ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPageStart
@@ -3432,9 +3429,6 @@
&Ansicht
-
- &Hintergrund
-
&Seiten Layout
@@ -3447,6 +3441,9 @@
Bars
+
+ &Hintergrund
+
PDF Dokument
@@ -3562,7 +3559,7 @@
Graphisches Dokument
- 1146, 0
+ 1178, 0
barDockControlTop
@@ -3638,28 +3635,27 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAHNob3A7Y2FydDtidXk7c3R1ZmY7
- Z29vZHM7ZnVsbDuS5QnKAAAA+ElEQVQ4T6XRoU7DQBzH8a6CJxgOjVuGAVVDMjvBJMnkPB5JQsIDYPYK
- NRM8AUsmkLwACDRBIQjZ8f1d7i5/el2bgfj0er/7/6/XtnDO/UtrWFXVFV41tq1brWFodhpNFtVhTeqs
- ORRnJ+BeThCbvc5GO8cBllDjNfymugwwCuOvo9s5hvjEN46QNphDRbfoOsENVLeCbxZdTrHFF8YKxbyW
- 6Onv0AbnIfPizT20+IYJSrPBGTbQ+hP0qtkG+kAPUNEuLzhGahY7KbHAGvG4H3jGHQ5h670s2FczuMAj
- pj1Z0gz0kXR0NXRlSTO4hBpmPVmS/vffuOIHKxaXjFfP8Y4AAAAASUVORK5CYII=
+ Z29vZHM7ZnVsbDuS5QnKAAAA8klEQVQ4T6XTsS5FURAF0OcVvoBOrRMaqtVItApKiVKvV0okPkDjF16j
+ 8AUkCqUfoFCLSiHiyrzMjeOcvHeDYt/J2TN7n30muaOu60b/QUMEcIynqHWvRkOkQYi7qAXXY5K9wKQR
+ 53CTIMUbhXiKucLyjEVcpvCkTxSfBaxl/RG9PGMJb/jASmlwmENnAwlOc+6q2MfUYBOfeMd636jeHre/
+ pMF2bRC4yOYzdjAuDLZwl/37fGpjEAu6rjdc4RGrpbg0CIxxhNsi7isecI7lWlwb/Ak1sYcb7A5wMw1i
+ SRE9BPO4mQYHKdgf4L4N6v/gt/gCKxaXjHckb5sAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAldEVYdFRpdGxlAHNob3A7Y2FydDtidXk7c3R1ZmY7
- Z29vZHM7ZnVsbDuS5QnKAAACM0lEQVRYR8XVPWgUYRCA4RglREEQiQEDIkhaW7W4Lgo2CYiV2iukSCMR
- wSZoZycIthYpRARRLCUE0cpSAoqgVoJYCYmKous7x8wyOzt3n3fFXeBJLrPzd9kvexNVVY1VGhylNDhK
- 3W+dTicVk0uyHo58vcQPVPiJlb6FcUBJ1kNdwh/IYO9t38I4oCTrgSPYRhz+Dcv9ClsDSrIeuAsb+hEn
- MYnu9X6FrQElSY89+AJbYAGNnF6FXaH5HNawpeT1XMiJzsKGv9FYQ6/CuqlrLgOtmVkLOdF9WO4NjTX0
- Kqybuubyrv1wsRVyvGnIQbPcecScgW7BoAuch+W91lhLVlgLzQe9BY9geVc11mKF+3ENF+yC8gfvHTb1
- p39dH0hY3QHIk06G/4U8C3zfmi1wG7btabmg0netsrjVXdaYeKGxlC1wE1awIRdUet9VFrc6+etY/IrG
- UrbAYXyHFZ2CxIdZ4Cjsuf8LM6gHRv7w3IM1e6KxYW7BdRd7prGe/ALH8BtSKAfnBNKnn8riu/EetsBF
- NAZGfgGxDiuWRofgr5fcgtV/xV5kebW4wHH4z+0PWMQ++DxvFmfwGFYnVpHlN8QFxB34RsN4hSnE3i3Z
- AlL4AFnj//EcBxH7prIFzDk8xWfIocyGiR18wkMsYReyfqnuAuOUBgXbpf9qg+aUpEGhzeKfO376FXNK
- 0qCgkbyj2Dx+/hdzStKgkEahcau5/B6ut3JK0qCg0dhvwXgP4WhUE/8AVStf8Tynp0wAAAAASUVORK5C
- YII=
+ Z29vZHM7ZnVsbDuS5QnKAAACFklEQVRYR8WVPWgVQRSF4w+igiCiQgISEFtbtfg6FWwMBCu1N5DCRgxC
+ mqCdnSDYWliICKJYSgiilaUEFEGtBEkViD8o8cmEGbk5c2dm9wkvgS953D1nztndeZOxwWAwtpVkg1GT
+ DUbNxi/ARcUt1C+En1fAD2AA/ASuVo0a0EL9hsvAegy2vKsaNaCF+iNHgDUnfBWYrRmzgBbqj9w1oZ+A
+ k8D2dL1mzAJaqB/YCXw1BU6rpmTMCgATwAKwHAmfJxoFzpnwt871cgHn7kKgvseFRoH7RjvvXO9VINy1
+ FliuFNgdN1rSHtOMagEtMUSBC0b3RtcepkDfV/DY6K7p2lpgHzAHXBSB3XjvgaX4137+tyGNb3886UL4
+ n3gWZOG2wG3T9owRuHddmSffFTN/qaFegZvGsGgE7nuvzJMvPJ00n9FQr8A48N2YTv1HgUlz7v8CDmqo
+ VyBwzyz2NM5Kj7o0D54bZvZcAxVb4CjwOxrDxjlROv0q8x3AB1PgkgYq+vV5YMxhoUNqaHDL+FeAPY5m
+ E1rguPzf/gicB/aq0XAYOAs8kVdy3dFmaIHAHVloGF4DuzTMwysQjA+dRbvyAjigQSW8Aolp4BnwJW5K
+ DUp8Az4Dj4ApYJuzVpFN5/1WkA0Spa9aX02LbJAoHTZ9NS2yQaJ03PbVtMgGiS6Ld9G0yAaJLo+3i6ZF
+ Nkh02WBdNC2ywaj5C1UrX/GNAlVkAAAAAElFTkSuQmCC
diff --git a/app/TaskFlow/frmMain.vb b/app/TaskFlow/frmMain.vb
index 7ba8cda..87758aa 100644
--- a/app/TaskFlow/frmMain.vb
+++ b/app/TaskFlow/frmMain.vb
@@ -1,24 +1,25 @@
-Imports System.Globalization
-Imports DevExpress.Utils
-Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
-Imports DevExpress.XtraGrid.Views.Grid
-Imports DevExpress.XtraGrid
-Imports DevExpress.XtraNavBar
-Imports DevExpress.XtraGrid.Columns
-Imports System.Threading
-Imports System.ComponentModel
+Imports System.ComponentModel
+Imports System.Globalization
Imports System.IO
-Imports DevExpress.XtraPrinting
-Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
-Imports DigitalData.Modules.EDMI.API.Constants
-Imports DigitalData.Modules.Windream
-Imports DigitalData.GUIs.Common
-Imports DevExpress.XtraGrid.Views.BandedGrid
-Imports DevExpress.XtraBars.Ribbon
-Imports DigitalData.Modules.ZooFlow
+Imports System.Threading
Imports DevExpress.LookAndFeel
-Imports DigitalData.Modules.Base
+Imports DevExpress.Utils
+Imports DevExpress.XtraBars.Ribbon
+Imports DevExpress.XtraExport.Helpers
+Imports DevExpress.XtraGrid
+Imports DevExpress.XtraGrid.Columns
+Imports DevExpress.XtraGrid.Views.BandedGrid
Imports DevExpress.XtraGrid.Views.Base
+Imports DevExpress.XtraGrid.Views.Grid
+Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
+Imports DevExpress.XtraNavBar
+Imports DevExpress.XtraPrinting
+Imports DigitalData.GUIs.Common
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.EDMI.API.Constants
+Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
+Imports DigitalData.Modules.Windream
+Imports DigitalData.Modules.ZooFlow
Public Class frmMain
Private Property FormHelper As FormHelper
@@ -1404,8 +1405,8 @@ Public Class frmMain
cultureInfo.DateTimeFormat.ShortDatePattern = USER_DATE_FORMAT
Thread.CurrentThread.CurrentCulture = cultureInfo
Thread.CurrentThread.CurrentUICulture = cultureInfo
- cultureInfo.DefaultThreadCurrentCulture = cultureInfo
- cultureInfo.DefaultThreadCurrentUICulture = cultureInfo
+ CultureInfo.DefaultThreadCurrentCulture = cultureInfo
+ CultureInfo.DefaultThreadCurrentUICulture = cultureInfo
End If
Catch ex As Exception
LOGGER.Error(ex)
@@ -2159,12 +2160,10 @@ Public Class frmMain
RestoreLayout()
Try
- Dim oSQLFormat = "SELECT * FROM TBDD_COLUMNS_FORMAT WHERE MODULE = 'taskFLOW' AND GRIDVIEW = 'GridViewWorkflows'"
- Dim dtColFormat As DataTable = Await DatabaseFallback.GetDatatableECMAsync(oSQLFormat)
For Each oColumn As DevExpress.XtraGrid.Columns.GridColumn In GridViewWorkflows.Columns
- For Each oRow As DataRow In dtColFormat.Rows
+ For Each oRow As DataRow In BASEDATA_TBDD_COLUMNS_FORMAT.Rows
Dim colName = oRow("COLUMN_TITLE").ToString()
If oColumn.FieldName = colName Then
@@ -2179,7 +2178,10 @@ Public Class frmMain
If oColumn.ColumnType = GetType(DateTime) And oColumn.DisplayFormat.FormatString <> "dd.MM.yyyy HH:mm:ss" Then
oColumn.DisplayFormat.FormatString = "dd.MM.yyyy HH:mm:ss"
End If
-
+ ElseIf oSollFormatType = "Numeric" Then
+ If oColumn.ColumnType <> GetType(Int32) Then
+ oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric
+ End If
End If
End If
Next
@@ -2242,50 +2244,84 @@ Public Class frmMain
Item_Scope("DOUBLECLICK")
End Sub
+ 'Private Sub GridViewWorkflows_CustomDrawGroupRow(sender As Object, e As Views.Base.RowObjectCustomDrawEventArgs) Handles GridViewWorkflows.CustomDrawGroupRow
+ ' Try
+ ' ' Added
+ ' If FormOpenClose = True And GridIsLoaded = False Then
+ ' Exit Sub
+ ' End If
+
+ ' Dim info As GridGroupRowInfo = TryCast(e.Info, GridGroupRowInfo)
+ ' Dim view As GridView = sender
+
+ ' If info.Column.FieldName = "GROUP_TEXT" Then
+ ' info.GroupText = info.GroupValueText
+
+ ' Dim oColorString As String = "LightGray"
+ ' Dim oFontColorString As String = "Black"
+ ' Dim oFoundConfig As Boolean = False
+ ' Dim oGROUP_TEXT_COL As String
+ ' If USER_LANGUAGE = "de-DE" Then
+ ' oGROUP_TEXT_COL = "GROUP_TEXT"
+ ' Else
+ ' oGROUP_TEXT_COL = "GROUP_TEXT_LANG"
+ ' End If
+
+
+ ' For Each oProfileRow As DataRow In CURR_DT_VWPM_PROFILE_ACTIVE.Rows
+ ' If oProfileRow.Item(oGROUP_TEXT_COL) = info.GroupValueText Then
+ ' oFoundConfig = True
+ ' oColorString = oProfileRow.Item("GROUP_COLOR")
+ ' oFontColorString = oProfileRow.Item("GROUP_FONT_COLOR")
+ ' ' Added
+ ' Exit For
+ ' End If
+ ' Next
+ ' If oFoundConfig = False Then
+ ' LOGGER.Info($"CustomDrawGroupRow: Could not find a ColorConfig for ProfileGroupValueText [{info.GroupValueText}]...")
+ ' ' Added
+ ' Exit Sub
+ ' End If
+
+ ' Dim oColor As Color = ParseColorString(oColorString, Color.LightGray, "Background Color")
+ ' Dim oFontColor As Color = ParseColorString(oFontColorString, Color.Black, "Font Color")
+
+ ' info.Appearance.BackColor = oColor
+ ' info.Appearance.ForeColor = oFontColor
+ ' End If
+ ' Catch ex As Exception
+ ' LOGGER.Error(ex)
+ ' End Try
+ 'End Sub
+
Private Sub GridViewWorkflows_CustomDrawGroupRow(sender As Object, e As Views.Base.RowObjectCustomDrawEventArgs) Handles GridViewWorkflows.CustomDrawGroupRow
Try
- ' Added
+
If FormOpenClose = True And GridIsLoaded = False Then
Exit Sub
End If
- Dim info As GridGroupRowInfo = TryCast(e.Info, GridGroupRowInfo)
- Dim view As GridView = sender
+ Dim oInfo As GridGroupRowInfo = TryCast(e.Info, GridGroupRowInfo)
+ If oInfo Is Nothing OrElse oInfo.Column Is Nothing Then
+ Exit Sub
+ End If
- If info.Column.FieldName = "GROUP_TEXT" Then
- info.GroupText = info.GroupValueText
+ Dim oView As GridView = sender
+
+ If oInfo.Column.FieldName = "GROUP_TEXT" Then
+ oInfo.GroupText = oInfo.GroupValueText
Dim oColorString As String = "LightGray"
Dim oFontColorString As String = "Black"
- Dim oFoundConfig As Boolean = False
- Dim oGROUP_TEXT_COL As String
- If USER_LANGUAGE = "de-DE" Then
- oGROUP_TEXT_COL = "GROUP_TEXT"
- Else
- oGROUP_TEXT_COL = "GROUP_TEXT_LANG"
- End If
+ Dim oChildRowHandle As Integer = oView.GetChildRowHandle(oInfo.RowHandle, 0)
-
- For Each oProfileRow As DataRow In CURR_DT_VWPM_PROFILE_ACTIVE.Rows
- If oProfileRow.Item(oGROUP_TEXT_COL) = info.GroupValueText Then
- oFoundConfig = True
- oColorString = oProfileRow.Item("GROUP_COLOR")
- oFontColorString = oProfileRow.Item("GROUP_FONT_COLOR")
- ' Added
- Exit For
- End If
- Next
- If oFoundConfig = False Then
- LOGGER.Info($"CustomDrawGroupRow: Could not find a ColorConfig for ProfileGroupValueText [{info.GroupValueText}]...")
- ' Added
- Exit Sub
- End If
+ oColorString = oView.GetRowCellValue(oChildRowHandle, "GROUP_COLOR")
Dim oColor As Color = ParseColorString(oColorString, Color.LightGray, "Background Color")
Dim oFontColor As Color = ParseColorString(oFontColorString, Color.Black, "Font Color")
- info.Appearance.BackColor = oColor
- info.Appearance.ForeColor = oFontColor
+ oInfo.Appearance.BackColor = oColor
+ oInfo.Appearance.ForeColor = oFontColor
End If
Catch ex As Exception
LOGGER.Error(ex)
@@ -2478,10 +2514,6 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
oStopWatch.Done()
End Sub
Private Async Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
- If USER_USERNAME = "SchreiberM" Then
- frmDashboard1.Show()
- End If '
-
If RIBBON_COLOR_SCHEME <> "" Then
Me.LookAndFeel.UseDefaultLookAndFeel = False
If RIBBON_COLOR_SCHEME = "Blue".ToUpper Then
@@ -2858,13 +2890,16 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
End If
If Ev_Filter_Panel_Closed = False Then
- Dim oTermFilterActive As String = S.Filter_aktiv
+ Dim oTermFilterActive As String = String.Format("{0} ({1})", S.Filter_aktiv, GridViewWorkflows.RowCount)
If GridViewWorkflows.ActiveFilterString <> String.Empty Then
- If Not lblCaptionMainGrid.Text.Contains(oTermFilterActive) Then
- lblCaptionMainGrid.Text += $"|{oTermFilterActive}"
- Else
+ If lblCaptionMainGrid.Text.Contains(oTermFilterActive) Then
Ev_Filter_Panel_Closed = False
End If
+ lblCaptionMainGrid.Text = String.Format("{0} - {1}", S.Gesamtübersicht, oTermFilterActive)
+ bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ bsitmCount.Caption = oTermFilterActive
+ Else
+ bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
End If
@@ -2941,7 +2976,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Timer5Mins.Stop()
TimerRefresh.Stop()
TimerReminder.Stop()
- LOGGER.Info("Inactivity recognized. Automatic Logout in process!")
+ LOGGER.Info("Inactivity recognized. Automatic Logout In process!")
Hide()
ClassAllgemeineFunktionen.LoginOut("LOGOUT")
TimerInactivity.Stop()
@@ -2976,8 +3011,8 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
MyProcess.StartInfo.FileName = bbtniCW.Tag
MyProcess.Start()
Else
- LOGGER.Warn($"easyFLOW-Exe not found [{bbtniCW.Tag}]")
- FormHelper.ShowInfoMessage("Clipboard Watcher could not be started!", omsgTitleWarning)
+ LOGGER.Warn($"easyFLOW-Exe Not found [{bbtniCW.Tag}]")
+ FormHelper.ShowInfoMessage("Clipboard Watcher could Not be started!", omsgTitleWarning)
End If
Catch ex As Exception
@@ -3062,7 +3097,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Private Sub BarButtonItemFileLink_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemFileLink.ItemClick
Dim oReceipiant = ""
Dim oFocusedDocGUID = GridViewWorkflows.GetFocusedRowCellValue(GridViewWorkflows.Columns("GUID"))
- Dim oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({oFocusedDocGUID},1)"
+ Dim oSQL = $"Select [dbo].[FNPM_GET_FILEPATH] ({oFocusedDocGUID}, 1)"
Dim oFilePath = DatabaseFallback.GetScalarValueECM(oSQL)
If File.Exists(oFilePath) Then
Dim oLink = "Link zur Datei
"
@@ -3116,6 +3151,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
If CURRENT_DT_PROFILE.Rows.Count = 1 Then
CURRENT_ProfilName = CURRENT_DT_PROFILE.Rows(0).Item("NAME")
PROFILE_SHOW_DOCUMENT = CURRENT_DT_PROFILE.Rows(0).Item("SHOW_DOCUMENT")
+ PROFILE_NOT_RESP_COMMENT = CURRENT_DT_PROFILE.Rows(0).Item("NOT_RESP_COMMENT")
ActiveWorkflowType = 1
Else
Exit Sub
@@ -3230,6 +3266,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Private Sub GridViewWFItems_SubstituteFilter(sender As Object, e As DevExpress.Data.SubstituteFilterEventArgs) Handles GridViewWorkflows.SubstituteFilter
GridLayout_Changed("GridViewWFItems_SubstituteFilter")
+
End Sub
Private Sub BbtnitmAHWF1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BbtnitmAHWF1.ItemClick, BbtnitmAHWF2.ItemClick, BbtnitmAHWF3.ItemClick, BbtnitmAHWF4.ItemClick
@@ -3262,7 +3299,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
LOGGER.Debug($"oTargetPath with NowParams: {oTargetPath}")
- Dim oResult = WINDREAM_MOD.NewFileStream(oSourcePath, oTargetPath, oWMObjecttype, True)
+ Dim oResult = WINDREAM_MOD.NewFileStream(oSourcePath, oTargetPath, oWMObjecttype)
If oResult = True Then
WM_AHWF_docPath = oTargetPath
Dim oDocID = WINDREAM_MOD.NewDocumentID
diff --git a/app/TaskFlow/frmMassValidator.vb b/app/TaskFlow/frmMassValidator.vb
index 5880341..fa5f710 100644
--- a/app/TaskFlow/frmMassValidator.vb
+++ b/app/TaskFlow/frmMassValidator.vb
@@ -323,7 +323,7 @@ Public Class frmMassValidator
lookup.Properties.AllowAddNewValues = oControlRow.Item("VKT_ADD_ITEM")
lookup.Properties.MultiSelect = oMultiselect
- If NotNull(oControlRow.Item("DEFAULT_VALUE"), "") <> "" Then
+ If ClassAllgemeineFunktionen.NotNullString(oControlRow.Item("DEFAULT_VALUE"), "") <> "" Then
lookup.Properties.SelectedValues = New List(Of String) From {oControlRow.Item("DEFAULT_VALUE")}
End If
@@ -355,7 +355,7 @@ Public Class frmMassValidator
LOGGER.Debug("Versuch Tabelle zu laden")
Dim oDTMyColumns As DataTable = DatabaseFallback.GetDatatableECM($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1")
- oControl = ControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False)
+ oControl = ControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False, CURRENT_DOC_CURRENCY)
End Select
If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then
@@ -449,7 +449,7 @@ Public Class frmMassValidator
End If
Dim idxname As String = controlRow.Item("INDEX_NAME")
' Wenn kein defaultValue existiert, leeren String setzen
- Dim defaultValue As String = NotNull(controlRow.Item("DEFAULT_VALUE"), String.Empty)
+ Dim defaultValue As String = ClassAllgemeineFunktionen.NotNullString(controlRow.Item("DEFAULT_VALUE"), String.Empty)
indexname = idxname
Dim LoadIDX As Boolean = controlRow.Item("LOAD_IDX_VALUE")
LOGGER.Debug("INDEX: " & idxname & " - CONTROLNAME: " & oControl.Name & " - LOAD IDXVALUES: " & LoadIDX.ToString)
@@ -474,7 +474,7 @@ Public Class frmMassValidator
If wertWD = "" And defaultValue <> "" Then
oControl.Text = defaultValue
Else
- oControl.Text = NotNull(wertWD, defaultValue)
+ oControl.Text = ClassAllgemeineFunktionen.NotNullString(wertWD, defaultValue)
End If
End If
@@ -1339,15 +1339,14 @@ Public Class frmMassValidator
Dim oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},{_CheckStandard})"
oResult = DatabaseFallback.GetScalarValueECM(oSQL)
LOGGER.Debug($"Checking file 0 GDP [{oResult}] exists?...")
+ LOGGER.Debug($"GetWMDocPathWindows returned false - trying with standard again...")
+ oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},1)"
+ oResult = DatabaseFallback.GetScalarValueECM(oSQL)
+ LOGGER.Debug($"Checking file 1 GDP [{oResult}] exists?...")
If File.Exists(oResult) = False Then
- LOGGER.Debug($"GetWMDocPathWindows returned false - trying with standard again...")
- oSQL = $"SELECT [dbo].[FNPM_GET_WM_FILE_PATH] ({CURRENT_DOC_GUID},1)"
- oResult = DatabaseFallback.GetScalarValueECM(oSQL)
- LOGGER.Debug($"Checking file 1 GDP [{oResult}] exists?...")
- If File.Exists(oResult) = False Then
- Return False
- End If
+ Return False
End If
+
WMDocPathWindows = oResult
CURRENT_DOC_PATH = WMDocPathWindows
diff --git a/app/TaskFlow/frmValidator.Designer.vb b/app/TaskFlow/frmValidator.Designer.vb
index 1aa525c..72f9431 100644
--- a/app/TaskFlow/frmValidator.Designer.vb
+++ b/app/TaskFlow/frmValidator.Designer.vb
@@ -90,7 +90,6 @@ Partial Class frmValidator
Me.barbtnitmExport = New DevExpress.XtraBars.BarButtonItem()
Me.ToggleSwitchItemLoadonClick = New DevExpress.XtraBars.BarToggleSwitchItem()
Me.Attmnt_bbtnitm_LoadonClick = New DevExpress.XtraBars.BarCheckItem()
- Me.BarButtonItem6 = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmInfoWorkflow = New DevExpress.XtraBars.BarButtonItem()
Me.bchkitmNotes = New DevExpress.XtraBars.BarCheckItem()
Me.BarButtonGroup1 = New DevExpress.XtraBars.BarButtonGroup()
@@ -515,7 +514,7 @@ Partial Class frmValidator
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem5, Me.Attmt_bbtnitmShow, Me.barbtnitmExport, Me.ToggleSwitchItemLoadonClick, Me.Attmnt_bbtnitm_LoadonClick, Me.BarButtonItem6, Me.bbtnitmInfoWorkflow, Me.bchkitmNotes, Me.BarButtonGroup1})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem5, Me.Attmt_bbtnitmShow, Me.barbtnitmExport, Me.ToggleSwitchItemLoadonClick, Me.Attmnt_bbtnitm_LoadonClick, Me.bbtnitmInfoWorkflow, Me.bchkitmNotes, Me.BarButtonGroup1})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 38
Me.RibbonControl1.Name = "RibbonControl1"
@@ -692,16 +691,6 @@ Partial Class frmValidator
Me.Attmnt_bbtnitm_LoadonClick.ItemInMenuAppearance.Pressed.Options.UseForeColor = True
Me.Attmnt_bbtnitm_LoadonClick.Name = "Attmnt_bbtnitm_LoadonClick"
'
- 'BarButtonItem6
- '
- resources.ApplyResources(Me.BarButtonItem6, "BarButtonItem6")
- Me.BarButtonItem6.Id = 32
- Me.BarButtonItem6.ImageOptions.Image = CType(resources.GetObject("BarButtonItem6.ImageOptions.Image"), System.Drawing.Image)
- Me.BarButtonItem6.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem6.ImageOptions.LargeImage"), System.Drawing.Image)
- Me.BarButtonItem6.Name = "BarButtonItem6"
- Me.BarButtonItem6.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large
- Me.BarButtonItem6.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
- '
'bbtnitmInfoWorkflow
'
resources.ApplyResources(Me.bbtnitmInfoWorkflow, "bbtnitmInfoWorkflow")
@@ -746,10 +735,10 @@ Partial Class frmValidator
'
'RbnPgGrpActions
'
+ Me.RbnPgGrpActions.AllowTextClipping = False
Me.RbnPgGrpActions.ItemLinks.Add(Me.bbtniNext)
Me.RbnPgGrpActions.ItemLinks.Add(Me.bbtniDelete)
Me.RbnPgGrpActions.ItemLinks.Add(Me.bbtniAnnotation)
- Me.RbnPgGrpActions.ItemLinks.Add(Me.BarButtonItem6)
Me.RbnPgGrpActions.Name = "RbnPgGrpActions"
resources.ApplyResources(Me.RbnPgGrpActions, "RbnPgGrpActions")
Me.RbnPgGrpActions.Visible = False
@@ -939,7 +928,6 @@ Partial Class frmValidator
Friend WithEvents FolderBrowserDialog1 As FolderBrowserDialog
Friend WithEvents ToggleSwitchItemLoadonClick As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents Attmnt_bbtnitm_LoadonClick As DevExpress.XtraBars.BarCheckItem
- Friend WithEvents BarButtonItem6 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents pnlMain As DevExpress.XtraEditors.PanelControl
Friend WithEvents btnSave As DevExpress.XtraEditors.SimpleButton
Friend WithEvents DESCRIPTIONLabel As DevExpress.XtraEditors.LabelControl
diff --git a/app/TaskFlow/frmValidator.resx b/app/TaskFlow/frmValidator.resx
index 9be6b41..b5951fa 100644
--- a/app/TaskFlow/frmValidator.resx
+++ b/app/TaskFlow/frmValidator.resx
@@ -126,7 +126,10 @@
- 2, 289
+ 2, 358
+
+
+ 4, 4, 4, 4
Fill
@@ -134,6 +137,9 @@
0, 0
+
+ 4, 4, 4, 4
+
Segoe UI, 9.75pt
@@ -188,8 +194,11 @@
0, 0
+
+ 4, 4, 4, 4
+
- 197, 50
+ 253, 62
@@ -283,8 +292,11 @@
0, 0
+
+ 4, 4, 4, 4
+
- 182, 50
+ 235, 62
0
@@ -317,7 +329,7 @@
1
- 389, 50
+ 500, 62
46
@@ -410,8 +422,11 @@
0, 0
+
+ 4, 4, 4, 4
+
- 250, 50
+ 323, 62
2
@@ -447,7 +462,7 @@
1
- 649, 50
+ 835, 62
45
@@ -468,7 +483,10 @@
Fill
- 0, 158
+ 0, 194
+
+
+ 4, 4, 4, 4
Top, Bottom, Left, Right
@@ -477,10 +495,13 @@
Segoe UI, 8.25pt
- 6, 58
+ 8, 72
+
+
+ 4, 4, 4, 4
- 642, 225
+ 824, 279
3
@@ -508,10 +529,13 @@
None
- 6, 33
+ 8, 41
+
+
+ 4, 4, 4, 4
- 643, 26
+ 826, 32
1
@@ -541,10 +565,13 @@
None
- 5, 5
+ 6, 6
+
+
+ 4, 4, 4, 4
- 643, 28
+ 826, 35
1
@@ -570,8 +597,11 @@
0, 0
+
+ 4, 4, 4, 4
+
- 653, 341
+ 839, 422
25
@@ -607,10 +637,10 @@
0, 0
- 4, 5, 4, 5
+ 5, 6, 5, 6
- 519, 341
+ 668, 422
0
@@ -619,7 +649,7 @@
DocumentViewer1
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.0.2.0, Culture=neutral, PublicKeyToken=null
+ DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null
SplitContainer1.Panel2
@@ -640,10 +670,13 @@
1
- 1176, 341
+ 1512, 422
- 653
+ 839
+
+
+ 5
37
@@ -672,8 +705,11 @@
0, 0
+
+ 4, 4, 4, 4
+
- 1176, 0
+ 1512, 0
barDockControlTop
@@ -691,10 +727,13 @@
Bottom
- 0, 521
+ 0, 644
+
+
+ 4, 4, 4, 4
- 1176, 0
+ 1512, 0
barDockControlBottom
@@ -714,8 +753,11 @@
0, 0
+
+ 4, 4, 4, 4
+
- 0, 521
+ 0, 644
barDockControlLeft
@@ -733,10 +775,13 @@
Right
- 1176, 0
+ 1512, 0
+
+
+ 4, 4, 4, 4
- 0, 521
+ 0, 644
barDockControlRight
@@ -757,10 +802,10 @@
82
- 7, 17
+ 9, 21
- 1176, 521
+ 1512, 644
Tahoma, 8.25pt, style=Bold
@@ -1179,38 +1224,6 @@
Tahoma, 8.25pt, style=Bold
-
- Beleg anzeigen
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNob3c7RXllO0njByUAAAExSURB
- VDhPpZKxSsRQFET3Nyy18wOExcYv8G/0B+TAgkXKgAhmyzQWgsViY7FFZItsFFJobyMuWggLJuHKPHzh
- mSgavDBwM3dmktz3RmY2+g96xFD0CGAXOI3j2CaTiQPwIE6zrj40bgJX0+nUlsulrVYrq+vaQb04zaSR
- 9ksAsAe8ZFlmqrd1Zdd3j3Z4duOew5JGWnlcALANvJZl2ZqPz29t/2jm8F1JK4+8CpgtFot2qDd7808B
- KnnkVcC6qqp2oM/+S4A88v4aECLcSRhw4Zen6v5CCM18AQfyKmALeC6Kwg26S/QQp5lKWnnk9ce4E0WR
- zefzNsQfo6Dem6UBnuTpXqSNNE0tSRLL89xdnqZpHNSLAzLgUtreTQyCxsAJcA+8f0K9uHFX3wsYih4x
- FB8q0AjdQAvTBwAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAFNob3c7RXllO0njByUAAAJSSURB
- VFhHxZY9i1NBFIZ3/RNbbG1nJf4Nuy232dY/IcpavRYLW22ZEAvLEEIkkJRiYZYQi7QmYiCYRTTICgmO
- PNe5YXJmbj4WvR544XLmnPc8k/sxOXDOHfxPRYmyFSXKVpQoW1GibEWJshUlNknSI0kvJHUkfZb004tr
- cqxRQ20k67cTgKR7kk4lfZDkdhS19NB7dwBJDyT1cuNqteq63a4bjUZuPp+7xWKRiWtyrFETgNCLx/4A
- kp5IusWoVqu5fr/vdg1q6fEQeOAVzUgCSDrUn8gMWq3WmvmXb7eu/u6je/rqvTt92V1bs0Fv8GsQh3Ze
- CuAibxoOh2uGw09f3fnra/f4+ZuVtgUeAcSFnWeHn+XFk8lkzYid2+G7ABB4BRBnSQBJx5J+UDQYDKxH
- 9rPb4bsCEHh6AGYcpwCuKGg0GrY3C+65Hb4PAIG3h7hKAdywOJvNbF8WPHB2+L4AeHuAmxTAjMXpdGr7
- sigCSKno7cDbA7DLCOCSxXq9bvuyKLoFKVGbCrw9wGUK4EjSdwra7bbtLXwIU6LWBp5+ODOOIgAPcSLp
- F4Xj8XjNoOg1tKKG2jDw8sPxPglnrgF4iPP8nbWf39SHyA6nJgw8cj+87bwIwEI0m023XC5XhvZTjLgm
- F+6cHno3DS8E8BAcp9kzUalUXK/XW5lvC2rpCe45XtGMjQAe4r6kt/kuMO10OoXHMWvBYEQvHvsfxwEE
- pyMP53VgvE3U0kNvNvzOAAbmoaRnG/6SsUbNauhfBfgXihJlK0qUrShRtqJE2YoSZes3UL0KST/PhM0A
- AAAASUVORK5CYII=
-
-
Anzeigen
@@ -1266,6 +1279,9 @@
0, 0
+
+ 4, 4, 4, 4
+
Datei
@@ -1322,13 +1338,16 @@
Combo
- 1176, 158
+ 1512, 194
- 0, 499
+ 0, 616
+
+
+ 4, 4, 4, 4
- 1176, 22
+ 1512, 28
RibbonStatusBar1
@@ -1556,7 +1575,7 @@
- 3, 4, 3, 4
+ 4, 5, 4, 5
frmValidator
@@ -1861,12 +1880,6 @@
DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- BarButtonItem6
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
bbtnitmInfoWorkflow
@@ -1991,11 +2004,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAABDDlmZmbmVuIChTdHJnK08pBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s
+ AAAAAAAAiwEAAAAGDAAAABDDlmZmbmVuIChTdHJnK08pBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s
VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp
ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC
b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
- dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAb
+ dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAAb
w5ZmZm5lbiBTaWUgZWluZSBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRl
bUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4
E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNz
@@ -2027,11 +2040,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAABZTcGVpY2hlcm4gYWxzIChTdHJnK1MpBQgAAAAcRGV2RXhwcmVzcy5VdGls
+ AAAAAAAAiwEAAAAGDAAAABZTcGVpY2hlcm4gYWxzIChTdHJnK1MpBQgAAAAcRGV2RXhwcmVzcy5VdGls
cy5Ub29sVGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50
CE1heFdpZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRl
ZmF1bHRCb29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRv
- b2xUaXBJdGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAA
+ b2xUaXBJdGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAA
Bg8AAAAYU3BlaWNoZXJuIGRlciBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw
SXRlbUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUlu
ZGV4E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHBy
@@ -2063,11 +2076,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAABBEcnVja2VuIChTdHJnK1ApBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s
+ AAAAAAAAiwEAAAAGDAAAABBEcnVja2VuIChTdHJnK1ApBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s
VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp
ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC
b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
- dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAN
+ dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAAN
RGF0ZWkgZHJ1Y2tlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMF
AAAACEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERp
c3RhbmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw
@@ -2099,11 +2112,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAAAlWb3JoZXJpZ2UFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVt
+ AAAAAAAAiwEAAAAGDAAAAAlWb3JoZXJpZ2UFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVt
BwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lkdGgST3du
ZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4D
AAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFn
- ZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAABlWb3JoZXJp
+ ZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAiwEAAAAGDwAAABlWb3JoZXJp
Z2UgU2VpdGUgYW56ZWlnZW4uBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0
aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9U
ZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRv
@@ -2135,11 +2148,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAAAhOw6RjaHN0ZQUIAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0H
+ AAAAAAAAiwEAAAAGDAAAAAhOw6RjaHN0ZQUIAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0H
AAAADUFsbG93SHRtbFRleHQESWNvbgxJbWFnZU9wdGlvbnMKTGVmdEluZGVudAhNYXhXaWR0aBJPd25l
ckFsbG93SHRtbFRleHQEVGV4dAQEBAAAAAEfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVhbgMA
AAATU3lzdGVtLkRyYXdpbmcuSWNvbgkAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdl
- T3B0aW9ucwIAAAAICAECAAAAAfP////8////AgAAAAoJDgAAAAAAAAA8AQAAAAYPAAAAF07DpGNoc3Rl
+ T3B0aW9ucwIAAAAICAECAAAAAfP////8////AgAAAAoJDgAAAAAAAACLAQAAAAYPAAAAF07DpGNoc3Rl
IFNlaXRlIGFuemVpZ2VuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0aW9u
cwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9UZXh0
RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRvb2xU
@@ -2171,11 +2184,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAAA9GaW5kZW4gKFN0cmcrRikFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xU
+ AAAAAAAAiwEAAAAGDAAAAA9GaW5kZW4gKFN0cmcrRikFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xU
aXBJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lk
dGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJv
b2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0
- ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAAAtU
+ ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAiwEAAAAGDwAAAAtU
ZXh0IHN1Y2hlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMFAAAA
CEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERpc3Rh
bmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSW1h
@@ -2255,11 +2268,11 @@
CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
+ AAAAAAAAiwEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs
b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT
eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp
- b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAApw4RuZGVybiBkZXIg
+ b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAApw4RuZGVybiBkZXIg
Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k
ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl
diff --git a/app/TaskFlow/frmValidator.vb b/app/TaskFlow/frmValidator.vb
index 3f4d2a5..377b9a3 100644
--- a/app/TaskFlow/frmValidator.vb
+++ b/app/TaskFlow/frmValidator.vb
@@ -43,8 +43,7 @@ Public Class frmValidator
''' Contains all grid columns for the current profile
'''
Private Property DT_COLUMNS_GRID As DataTable
-
-
+ Private Property GIT_TEST As Boolean = False
'''
''' Contains all grid columns for the current profile which have an sql but don't have a reference to a control
'''
@@ -76,6 +75,7 @@ Public Class frmValidator
Private CountAction As Int16 = 0
Public Shared Property WMDocPathWindows As String
Private Property DocPathWindows As String
+ Private Property DocCurrency As String = "EUR"
'Anzahl der Validierungsdokumente
Private Property Amount_Docs2Validate As Integer
Private Property first_control As Control
@@ -94,9 +94,6 @@ Public Class frmValidator
Public Property _FormLoaded As Boolean = False
Private Property _FormClosing As Boolean = False
Private Property _ControlHandleStarted As Boolean = False
- Private Property _ItemWorked As Boolean = False
-
-
Private Property Override As Boolean = False
Private Property OverrideAll As Boolean = False
Private Property Override_SQLCommand As String = ""
@@ -106,7 +103,7 @@ Public Class frmValidator
Private ControlCreator As ClassControlCreator
Private PerformanceLogger As Logger
Private Validator As Validator
- Private Const LOG_PERF = True
+ Private Const LOG_PERF = False
Private ReadOnly MyValidationLogger As Logger
Private Property OperationMode As OperationMode
@@ -194,7 +191,6 @@ Public Class frmValidator
Validator = New Validator(LOGCONFIG)
Override = False
- _ItemWorked = False
SplitContainer1.Panel2Collapsed = True
first_control = Nothing
_FormClosing = False
@@ -297,7 +293,7 @@ Public Class frmValidator
PROFIL_FINISH_SQL = oProfileRow.Item("SQL_BTN_FINISH")
PROFIL_VEKTORINDEX = oProfileRow.Item("PM_VEKTOR_INDEX")
PROFIL_CURRENCY_ATTRIBUTE = oProfileRow.Item("CURRENCY_ATTRIBUTE")
-
+ PROFILE_NOT_RESP_COMMENT = oProfileRow.Item("NOT_RESP_COMMENT")
PROFIL_REJECT_ACTIONS_ATTRIBUTE = oProfileRow.Item("REJECT_ACTIONS_ATTRIBUTE")
PROFIL_REJECT_COMMENT_ATTRIBUTE = oProfileRow.Item("REJECT_COMMENT_ATTRIBUTE")
PROFIL_NOT_RESP_COMMENT_ATTR = oProfileRow.Item("NOT_RESP_COMMENT_ATTRIBUTE")
@@ -399,7 +395,7 @@ Public Class frmValidator
If oProfileRejectionText <> String.Empty And oProfile_REJECT_SQL_REASONS <> String.Empty Then
functBtnReject = True
End If
- If oProfileNotResponsibleText <> String.Empty And oProfile_NOT_RESP_SQL <> String.Empty Then
+ If (oProfileNotResponsibleQuestion <> String.Empty Or oProfileNotResponsibleText <> String.Empty) And oProfile_NOT_RESP_SQL <> String.Empty Then
If IDB_ACTIVE = True Then
functBtnNR = True
End If
@@ -453,11 +449,9 @@ Public Class frmValidator
End If
End If
- bbtniNext.Visibility = BarItemVisibility.Always
+ bbtniNext.Visibility = BarItemVisibility.Never
If CURRENT_JUMP_DOC_GUID <> 0 Then
- bbtniNext.Visibility = BarItemVisibility.Never
-
Amount_Docs2Validate = 1
Else
@@ -544,12 +538,9 @@ Public Class frmValidator
If CURRENT_DOC_GUID <> 0 Then
Try
- If _ItemWorked = False Then
- Dim sql = $"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}"
- DatabaseFallback.ExecuteNonQueryECM(sql)
- 'PRTF_PROFILE_FILES_WORK("FreeFile")
- End If
-
+ Dim sql = $"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = NULL WHERE GUID = {CURRENT_DOC_GUID}"
+ DatabaseFallback.ExecuteNonQueryECM(sql)
+ 'PRTF_PROFILE_FILES_WORK("FreeFile")
Catch ex As Exception
MyValidationLogger.Error(ex)
@@ -1147,7 +1138,7 @@ Public Class frmValidator
Continue For
End If
- Dim oGrid = ControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False)
+ Dim oGrid = ControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False, DocCurrency)
oMyControl = oGrid
'AddHandler oGrid.Views(0).c AddressOf GridView_CustomColumnDisplayText
@@ -1253,7 +1244,7 @@ Public Class frmValidator
End If
SetControlValues_FromControl(oTextbox)
-
+ Controls2beEnabled(oTextbox.Name)
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
End Sub
@@ -1355,6 +1346,7 @@ Public Class frmValidator
Dim oTitle
Dim oCaption
Dim oColor
+ Dim oIncludeFI As Boolean = False
Try
oAction = oDT_ACTIONS?.Rows(0).Item("ActionType")
Catch ex As Exception
@@ -1385,12 +1377,17 @@ Public Class frmValidator
Catch ex As Exception
oColor = ""
End Try
+ Try
+ oIncludeFI = oDT_ACTIONS?.Rows(0).Item("IncludeFI")
+ Catch ex As Exception
+ End Try
Try
OverrideAll = oDT_ACTIONS?.Rows(0).Item("OverrideAll")
Catch ex As Exception
MyValidationLogger.Warn($"Could not set OverrideAll {ex.Message}")
OverrideAll = False
End Try
+
If OverrideAll = True Then
MyValidationLogger.Info($"CURRENT_DOC_ID: {CURRENT_DOC_ID} - OverrideAll will be in Action!")
End If
@@ -1405,7 +1402,7 @@ Public Class frmValidator
result = MessageBox.Show(oQuestion, oTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)
If result = MsgBoxResult.Yes Then
Override = True
- Finish_WFStep()
+ Finish_WFStep(oIncludeFI)
End If
End If
Case "Update_Single_Control".ToUpper
@@ -1451,7 +1448,7 @@ Public Class frmValidator
Case "Override_Direct".ToUpper
Override = True
If Check_UpdateIndexe() = True Then
- Finish_WFStep(False)
+ Finish_WFStep(oIncludeFI)
End If
Case "Override incFinal".ToUpper
@@ -1490,7 +1487,7 @@ Public Class frmValidator
Dim sql_Statement = ROW.Item("SQL_UEBERPRUEFUNG")
Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString()
sql_Statement = sql_Statement.ToString.Replace(dgv.Name, cellvalue)
- 'Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sql_Statement, ROW.Item(1), $"oControlID[{CONTROL_ID}]")
+ 'Dim resultDT: DataTable = ClassDatabase.Return_Datatable_ConId(sql_Statement, ROW.Item(1), $"oControlID[{CONTROL_ID}")
Dim resultDT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(sql_Statement, DatabaseType.ECM) With {
.ConnectionId = ROW.Item("CONNECTION_ID")
})
@@ -1643,7 +1640,7 @@ Public Class frmValidator
Dim oControlname2Set = oRow.Item("NAME")
MyValidationLogger.Debug($"Workin on SetControLValue for {oControlname2Set} ...")
- Dim oConnectionId = oRow.ItemEx("CONNECTION_ID", -1)
+ Dim oConnectionId = oRow.ItemEx("CONNECTION_ID", 0)
Dim oControlDataSql = oRow.ItemEx("SET_CONTROL_DATA", String.Empty)
If oConnectionId = -1 Or oControlDataSql = String.Empty Then
@@ -1700,7 +1697,7 @@ Public Class frmValidator
Dim oControl As Control = oControlObject2Set
Dim oMeta As ClassControlCreator.ControlMetadata = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
- MyValidationLogger.Debug($"Got the Control2Set: {oControlId2Set}..Setting the values..")
+ MyValidationLogger.Debug(String.Format("Got the Control2Set: {0}..Setting the values..", {oControl.Name}))
Select Case True
@@ -1762,8 +1759,42 @@ Public Class frmValidator
Catch ex As Exception
MyValidationLogger.Warn($"Error while Control2Set (Combobox): {ex.Message}")
End Try
+ Case oControl.GetType() = GetType(DevExpress.XtraEditors.DateEdit)
+ Try
+ Dim oDateEdit As DevExpress.XtraEditors.DateEdit = DirectCast(oControl, DevExpress.XtraEditors.DateEdit)
+ Dim parsed As DateTime
+ If String.IsNullOrWhiteSpace(oControlCaption) Then
+ oDateEdit.EditValue = Nothing
+ ElseIf DateTime.TryParse(oControlCaption, parsed) Then
+ oDateEdit.EditValue = parsed
+ ElseIf DateTime.TryParse(oControlCaption, CultureInfo.CurrentCulture, DateTimeStyles.None, parsed) Then
+ oDateEdit.EditValue = parsed
+ ElseIf DateTime.TryParse(oControlCaption, CultureInfo.InvariantCulture, DateTimeStyles.None, parsed) Then
+ oDateEdit.EditValue = parsed
+ Else
+ oDateEdit.EditValue = Nothing
+ End If
+ Catch ex As Exception
+ MyValidationLogger.Warn($"Error While Control2Set (DateEdit): {ex.Message}")
+ End Try
+ Case oControl.GetType() = GetType(System.Windows.Forms.DateTimePicker)
+ Try
+ Dim dtp As System.Windows.Forms.DateTimePicker = DirectCast(oControl, System.Windows.Forms.DateTimePicker)
+ Dim parsed As DateTime
+ If String.IsNullOrWhiteSpace(oControlCaption) Then
+ dtp.Value = DateTimePicker.MinimumDateTime
+ ElseIf DateTime.TryParse(oControlCaption, parsed) _
+ OrElse DateTime.TryParse(oControlCaption, CultureInfo.CurrentCulture, DateTimeStyles.None, parsed) _
+ OrElse DateTime.TryParse(oControlCaption, CultureInfo.InvariantCulture, DateTimeStyles.None, parsed) Then
+ dtp.Value = parsed
+ Else
+ dtp.Value = DateTimePicker.MinimumDateTime
+ End If
+ Catch ex As Exception
+ MyValidationLogger.Warn($"Error While Control2Set (DateTimePicker): {ex.Message}")
+ End Try
Case oControl.GetType() = GetType(Windows.Forms.CheckBox)
Dim oBitValue As Boolean
@@ -1782,7 +1813,7 @@ Public Class frmValidator
End Try
Catch ex As Exception
- MyValidationLogger.Warn($"Error while Control2Set (Checkbox): {ex.Message}")
+ MyValidationLogger.Warn($"Error while Control2Set (Checkbox) {ex.Message}")
End Try
@@ -1796,7 +1827,7 @@ Public Class frmValidator
End If
If oFound = False Then
- MyValidationLogger.Debug($"Could not find the Control2Set with ID {oControlGUID2Set} on panel!!!")
+ MyValidationLogger.Debug($"Could Not find the Control2Set with ID {oControlGUID2Set} on panel!!!")
End If
Catch ex As Exception
MyValidationLogger.Error(ex)
@@ -1810,10 +1841,10 @@ Public Class frmValidator
Dim oLOOKUPValue = SelectedValues.Item(0
)
Dim oLOOKUPName = LookupControl.Name
- MyValidationLogger.Debug($"oLOOKUPValue is [{oLOOKUPValue}]!")
+ MyValidationLogger.Debug($"oLOOKUPValue Is [{oLOOKUPValue}]!")
Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid
Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
- Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oLOOKUPName}%'"
+ Dim oExpression = $"SQL_UEBERPRUEFUNG Like '%#CTRL#{oLOOKUPName}%'"
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
MyValidationLogger.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!")
@@ -1825,7 +1856,7 @@ Public Class frmValidator
Dim oDEPENDING_CtrlName = oRowDependingControl.Item("NAME")
MyValidationLogger.Debug($"Control {oDEPENDING_CtrlName} is depending on lookUp {oLOOKUPName}..")
If _DependingControl_In_Action = True Then
- MyValidationLogger.Debug($"..but _dependingControl_in_action = True ==> Exit Sub!")
+ MyValidationLogger.Info($"..but _dependingControl_in_action = True ==> Exit Sub!")
Exit Sub
End If
If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then
@@ -1848,6 +1879,7 @@ Public Class frmValidator
Case oControl.GetType() = GetType(DevExpress.XtraEditors.TextEdit) Or oControl.GetType() = GetType(MemoEdit)
Try
Dim oValue As Object = oDTDEPENDING_RESULT.Rows(0).Item(0)
+ MyValidationLogger.Debug(String.Format("Setting EditValue with value [{0}]", oValue))
oValue = ObjectEx.NotNull(Of Object)(oValue, Nothing)
Try
'oControl.Text = oValue
@@ -1959,6 +1991,7 @@ Public Class frmValidator
Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG"))
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_DependingControl_In_Action = True
+ MyValidationLogger.Debug($"_DependingControl_In_Action: Control {oDEPENDING_CtrlName} ...")
'Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"CheckBox_DependingControls - oControlID: {oControlID}")
Dim oDTDEPENDING_RESULT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
.ConnectionId = oRowDependingControl.Item("CONNECTION_ID")
@@ -2231,6 +2264,7 @@ Public Class frmValidator
If Not IsDBNull(oRowEnablingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowEnablingControl.Item("SQL_ENABLE")) Then
Dim oSqlCommand = IIf(IsDBNull(oRowEnablingControl.Item("SQL_ENABLE")), "", oRowEnablingControl.Item("SQL_ENABLE"))
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
+ MyValidationLogger.Debug($"_DependingControl_In_Action: oENABLE_CtrlName {oENABLE_CtrlName} ...")
_DependingControl_In_Action = True
Dim oConnectionId As Integer = oRowEnablingControl.Item("CONNECTION_ID")
@@ -2252,7 +2286,7 @@ Public Class frmValidator
End If
Next
-
+ _DependingControl_In_Action = False
If oFound = False Then
MyValidationLogger.Debug($"Could not find the enabling Control with ID {oENABLE_GUID} on panel!!!")
End If
@@ -2291,8 +2325,8 @@ Public Class frmValidator
' Logger.Error(ex)
' End Try
'End Sub
- Private Sub Controls2B_EnDisabled_on_Load()
- If LOG_PERF Then PerformanceLogger.Info("Controls2B_EnDisabled_on_Load")
+ Private Sub Controls2B_EnDisabled()
+ If LOG_PERF Then PerformanceLogger.Info("Controls2B_EnDisabled")
Try
Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
@@ -2319,8 +2353,10 @@ Public Class frmValidator
Try
MyValidationLogger.Debug($"Result of Enable SQL [{oResult}]...")
- oControl.Enabled = oResult
+
+ oControl.Enabled = CBool(oResult)
Catch ex As Exception
+ MyValidationLogger.Warn($"Could not convert value [oResult] to Boolean!")
MyValidationLogger.Warn($"Error en/disabling control onLoad: [{ex.Message}]")
End Try
@@ -2419,7 +2455,7 @@ Public Class frmValidator
MyValidationLogger.Debug("SQL Check is not configured!")
Return True
End If
- If check.ToString.Length > 0 And dr.Item("INDEX_NAME") <> "DD PM-ONLY FOR DISPLAY" Then
+ If check.ToString.Length > 0 And Not {"@@DISPLAY_ONLY", "DD PM-ONLY FOR DISPLAY"}.Contains(dr.Item("INDEX_NAME")) Then
Dim cs As String = DatabaseFallback.GetConnectionString(dr.Item("CONNECTION_ID"))
If allgFunk.CheckValue_Exists(dr.Item("SQL_UEBERPRUEFUNG"), "@Eingabe", control.Text, dr.Item("TYP"), cs, CURRENT_ProfilGUID) = True Then
@@ -2483,7 +2519,7 @@ Public Class frmValidator
End Try
Try
- Amount_Docs2Validate = oDT.Rows(0).Item(2)
+ Amount_Docs2Validate = CInt(oDT.Rows(0).Item(2))
MyValidationLogger.Debug($"Get_Next_GUID: Amount_Docs2Validate [{Amount_Docs2Validate}]...")
Catch ex As Exception
Amount_Docs2Validate = 0
@@ -2561,25 +2597,23 @@ Public Class frmValidator
WMDocPathWindows = String.Empty
If OPERATION_MODE_FS <> ClassConstants.OpModeFS_ZF Then
+ Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH ({CURRENT_DOC_GUID},{_CheckStandard})"
+ oResult = DatabaseFallback.GetScalarValueECM(oSQL)
+ MyValidationLogger.Debug($"First Checking file [{oResult}] exists?...")
If File.Exists(oResult) = False Then
- Dim oSQL = $"SELECT dbo.FNPM_GET_FILEPATH ({CURRENT_DOC_GUID},{_CheckStandard})"
- oResult = DatabaseFallback.GetScalarValueECM(oSQL)
- MyValidationLogger.Debug($"Checking file 0 [{oResult}] exists?...")
- DocPathWindows = oResult
- MyValidationLogger.Info($"GetWMDocPathWindows returned false [{oResult}] - trying with standard again...")
+ MyValidationLogger.Info($"Getting filepath with standard 1 ...")
oSQL = $"SELECT [dbo].[FNPM_GET_FILEPATH] ({CURRENT_DOC_GUID},1)"
-
oResult = DatabaseFallback.GetScalarValueECM(oSQL)
-
- MyValidationLogger.Debug($"Checking file 1[{oResult}] exists?...")
+ MyValidationLogger.Debug($"Second Checking file [{oResult}] exists?...")
If File.Exists(oResult) = False Then
- MyValidationLogger.Info($"GetWMDocPathWindows FileExists2 also returned false [{oResult}]!")
+ MyValidationLogger.Info($"Second FileExists also returned false [{oResult}]!")
DocPathWindows = oResult
MyValidationLogger.Warn($"GetDocPathWindows: File [{oResult}] not existing!")
Return False
End If
-
End If
+ DocPathWindows = oResult
+
Else
oResult = ClassConstants.OpModeFS_ZF
MyValidationLogger.Debug($"GetDocPathWindows: Filestore is {ClassConstants.OpModeFS_ZF}")
@@ -2678,14 +2712,22 @@ Public Class frmValidator
DatabaseFallback.ExecuteNonQueryECM(sql)
' ############ Infos eintragen #################
- ' txtDateipfad.Text = Document_Path
- 'Dim omsg = $"{ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("remainingOps")}: {Amount_Docs2Validate}"
- Dim omsg = String.Format(S.Verbleibende_Vorgänge___0_, Amount_Docs2Validate)
- If Amount_Docs2Validate > 0 Then
+ If Amount_Docs2Validate > 1 Then
+ Dim omsg = String.Format(S.Verbleibende_Vorgänge___0_, Amount_Docs2Validate)
bsiInformation.Caption = omsg
+
+ bsiInformation.Caption = omsg
+ If RbnPgGrpActions.Visible = False Then
+ RbnPgGrpActions.Visible = True
+ End If
+ bbtniNext.Visibility = BarItemVisibility.Always
Else
- bsiInformation.Caption = "Could not get the amount of remaining docs!"
+ bbtniNext.Visibility = BarItemVisibility.Never
+ If bbtniDelete.Visibility = BarItemVisibility.Never And bbtniAnnotation.Visibility = BarItemVisibility.Never Then
+ RbnPgGrpActions.Visible = False
+ End If
+ bsiInformation.Caption = ""
End If
bsiDocID.Caption = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID
@@ -2754,24 +2796,24 @@ Public Class frmValidator
End If
If Not IsNothing(oCurrency) Then
-
- Dim oValueType = oCurrency.GetType.ToString
- If IsDBNull(oCurrency) Then
- oCurrency = "EUR"
+ DocCurrency = oCurrency
+ Dim oValueType = DocCurrency.GetType.ToString
+ If IsDBNull(DocCurrency) Then
+ DocCurrency = "EUR"
Else
Try
- oCurrency = oCurrency.ToString
+ DocCurrency = DocCurrency.ToString
Catch ex As Exception
MyValidationLogger.Warn($"Unexpected error in Converting oCurreny to string: " & ex.Message)
- oCurrency = "EUR"
+ DocCurrency = "EUR"
End Try
End If
- If oCurrency <> String.Empty Then
- If oCurrency.ToString.Length <> 3 Then
- MyValidationLogger.Info("oCurrency-Length = 3 - Setting to EUR")
- oCurrency = "EUR"
+ If DocCurrency <> String.Empty Then
+ If DocCurrency.ToString.Length <> 3 Then
+ MyValidationLogger.Info("DocCurrency-Length = 3 - Setting to EUR")
+ DocCurrency = "EUR"
End If
- MyValidationLogger.Debug($"oCurrency = {oCurrency}")
+ MyValidationLogger.Debug($"DocCurrency = {DocCurrency}")
For Each oControl As Control In PanelValidatorControl.Controls
Try
Dim oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
@@ -2783,7 +2825,7 @@ Public Class frmValidator
DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
Dim oCultureInfo As CultureInfo = New CultureInfo("de-DE")
- oCultureInfo.NumberFormat.CurrencySymbol = oCurrency
+ oCultureInfo.NumberFormat.CurrencySymbol = DocCurrency
Dim riTextEdit As RepositoryItemTextEdit = New RepositoryItemTextEdit()
riTextEdit.MaskSettings.Configure(Of MaskSettings.Numeric)(Sub(settings)
settings.MaskExpression = "c"
@@ -2817,7 +2859,7 @@ Public Class frmValidator
End Try
Next
Else
- MyValidationLogger.Warn($"oCurrency is String.empty! ")
+ MyValidationLogger.Warn($"DocCurrency is String.empty! ")
End If
Else
MyValidationLogger.Warn($"oCurrency is Nothing - Check PROFIL_CURRENCY_ATTRIBUTE! ")
@@ -2832,7 +2874,7 @@ Public Class frmValidator
Catch ex As Exception
MyValidationLogger.Error(ex)
End Try
-
+ Controls2B_EnDisabled()
MyValidationLogger.Debug("frmValidator: LoadNextDocument finished!")
Catch ex As Exception
@@ -2899,13 +2941,13 @@ Public Class frmValidator
End If
SplitContainer1.Panel2Collapsed = True
If Not IsNothing(DocumentViewer1) Then
- DocumentViewer1.Visible = False
- End If
+ DocumentViewer1.Visible = False
+ End If
- RibbonPageFile.Visible = False
- Exit Sub
- Else
- If Not IsNothing(DocumentViewer1) Then
+ RibbonPageFile.Visible = False
+ Exit Sub
+ Else
+ If Not IsNothing(DocumentViewer1) Then
DocumentViewer1.Visible = True
End If
@@ -3282,7 +3324,9 @@ Public Class frmValidator
oIndexName = oSourceIndexName
oControName = oControl.Name
Dim oLoadIndex As Boolean = oControlRow.Item("LOAD_IDX_VALUE")
-
+ If oIndexName = "@@DISPLAY_ONLY" Then
+ oLoadIndex = False
+ End If
MyValidationLogger.Debug("INDEX: " & oSourceIndexName & " - CONTROLNAME: " & oControl.Name & " - LOAD IDXVALUES: " & oLoadIndex.ToString)
@@ -3300,10 +3344,13 @@ Public Class frmValidator
Exit For
End If
If oSourceIndexName Is Nothing = False Then
- If oLoadIndex = False Or oSourceIndexName = "DD PM-ONLY FOR DISPLAY" Then
- ' Wenn kein Index exisitiert, defaultValue laden
- oTextBox.EditValue = oDefaultValue
- MyValidationLogger.Debug("Indexwert soll nicht geladen werden.")
+ If oLoadIndex = False Then
+ MyValidationLogger.Debug($" oControl {oControl.Name}: Indexwert soll nicht geladen werden.")
+ If Not {"@@DISPLAY_ONLY", "DD PM-ONLY FOR DISPLAY"}.Contains(oSourceIndexName) Then
+ ' Wenn kein Index exisitiert, defaultValue laden
+ oTextBox.EditValue = oDefaultValue
+ End If
+
Exit Select
End If
@@ -3339,7 +3386,7 @@ Public Class frmValidator
MyValidationLogger.Debug("Value from Source: [{0}]", oValueFromSource)
Try
- 'Dim oFormatString As String = oControlRow.ItemEx("CTRL_FORMAT_STRING", "")
+ Dim oFormatString As String = oControlRow.ItemEx("CTRL_FORMAT_STRING", "")
'oFormattedValue = ClassFormat.GetFormattedValue(oControl.Name, oValueFromSource, oFormatString)
'If Not IsNothing(oFormattedValue) And oFormattedValue <> String.Empty Then
@@ -3376,7 +3423,6 @@ Public Class frmValidator
MyValidationLogger.Warn($"Unexpected error in Set Backcolor [{oControl.Name}]: {ex.Message}")
MyValidationLogger.Error(ex)
End Try
-
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
Catch ex As Exception
@@ -3408,13 +3454,16 @@ Public Class frmValidator
Exit For
End If
If oSourceIndexName Is Nothing = False Then
- If oLoadIndex = False Or oSourceIndexName = "DD PM-ONLY FOR DISPLAY" Then
- If oDefaultValue = String.Empty Then
- oMyCombobox.SelectedIndex = -1
- Else
- oMyCombobox.Text = oDefaultValue
- End If
+ If oLoadIndex = False Then
MyValidationLogger.Debug($" oMyComboBox {oMyCombobox.Name}: Indexwert soll nicht geladen werden.")
+ If Not {"@@DISPLAY_ONLY", "DD PM-ONLY FOR DISPLAY"}.Contains(oSourceIndexName) Then
+ If oDefaultValue = String.Empty Then
+ oMyCombobox.SelectedIndex = -1
+ Else
+ oMyCombobox.Text = oDefaultValue
+ End If
+ End If
+
Exit Select
End If
@@ -3494,6 +3543,7 @@ Public Class frmValidator
End If
If oSourceIndexName Is Nothing = False Then
If oLoadIndex = False Then
+ MyValidationLogger.Debug($" oControl {oControl.Name}: Indexwert soll nicht geladen werden.")
MyValidationLogger.Debug("Indexwert soll nicht geladen werden.")
Exit Select
End If
@@ -3554,12 +3604,26 @@ Public Class frmValidator
End If
Dim oRowData As New List(Of Object)
+ MyValidationLogger.Debug(String.Format("Now creating the rows for DevexpressGrid ..."))
+ Dim oMSG = ""
+ Try
+ For index = 1 To oColValuesfromSource.Length
+ oMSG = ""
+ Dim oValue = oColValuesfromSource(index - 1)
+ oMSG = String.Format("...Index [{0}] - Value [{1}]", index, oValue)
+ MyValidationLogger.Debug(oMSG)
+ Dim oColumnType = oDTColumnsPerDevExGrid.Rows.Item(index - 1).Item("TYPE_COLUMN")
+ Dim oConvertedValue = ClassFormat.GetConvertedValue(oValue, oColumnType)
+ oRowData.Add(oConvertedValue)
+ Next
+ Catch ex As Exception
+ MyValidationLogger.Warn(String.Format("Unexpected error while working on IDB Fill GridControl: {0}", oControl.Name))
+ If Not oMSG = String.Empty Then
+ MyValidationLogger.Warn(String.Format("oMSG: {0}", oMSG))
+ End If
+ MyValidationLogger.Error(ex)
+ End Try
- For index = 1 To oColValuesfromSource.Length
- Dim oColumnType = oDTColumnsPerDevExGrid.Rows.Item(index - 1).Item("TYPE_COLUMN")
- Dim oConvertedValue = ClassFormat.GetConvertedValue(oColValuesfromSource(index - 1), oColumnType)
- oRowData.Add(oConvertedValue)
- Next
oDataSource.Rows.Add(oRowData.ToArray())
@@ -3658,7 +3722,7 @@ Public Class frmValidator
MyValidationLogger.Error(ex)
MyValidationLogger.Info(">> Unexpected error in FillIndexValues(GridControl: " & oMyGridControl.Name & "): " & ex.Message, True)
MyValidationLogger.Info(">> Controltype: " & oControlType)
- MyValidationLogger.Info(">> Indexname windream: " & oIndexName)
+ MyValidationLogger.Info(">> Attributname: " & oIndexName)
errormessage = "Unexpected error in FillIndexValues(Combobox: " & oMyGridControl.Name & "): " & vbNewLine & ex.Message & vbNewLine & "Check Logfile"
My.Settings.Save()
frmError.ShowDialog()
@@ -3676,8 +3740,9 @@ Public Class frmValidator
Dim myCheckBox As CheckBox = oControl
- If oLoadIndex = False Or oSourceIndexName = "DD PM-ONLY FOR DISPLAY" Then
- MyValidationLogger.Debug("Indexwert soll nicht geladen werden.")
+ If oLoadIndex = False Or {"@@DISPLAY_ONLY", "DD PM-ONLY FOR DISPLAY"}.Contains(oSourceIndexName) Then
+ MyValidationLogger.Debug($" oControl {oControl.Name}: Indexwert soll nicht geladen werden.")
+ Exit Select
End If
@@ -4013,7 +4078,6 @@ Public Class frmValidator
' Refresh_FileList()
Load_Next_Document(True)
- Controls2B_EnDisabled_on_Load()
_DependingControl_In_Action = False
_DependingColumn_In_Action = False
@@ -4229,8 +4293,7 @@ Public Class frmValidator
End Function
Sub Finish_WFStep(Optional includeFI As Boolean = True)
btnSave.Enabled = False
- MyValidationLogger.Debug("Abschluss für Dok: " & CURRENT_DOC_PATH & " gestartet")
- _ItemWorked = True
+ MyValidationLogger.Debug("Abschluss für DocID " & CURRENT_DOC_ID & " wird gestartet ...")
Dim oErrorOcurred As Boolean = False
If OverrideAll = False Then
'Eingaben auf Form überprüfen
@@ -4273,7 +4336,6 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
End If
If Not IsNothing(oSQLCommand) Then
Dim oResultfromSQL As Object = DatabaseFallback.GetScalarValueWithConnection(oSQLCommand, oConnectionID)
@@ -4285,7 +4347,6 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
Else
MyValidationLogger.Warn($"FinalIndexResult from SQL is DBNull - AttributeName [{oFinalIndexRow.Item("INDEXNAME")}] - oContinueOnIndifferentState = true, Continuing with next Attribute and Replacing with empty String")
oResultfromSQL = ""
@@ -4299,7 +4360,6 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
Else
MyValidationLogger.Warn($"FinalIndexResult from SQL is EmptyValue - AttributeName [{oFinalIndexRow.Item("INDEXNAME")}] - oContinueOnIndifferentState = true, So continuing with next Attribute")
Continue For
@@ -4344,7 +4404,6 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
End If
Else
MyValidationLogger.Debug("Now the final indexing...")
@@ -4376,12 +4435,10 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
End If
End If
If oErrorOcurred = True Then
- _ItemWorked = False
Exit For
End If
Next
@@ -4501,35 +4558,38 @@ Public Class frmValidator
DatabaseFallback.ExecuteNonQueryECM(ins)
Dim oFIsql As String
'Close_document_viewer()
- If Current_Document.Extension = "pdf" Then
- If Not IsNothing(WORK_HISTORY_ENTRY) Then
- If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
- oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID)
- Dim DT_ENTRY As DataTable = DatabaseFallback.GetDatatableECM(oFIsql) ', "Finish_WFStep2")
- If Not IsNothing(DT_ENTRY) Then
- If DT_ENTRY.Rows.Count = 1 Then
- Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT")
- ClassAnnotation.Annotate_PDF("Workflow-State:", AnnotationString, 0, False)
+ If Not IsNothing(Current_Document) Then
+ If Current_Document.Extension = "pdf" Then
+ If Not IsNothing(WORK_HISTORY_ENTRY) Then
+ If CBool(CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_WORK_HISTORY_ENTRY")) = True Then
+ oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE GUID = (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = {0} AND DOC_ID = {1})", CURRENT_ProfilGUID, CURRENT_DOC_ID)
+ Dim DT_ENTRY As DataTable = DatabaseFallback.GetDatatableECM(oFIsql) ', "Finish_WFStep2")
+ If Not IsNothing(DT_ENTRY) Then
+ If DT_ENTRY.Rows.Count = 1 Then
+ Dim AnnotationString = DT_ENTRY.Rows(0).Item("WORKED_WHEN") & " " & DT_ENTRY.Rows(0).Item("WORKED_BY") & ": " & DT_ENTRY.Rows(0).Item("STATUS_COMMENT")
+ ClassAnnotation.Annotate_PDF("Workflow-State:", AnnotationString, 0, False)
+ End If
End If
End If
- End If
- Dim oAnnotateAllWHEs = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES")
- If CBool(oAnnotateAllWHEs) = True Then
- oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID)
- Dim DT_ENTRIES As DataTable = DatabaseFallback.GetDatatableECM(oFIsql) ', "Finish_WFStep3")
- If Not IsNothing(DT_ENTRIES) Then
- If DT_ENTRIES.Rows.Count > 0 Then
- Dim AnnotationString As String = ""
- For Each rw As DataRow In DT_ENTRIES.Rows
- AnnotationString = AnnotationString & rw.Item("WORKED_WHEN") & " " & rw.Item("WORKED_BY") & ": " & rw.Item("STATUS_COMMENT") & vbNewLine
- Next
- ClassAnnotation.Annotate_PDF("Workflow History:", AnnotationString, 0, False, 10, 40)
+ Dim oAnnotateAllWHEs = CURRENT_DT_PROFILE.Rows(0).Item("ANNOTATE_ALL_WORK_HISTORY_ENTRIES")
+ If CBool(oAnnotateAllWHEs) = True Then
+ oFIsql = String.Format("SELECT * FROM TBPM_FILES_WORK_HISTORY WHERE DOC_ID = {1} ORDER BY GUID", CURRENT_ProfilGUID, CURRENT_DOC_ID)
+ Dim DT_ENTRIES As DataTable = DatabaseFallback.GetDatatableECM(oFIsql) ', "Finish_WFStep3")
+ If Not IsNothing(DT_ENTRIES) Then
+ If DT_ENTRIES.Rows.Count > 0 Then
+ Dim AnnotationString As String = ""
+ For Each rw As DataRow In DT_ENTRIES.Rows
+ AnnotationString = AnnotationString & rw.Item("WORKED_WHEN") & " " & rw.Item("WORKED_BY") & ": " & rw.Item("STATUS_COMMENT") & vbNewLine
+ Next
+ ClassAnnotation.Annotate_PDF("Workflow History:", AnnotationString, 0, False, 10, 40)
+ End If
End If
End If
End If
End If
End If
+
'wenn Move2Folder aktiviert wurde
If Move2Folder <> "" And (OPERATION_MODE_FS = ClassConstants.OpModeFS_PWM Or OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM) Then
idxerr_message = allgFunk.Move2Folder(WMDocPathWindows, Move2Folder, CURRENT_ProfilGUID, WINDREAM_ALLG)
@@ -4538,7 +4598,6 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
End If
End If
@@ -4552,7 +4611,6 @@ Public Class frmValidator
My.Settings.Save()
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
MyValidationLogger.Info("Unexpected error in Finish: " & ex.Message, True)
Exit Sub
End Try
@@ -4562,7 +4620,6 @@ Public Class frmValidator
errormessage = oErrMsgMissingInput
frmError.ShowDialog()
oErrorOcurred = True
- _ItemWorked = False
Exit Sub
End If
Else
@@ -4577,7 +4634,6 @@ Public Class frmValidator
End If
If oErrorOcurred = True Then
MsgBox("Unhandled error occured in Finish Workflow-Step...Please check your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
- _ItemWorked = False
Else
'PRTF_PROFILE_FILES_WORK("Worked")
MyValidationLogger.Debug("Validation of document ended successfully!")
@@ -4756,10 +4812,10 @@ Public Class frmValidator
Dim oOVERWRITE_DATA = oControlRow.Item("OVERWRITE_DATA")
'Nur wenn der Name der Zeile entspricht und der Index READ_ONLY FALSE ist
- If oDBControlName = oControl.Name And oIndexName <> "DD PM-ONLY FOR DISPLAY" Then
+ If oDBControlName = oControl.Name And Not {"@@DISPLAY_ONLY", "DD PM-ONLY FOR DISPLAY"}.Contains(oIndexName) Then
MyValidationLogger.Debug("Indexierung für Control (" & oControlId & ") '" & oControlName & "' gestartet. Indexname '" & oIndexName & "'")
If oIndexName = "" Then
- MyValidationLogger.Info(" >> Indexname is unexpected empty.")
+ MyValidationLogger.Info(">> Indexname is unexpected empty.")
Continue For
End If
Select Case True
@@ -4965,7 +5021,6 @@ Public Class frmValidator
oMissing = True
oErrMsgMissingInput = oWrongInputMessage & " textbox '" & oControl.Name & "'"
-
MyValidationLogger.Warn(oErrMsgMissingInput)
If oRegexMessage <> String.Empty Then
oErrMsgMissingInput &= ":" & vbCrLf & oRegexMessage
@@ -5936,7 +5991,6 @@ Public Class frmValidator
My.Settings.Save()
End Sub
Private Sub btnSave_MouseHover(sender As Object, e As EventArgs)
- 'Dim oMsg = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("F2forSave")
ToolTip1.Show(S.F2_für_Speichern, btnSave)
End Sub
@@ -5950,8 +6004,14 @@ Public Class frmValidator
Sub SetStatusLabel(infotext As String, Optional pColor As String = "")
bsiInformation.Caption = infotext & " " & Now.ToString
If pColor <> String.Empty Then
- bsiInformation.ItemAppearance.Normal.BackColor = Color.FromName(pColor)
- bsiInformation.ItemAppearance.Normal.ForeColor = GraphicsEx.GetContrastedColor(Color.FromName(pColor))
+ Try
+ bsiInformation.ItemAppearance.Normal.BackColor = Color.FromName(pColor)
+ bsiInformation.ItemAppearance.Normal.ForeColor = GraphicsEx.GetContrastedColor(Color.FromName(pColor))
+ Catch ex As Exception
+ bsiInformation.ItemAppearance.Normal.BackColor = Color.Transparent
+ bsiInformation.ItemAppearance.Normal.ForeColor = Color.Black
+ End Try
+
Else
bsiInformation.ItemAppearance.Normal.BackColor = Color.Transparent
bsiInformation.ItemAppearance.Normal.ForeColor = Color.Black
@@ -5999,7 +6059,6 @@ Public Class frmValidator
Private Sub bbtniRefresh_ItemClick(sender As Object, e As ItemClickEventArgs) Handles bbtniRefresh.ItemClick
Reload_Controls("")
Try
- 'btnSave.Text = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("frmValidator.ValidationButton")
btnSave.Text = S.Speichern___Nächster_Vorgang__F2_
Catch ex As Exception
@@ -6250,17 +6309,42 @@ Public Class frmValidator
End If
End If
Next
-
-
- oProfile_NOT_RESP_SQL = clsPatterns.ReplaceAllValues(oProfile_NOT_RESP_SQL, PanelValidatorControl, True)
+ Dim oIncludeFI As Boolean = False
+ OverrideAll = True
+ Override = True
+ Override_SQLCommand = clsPatterns.ReplaceAllValues(oProfile_NOT_RESP_SQL, PanelValidatorControl, True)
Dim oCaption As String = "Bestätigung - "
If USER_LANGUAGE <> "de-DE" Then
oCaption = "Confirmation - "
End If
- Dim frmDialog As New frmYesNo(oProfileNotResponsibleQuestion, oCaption + oProfileNotResponsibleText, oCommentSoFar)
+ Dim frmDialog As New frmYesNo(oProfileNotResponsibleQuestion, oCaption + oProfileNotResponsibleText, oCommentSoFar, PROFILE_NOT_RESP_COMMENT)
frmDialog.ShowDialog()
' result = MessageBox.Show(oProfileNotResponsibleQuestion, ADDITIONAL_TITLE, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)
If frmDialog.DialogResult = DialogResult.OK Then
+ Dim oOverrideDT As DataTable = DatabaseFallback.GetDatatableECM(Override_SQLCommand)
+ If Not IsNothing(oOverrideDT) Then
+ If oOverrideDT.Rows.Count = 1 Then
+ Try
+ OverrideAll = oOverrideDT?.Rows(0).Item("OverrideAll")
+ Catch ex As Exception
+ MyValidationLogger.Warn($"Could not set OverrideAll {ex.Message}")
+ End Try
+ Try
+ oIncludeFI = oOverrideDT?.Rows(0).Item("IncludeFI")
+ Catch ex As Exception
+ MyValidationLogger.Warn($"Could not set oIncludeFI {ex.Message}")
+ End Try
+ Else
+ MyValidationLogger.Info(String.Format("Result of oProfile_NOT_RESP_SQL did not delivered a Datatable - OverrideAll = True"))
+ End If
+ Else
+ MyValidationLogger.Warn(String.Format("oProfile_NOT_RESP_SQL returned Nothing - OverrideAll = True"))
+ End If
+
+ If OverrideAll = True Then
+ MyValidationLogger.Info($"CURRENT_DOC_ID: {CURRENT_DOC_ID} - OverrideAll will be in Action!")
+ End If
+
'For Each oControl As Control In PanelValidatorControl.Controls
' If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Attribute = PROFIL_NOT_RESP_COMMENT_ATTR Then
@@ -6282,13 +6366,8 @@ Public Class frmValidator
Indexiere_File(CURRENT_WMFILE, PROFIL_NOT_RESP_COMMENT_ATTR, frmDialog.oComment)
Else
Dim oREsult = IDBData.SetVariableValue(PROFIL_NOT_RESP_COMMENT_ATTR, frmDialog.oComment)
-
End If
-
- OverrideAll = True
- Override_SQLCommand = oProfile_NOT_RESP_SQL
- Override = True
- Finish_WFStep()
+ Finish_WFStep(oIncludeFI)
End If
End Sub
diff --git a/app/TaskFlow/frmValidatorSearch.Designer.vb b/app/TaskFlow/frmValidatorSearch.Designer.vb
index f15b712..b5e6a1a 100644
--- a/app/TaskFlow/frmValidatorSearch.Designer.vb
+++ b/app/TaskFlow/frmValidatorSearch.Designer.vb
@@ -150,7 +150,7 @@ Partial Class frmValidatorSearch
'
Me.SplitContainerControlDoc.Panel2.Controls.Add(Me.DocumentViewer1)
resources.ApplyResources(Me.SplitContainerControlDoc.Panel2, "SplitContainerControlDoc.Panel2")
- Me.SplitContainerControlDoc.SplitterPosition = 351
+ Me.SplitContainerControlDoc.SplitterPosition = 468
'
'XtraTabControlDocs
'
@@ -162,12 +162,13 @@ Partial Class frmValidatorSearch
'XtraTabPageDoc1
'
Me.XtraTabPageDoc1.Controls.Add(Me.GridControlDocSearch1)
- Me.XtraTabPageDoc1.Name = "XtraTabPageDoc1"
resources.ApplyResources(Me.XtraTabPageDoc1, "XtraTabPageDoc1")
+ Me.XtraTabPageDoc1.Name = "XtraTabPageDoc1"
'
'GridControlDocSearch1
'
resources.ApplyResources(Me.GridControlDocSearch1, "GridControlDocSearch1")
+ Me.GridControlDocSearch1.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlDocSearch1.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
GridLevelNode1.RelationName = "Level1"
Me.GridControlDocSearch1.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode1})
Me.GridControlDocSearch1.MainView = Me.GridViewDocSearch1
@@ -180,6 +181,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch1.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch1.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch1.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewDocSearch1.DetailHeight = 458
Me.GridViewDocSearch1.GridControl = Me.GridControlDocSearch1
Me.GridViewDocSearch1.Name = "GridViewDocSearch1"
Me.GridViewDocSearch1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -194,12 +196,13 @@ Partial Class frmValidatorSearch
'XtraTabPageDoc2
'
Me.XtraTabPageDoc2.Controls.Add(Me.GridControlDocSearch2)
- Me.XtraTabPageDoc2.Name = "XtraTabPageDoc2"
resources.ApplyResources(Me.XtraTabPageDoc2, "XtraTabPageDoc2")
+ Me.XtraTabPageDoc2.Name = "XtraTabPageDoc2"
'
'GridControlDocSearch2
'
resources.ApplyResources(Me.GridControlDocSearch2, "GridControlDocSearch2")
+ Me.GridControlDocSearch2.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlDocSearch2.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.GridControlDocSearch2.MainView = Me.GridViewDocSearch2
Me.GridControlDocSearch2.Name = "GridControlDocSearch2"
Me.GridControlDocSearch2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch2})
@@ -210,6 +213,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch2.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch2.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch2.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewDocSearch2.DetailHeight = 458
Me.GridViewDocSearch2.GridControl = Me.GridControlDocSearch2
Me.GridViewDocSearch2.Name = "GridViewDocSearch2"
Me.GridViewDocSearch2.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -224,12 +228,13 @@ Partial Class frmValidatorSearch
'XtraTabPageDoc3
'
Me.XtraTabPageDoc3.Controls.Add(Me.GridControlDocSearch3)
- Me.XtraTabPageDoc3.Name = "XtraTabPageDoc3"
resources.ApplyResources(Me.XtraTabPageDoc3, "XtraTabPageDoc3")
+ Me.XtraTabPageDoc3.Name = "XtraTabPageDoc3"
'
'GridControlDocSearch3
'
resources.ApplyResources(Me.GridControlDocSearch3, "GridControlDocSearch3")
+ Me.GridControlDocSearch3.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlDocSearch3.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.GridControlDocSearch3.MainView = Me.GridViewDocSearch3
Me.GridControlDocSearch3.Name = "GridControlDocSearch3"
Me.GridControlDocSearch3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch3})
@@ -240,6 +245,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch3.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch3.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch3.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewDocSearch3.DetailHeight = 458
Me.GridViewDocSearch3.GridControl = Me.GridControlDocSearch3
Me.GridViewDocSearch3.Name = "GridViewDocSearch3"
Me.GridViewDocSearch3.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -254,12 +260,13 @@ Partial Class frmValidatorSearch
'XtraTabPageDoc4
'
Me.XtraTabPageDoc4.Controls.Add(Me.GridControlDocSearch4)
- Me.XtraTabPageDoc4.Name = "XtraTabPageDoc4"
resources.ApplyResources(Me.XtraTabPageDoc4, "XtraTabPageDoc4")
+ Me.XtraTabPageDoc4.Name = "XtraTabPageDoc4"
'
'GridControlDocSearch4
'
resources.ApplyResources(Me.GridControlDocSearch4, "GridControlDocSearch4")
+ Me.GridControlDocSearch4.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlDocSearch4.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.GridControlDocSearch4.MainView = Me.GridViewDocSearch4
Me.GridControlDocSearch4.Name = "GridControlDocSearch4"
Me.GridControlDocSearch4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch4})
@@ -270,6 +277,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch4.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch4.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch4.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewDocSearch4.DetailHeight = 458
Me.GridViewDocSearch4.GridControl = Me.GridControlDocSearch4
Me.GridViewDocSearch4.Name = "GridViewDocSearch4"
Me.GridViewDocSearch4.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -284,12 +292,13 @@ Partial Class frmValidatorSearch
'XtraTabPageDoc5
'
Me.XtraTabPageDoc5.Controls.Add(Me.GridControlDocSearch5)
- Me.XtraTabPageDoc5.Name = "XtraTabPageDoc5"
resources.ApplyResources(Me.XtraTabPageDoc5, "XtraTabPageDoc5")
+ Me.XtraTabPageDoc5.Name = "XtraTabPageDoc5"
'
'GridControlDocSearch5
'
resources.ApplyResources(Me.GridControlDocSearch5, "GridControlDocSearch5")
+ Me.GridControlDocSearch5.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlDocSearch5.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
Me.GridControlDocSearch5.MainView = Me.GridViewDocSearch5
Me.GridControlDocSearch5.Name = "GridControlDocSearch5"
Me.GridControlDocSearch5.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDocSearch5})
@@ -300,6 +309,7 @@ Partial Class frmValidatorSearch
Me.GridViewDocSearch5.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewDocSearch5.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewDocSearch5.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewDocSearch5.DetailHeight = 458
Me.GridViewDocSearch5.GridControl = Me.GridControlDocSearch5
Me.GridViewDocSearch5.Name = "GridViewDocSearch5"
Me.GridViewDocSearch5.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -313,9 +323,11 @@ Partial Class frmValidatorSearch
'
'DocumentViewer1
'
+ Me.DocumentViewer1.BackColor = System.Drawing.SystemColors.ControlLightLight
resources.ApplyResources(Me.DocumentViewer1, "DocumentViewer1")
Me.DocumentViewer1.FileLoaded = False
Me.DocumentViewer1.Name = "DocumentViewer1"
+ Me.DocumentViewer1.Viewer_ForceTemporaryMode = False
'
'SplitContainerSearches
'
@@ -344,12 +356,13 @@ Partial Class frmValidatorSearch
'XtraTabPageSearch1
'
Me.XtraTabPageSearch1.Controls.Add(Me.GridControlSearch1)
- Me.XtraTabPageSearch1.Name = "XtraTabPageSearch1"
resources.ApplyResources(Me.XtraTabPageSearch1, "XtraTabPageSearch1")
+ Me.XtraTabPageSearch1.Name = "XtraTabPageSearch1"
'
'GridControlSearch1
'
resources.ApplyResources(Me.GridControlSearch1, "GridControlSearch1")
+ Me.GridControlSearch1.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlSearch1.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
GridLevelNode2.RelationName = "Level1"
Me.GridControlSearch1.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode2})
Me.GridControlSearch1.MainView = Me.GridViewSearch1
@@ -362,6 +375,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch1.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch1.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch1.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewSearch1.DetailHeight = 458
Me.GridViewSearch1.GridControl = Me.GridControlSearch1
Me.GridViewSearch1.Name = "GridViewSearch1"
Me.GridViewSearch1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -376,12 +390,13 @@ Partial Class frmValidatorSearch
'XtraTabPageSearch2
'
Me.XtraTabPageSearch2.Controls.Add(Me.GridControlSearch2)
- Me.XtraTabPageSearch2.Name = "XtraTabPageSearch2"
resources.ApplyResources(Me.XtraTabPageSearch2, "XtraTabPageSearch2")
+ Me.XtraTabPageSearch2.Name = "XtraTabPageSearch2"
'
'GridControlSearch2
'
resources.ApplyResources(Me.GridControlSearch2, "GridControlSearch2")
+ Me.GridControlSearch2.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlSearch2.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
GridLevelNode3.RelationName = "Level1"
Me.GridControlSearch2.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode3})
Me.GridControlSearch2.MainView = Me.GridViewSearch2
@@ -394,6 +409,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch2.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch2.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch2.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewSearch2.DetailHeight = 458
Me.GridViewSearch2.GridControl = Me.GridControlSearch2
Me.GridViewSearch2.Name = "GridViewSearch2"
Me.GridViewSearch2.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -408,12 +424,13 @@ Partial Class frmValidatorSearch
'XtraTabPageSearch3
'
Me.XtraTabPageSearch3.Controls.Add(Me.GridControlSearch3)
- Me.XtraTabPageSearch3.Name = "XtraTabPageSearch3"
resources.ApplyResources(Me.XtraTabPageSearch3, "XtraTabPageSearch3")
+ Me.XtraTabPageSearch3.Name = "XtraTabPageSearch3"
'
'GridControlSearch3
'
resources.ApplyResources(Me.GridControlSearch3, "GridControlSearch3")
+ Me.GridControlSearch3.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlSearch3.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
GridLevelNode4.RelationName = "Level1"
Me.GridControlSearch3.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode4})
Me.GridControlSearch3.MainView = Me.GridViewSearch3
@@ -426,6 +443,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch3.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch3.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch3.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewSearch3.DetailHeight = 458
Me.GridViewSearch3.GridControl = Me.GridControlSearch3
Me.GridViewSearch3.Name = "GridViewSearch3"
Me.GridViewSearch3.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -440,12 +458,13 @@ Partial Class frmValidatorSearch
'XtraTabPageSearch4
'
Me.XtraTabPageSearch4.Controls.Add(Me.GridControlSearch4)
- Me.XtraTabPageSearch4.Name = "XtraTabPageSearch4"
resources.ApplyResources(Me.XtraTabPageSearch4, "XtraTabPageSearch4")
+ Me.XtraTabPageSearch4.Name = "XtraTabPageSearch4"
'
'GridControlSearch4
'
resources.ApplyResources(Me.GridControlSearch4, "GridControlSearch4")
+ Me.GridControlSearch4.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlSearch4.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
GridLevelNode5.RelationName = "Level1"
Me.GridControlSearch4.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode5})
Me.GridControlSearch4.MainView = Me.GridViewSearch4
@@ -458,6 +477,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch4.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch4.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch4.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewSearch4.DetailHeight = 458
Me.GridViewSearch4.GridControl = Me.GridControlSearch4
Me.GridViewSearch4.Name = "GridViewSearch4"
Me.GridViewSearch4.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -472,12 +492,13 @@ Partial Class frmValidatorSearch
'XtraTabPageSearch5
'
Me.XtraTabPageSearch5.Controls.Add(Me.GridControlSearch5)
- Me.XtraTabPageSearch5.Name = "XtraTabPageSearch5"
resources.ApplyResources(Me.XtraTabPageSearch5, "XtraTabPageSearch5")
+ Me.XtraTabPageSearch5.Name = "XtraTabPageSearch5"
'
'GridControlSearch5
'
resources.ApplyResources(Me.GridControlSearch5, "GridControlSearch5")
+ Me.GridControlSearch5.EmbeddedNavigator.Margin = CType(resources.GetObject("GridControlSearch5.EmbeddedNavigator.Margin"), System.Windows.Forms.Padding)
GridLevelNode6.RelationName = "Level1"
Me.GridControlSearch5.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode6})
Me.GridControlSearch5.MainView = Me.GridViewSearch5
@@ -490,6 +511,7 @@ Partial Class frmValidatorSearch
Me.GridViewSearch5.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewSearch5.Appearance.SelectedRow.BackColor = System.Drawing.Color.Lime
Me.GridViewSearch5.Appearance.SelectedRow.Options.UseBackColor = True
+ Me.GridViewSearch5.DetailHeight = 458
Me.GridViewSearch5.GridControl = Me.GridControlSearch5
Me.GridViewSearch5.Name = "GridViewSearch5"
Me.GridViewSearch5.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
@@ -539,6 +561,7 @@ Partial Class frmValidatorSearch
'
'ToolStrip1
'
+ Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(20, 20)
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripDropDownButtonFile, Me.ToolStripButtonRefreshSearches})
resources.ApplyResources(Me.ToolStrip1, "ToolStrip1")
Me.ToolStrip1.Name = "ToolStrip1"
diff --git a/app/TaskFlow/frmValidatorSearch.resx b/app/TaskFlow/frmValidatorSearch.resx
index f85acc3..8668086 100644
--- a/app/TaskFlow/frmValidatorSearch.resx
+++ b/app/TaskFlow/frmValidatorSearch.resx
@@ -125,20 +125,32 @@
0, 0
+
+ 4, 4, 4, 4
+
Fill
0, 0
+
+ 4, 4, 4, 4
+
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 233, 373
+ 583, 933
@@ -156,8 +168,11 @@
0
+
+ 5, 5, 5, 5
+
- 349, 559
+ 466, 746
XtraTabPage1
@@ -175,7 +190,7 @@
0
- 351, 582
+ 468, 764
4
@@ -183,11 +198,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 233, 373
+ 583, 920
1
@@ -204,8 +225,11 @@
0
+
+ 5, 5, 5, 5
+
- 349, 559
+ 466, 736
XtraTabPage2
@@ -225,11 +249,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 233, 373
+ 583, 916
1
@@ -246,8 +276,11 @@
0
+
+ 5, 5, 5, 5
+
- 349, 559
+ 466, 733
XtraTabPage1
@@ -267,11 +300,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 233, 373
+ 583, 916
1
@@ -288,8 +327,11 @@
0
+
+ 5, 5, 5, 5
+
- 349, 559
+ 466, 733
XtraTabPage2
@@ -309,11 +351,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 233, 373
+ 583, 916
1
@@ -330,8 +378,11 @@
0
+
+ 5, 5, 5, 5
+
- 349, 559
+ 466, 733
XtraTabPage3
@@ -381,8 +432,11 @@
0, 0
+
+ 5, 5, 5, 5
+
- 286, 582
+ 621, 764
0
@@ -391,7 +445,7 @@
DocumentViewer1
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.0.2.0, Culture=neutral, PublicKeyToken=null
+ DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null
SplitContainerControlDoc.Panel2
@@ -415,7 +469,7 @@
1
- 647, 582
+ 1101, 764
6
@@ -436,7 +490,10 @@
Fill
- 0, 25
+ 0, 31
+
+
+ 4, 4, 4, 4
Fill
@@ -444,14 +501,23 @@
0, 0
+
+ 4, 4, 4, 4
+
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 374, 375
+ 639, 926
1
@@ -468,8 +534,11 @@
0
+
+ 5, 5, 5, 5
+
- 561, 562
+ 511, 741
Search1
@@ -487,7 +556,7 @@
0
- 563, 585
+ 513, 769
4
@@ -495,11 +564,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 374, 375
+ 639, 915
2
@@ -516,8 +591,11 @@
0
+
+ 4, 4, 4, 4
+
- 561, 562
+ 511, 732
Search2
@@ -537,11 +615,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 374, 375
+ 639, 915
2
@@ -558,8 +642,11 @@
0
+
+ 4, 4, 4, 4
+
- 561, 562
+ 511, 732
XtraTabPage1
@@ -579,11 +666,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 374, 375
+ 639, 915
2
@@ -600,8 +693,11 @@
0
+
+ 4, 4, 4, 4
+
- 561, 562
+ 511, 732
XtraTabPage2
@@ -621,11 +717,17 @@
Fill
+
+ 4, 4, 4, 4
+
0, 0
+
+ 4, 4, 4, 4
+
- 374, 375
+ 639, 915
2
@@ -642,8 +744,11 @@
0
+
+ 4, 4, 4, 4
+
- 561, 562
+ 511, 732
XtraTabPage3
@@ -676,19 +781,22 @@
595, 17
- 91, 17
+ 115, 20
No action so far
- 0, 17
+ 0, 20
- 0, 585
+ 0, 769
+
+
+ 1, 0, 19, 0
- 563, 22
+ 513, 26
5
@@ -727,22 +835,22 @@
Bottom
- 61, 22
+ 79, 28
tslblDocID
- 91, 22
+ 115, 28
No action so far
- 0, 582
+ 0, 764
- 647, 25
+ 1101, 31
3
@@ -775,7 +883,10 @@
1
- 1214, 607
+ 1619, 795
+
+
+ 5
3
@@ -796,13 +907,13 @@
17, 17
- 148, 22
+ 184, 26
Öffnen
- 148, 22
+ 184, 26
Eigenschaften
@@ -811,7 +922,7 @@
Magenta
- 63, 22
+ 79, 28
Datei
@@ -820,7 +931,7 @@
Magenta
- 131, 22
+ 162, 28
Aktualisiere Ansicht
@@ -829,7 +940,7 @@
0, 0
- 1214, 25
+ 1619, 31
0
@@ -855,7 +966,7 @@
iVBORw0KGgoAAAANSUhEUgAAACAAAAAZCAYAAABQDyyRAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
- JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsOAAALDgFAvuFBAAACbElE
+ JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsMAAALDAE/QCLIAAACbElE
QVRIS8WQb0gTcRyHJYig3hgkBBlRb8I3UvNdEHm9iOjUbU6mopUL2rIgx0SwUTTILUTJSJpJKbHWKlkm
EUhW4Mxw2h9tI0PT6bYWbbkyk+n+3Se8mun9or3Quw4e7u6B+32f+6YASPmfEEJoCCE0hBAaQggNIf5F
R5txrbW1cfRpu2FSX606+Oi2LnarSYebRh2aG7Ro1FdCpy5hjHVarcxKXZRZqW7uGVwIkYzONpNlbtJg
@@ -870,7 +981,7 @@
- 189, 30
+ 218, 30
Eigenschaften Datei
@@ -922,7 +1033,7 @@
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
- 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDgAACw4BQL7hQQAAAYdJREFUOE+NkG0rQ2Ec
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDAAACwwBP0AiyAAAAYdJREFUOE+NkG0rQ2Ec
h/clfBS+gFdEXox3iqI85d0UjUKTp02O7axlM9vMkZ0sIxQSIdsLUUZ5bnmIzZrZ5uzBOT/d01bOjjN3
XXV397+uuv8KAAophgzO8gGKQfeoHcO0C2qtrVc8Qyh4yNGooqFs09WTe2ePtWSQYtClma1rUBnwr4CY
drWpurZDh5q2ycKA0bkOKei5NThXfeNkRtk+gZpWClUteumA1JmyraCssjkfkUI2MGFxY/PQn4toxXLR
@@ -933,28 +1044,28 @@
- 189, 30
+ 218, 30
Datei öffnen
- 186, 6
+ 215, 6
- 189, 30
+ 218, 30
Aktualisieren
- 189, 30
+ 218, 30
Layout zurücksetzen
- 190, 130
+ 219, 130
ContextMenuStripWMFile
@@ -966,16 +1077,16 @@
423, 17
- 147, 6
+ 168, 6
- 150, 30
+ 171, 30
Aktualisieren
- 151, 40
+ 172, 40
ContextMenuStripSQL
@@ -990,10 +1101,10 @@
81
- 6, 13
+ 8, 17
- 1214, 632
+ 1619, 826
Tahoma, 8.25pt
@@ -1031,6 +1142,9 @@
AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAP//AAA=
+
+ 4, 4, 4, 4
+
Zusätzliche Suchen
diff --git a/app/TaskFlow/frmValidatorSearch.vb b/app/TaskFlow/frmValidatorSearch.vb
index 2eb1841..22ca51c 100644
--- a/app/TaskFlow/frmValidatorSearch.vb
+++ b/app/TaskFlow/frmValidatorSearch.vb
@@ -87,6 +87,7 @@ Public Class frmValidatorSearch
'#### SQL Tabs Design Laden
If DTSQL.Rows.Count > 0 Then
+ LOGGER.Debug(String.Format("[{0} SQL-Definitions]", DTSQL.Rows.Count))
For p As Integer = 0 To XtraTabControlSQL.TabPages.Count - 1
If XtraTabControlSQL.TabPages(p).TabIndex >= TabCountSQL Then
XtraTabControlSQL.TabPages(p).PageVisible = False
@@ -102,6 +103,7 @@ Public Class frmValidatorSearch
End If
If DTDOC.Rows.Count > 0 Then
+ LOGGER.Debug(String.Format("[{0} Doc-Definitions]", DTDOC.Rows.Count))
'#### Doc Tabs Design Laden
For p As Integer = 0 To XtraTabControlDocs.TabPages.Count - 1
If XtraTabControlDocs.TabPages(p).TabIndex >= TabCountDoc Then
@@ -454,9 +456,14 @@ Public Class frmValidatorSearch
End If
End If
If My.Settings.frmValidatorSearchSize.IsEmpty = False Then
- Size = My.Settings.frmValidatorSearchSize
+ If My.Settings.frmValidatorSearchSize.Height > 120 And My.Settings.frmValidatorSearchSize.Width > 120 Then
+ Me.Size = My.Settings.frmValidatorSearchSize
+ End If
End If
- SplitContainerSearches.SplitterDistance = My.Settings.frmValSearchSplitterDistance
+ If My.Settings.frmValSearchSplitterDistance > 20 Then
+ SplitContainerSearches.SplitterDistance = My.Settings.frmValSearchSplitterDistance
+ End If
+
ToolStripDropDownButtonFile.Visible = False
End Sub
diff --git a/app/TaskFlow/frmYesNo.Designer.vb b/app/TaskFlow/frmYesNo.Designer.vb
index a51ee36..825f6ba 100644
--- a/app/TaskFlow/frmYesNo.Designer.vb
+++ b/app/TaskFlow/frmYesNo.Designer.vb
@@ -56,7 +56,7 @@ Partial Class frmYesNo
'
resources.ApplyResources(Me.PictureEdit1, "PictureEdit1")
Me.PictureEdit1.Name = "PictureEdit1"
- Me.PictureEdit1.Properties.Appearance.BackColor = System.Drawing.SystemColors.Control
+ Me.PictureEdit1.Properties.Appearance.BackColor = System.Drawing.Color.White
Me.PictureEdit1.Properties.Appearance.Options.UseBackColor = True
Me.PictureEdit1.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder
Me.PictureEdit1.Properties.ShowCameraMenuItem = DevExpress.XtraEditors.Controls.CameraMenuItemVisibility.[Auto]
@@ -64,7 +64,7 @@ Partial Class frmYesNo
'
'txtQuestion
'
- Me.txtQuestion.BackColor = System.Drawing.SystemColors.Control
+ Me.txtQuestion.BackColor = System.Drawing.Color.White
Me.txtQuestion.BorderStyle = System.Windows.Forms.BorderStyle.None
resources.ApplyResources(Me.txtQuestion, "txtQuestion")
Me.txtQuestion.Name = "txtQuestion"
diff --git a/app/TaskFlow/frmYesNo.resx b/app/TaskFlow/frmYesNo.resx
index c2424e8..252f229 100644
--- a/app/TaskFlow/frmYesNo.resx
+++ b/app/TaskFlow/frmYesNo.resx
@@ -187,7 +187,7 @@
1
- 242, 277
+ 243, 265
4, 4, 4, 4
@@ -273,7 +273,7 @@
True
- 378, 68
+ 378, 54
3
@@ -330,7 +330,7 @@
True
- 428, 139
+ 429, 135
0
@@ -354,7 +354,7 @@
7, 16
- 452, 326
+ 453, 316
Tahoma, 9.75pt
diff --git a/app/TaskFlow/frmYesNo.vb b/app/TaskFlow/frmYesNo.vb
index 01aa811..98c243a 100644
--- a/app/TaskFlow/frmYesNo.vb
+++ b/app/TaskFlow/frmYesNo.vb
@@ -3,18 +3,20 @@
Public Class frmYesNo
Dim oQuestion As String
Dim oCaption As String
+ Dim CommentInput As Boolean
Public oComment As String
- Public Sub New(pQuestion As String, pCaption As String, pCommentSoFar As String)
+ Public Sub New(pQuestion As String, pCaption As String, pCommentSoFar As String, pCommentInput As Boolean)
MyBase.New()
oQuestion = pQuestion
oCaption = pCaption
oComment = pCommentSoFar
+ CommentInput = pCommentInput
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
- If txtReason.Text = String.Empty Then
+ If txtReason.Text = String.Empty And CommentInput = True Then
Dim oStop As String
If USER_LANGUAGE = "de-DE" Then
oStop = "Bitte eine Begründung eingeben!"
@@ -42,6 +44,15 @@ Public Class frmYesNo
Private Sub frmYesNo_Load(sender As Object, e As EventArgs) Handles Me.Load
txtQuestion.Text = oQuestion
txtReason.Text = oComment
+ If CommentInput = False Then
+ LabelControl1.Visible = False
+ txtReason.Visible = False
+ Me.Size = New Drawing.Size(455, 170)
+ Else
+ LabelControl1.Visible = True
+ txtReason.Visible = True
+ Me.Size = New Drawing.Size(455, 330)
+ End If
Me.Text = oCaption
End Sub
End Class
diff --git a/app/TaskFlow/GdPicture.NET.14.Imaging.Rendering.Skia.64.dll b/app/TaskFlow/lib/GdPicture14/GdPicture.NET.14.Imaging.Rendering.Skia.64.dll
similarity index 100%
rename from app/TaskFlow/GdPicture.NET.14.Imaging.Rendering.Skia.64.dll
rename to app/TaskFlow/lib/GdPicture14/GdPicture.NET.14.Imaging.Rendering.Skia.64.dll
diff --git a/app/TaskFlow/GdPicture.NET.14.filters.64.dll b/app/TaskFlow/lib/GdPicture14/GdPicture.NET.14.filters.64.dll
similarity index 100%
rename from app/TaskFlow/GdPicture.NET.14.filters.64.dll
rename to app/TaskFlow/lib/GdPicture14/GdPicture.NET.14.filters.64.dll
diff --git a/app/TaskFlow/GdPicture.NET.14.image.gdimgplug.64.dll b/app/TaskFlow/lib/GdPicture14/GdPicture.NET.14.image.gdimgplug.64.dll
similarity index 100%
rename from app/TaskFlow/GdPicture.NET.14.image.gdimgplug.64.dll
rename to app/TaskFlow/lib/GdPicture14/GdPicture.NET.14.image.gdimgplug.64.dll
diff --git a/app/TaskFlow/packages.config b/app/TaskFlow/packages.config
index e74c9ff..607cd16 100644
--- a/app/TaskFlow/packages.config
+++ b/app/TaskFlow/packages.config
@@ -1,19 +1,9 @@
-
-
-
-
-
-
-
-
-
-
-
+
@@ -35,7 +25,7 @@
-
+