Compare commits
8 Commits
72b1e4acba
...
bca424f50f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bca424f50f | ||
|
|
11d27cd860 | ||
|
|
969f27a91f | ||
|
|
b7d427b5eb | ||
|
|
0f936c71e6 | ||
|
|
a53bfee8d5 | ||
|
|
df4a8df25a | ||
|
|
0e6848aa69 |
@@ -7,6 +7,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupVS19", "SetupVS19\Setu
|
||||
EndProject
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "taskFLOW", "TaskFlow\taskFLOW.vbproj", "{6ACA1432-09A2-47EF-A704-C0AA73905756}"
|
||||
EndProject
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DocumentViewer", "..\..\..\2_DLL Projekte\Controls.DocumentViewer\DocumentViewer.vbproj", "{0958CDDF-4A16-41F6-8837-8335F71D599C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CD_ROM|Any CPU = CD_ROM|Any CPU
|
||||
@@ -61,6 +63,26 @@ Global
|
||||
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|Any CPU.Build.0 = Release|x86
|
||||
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.ActiveCfg = Debug|x86
|
||||
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.Build.0 = Debug|x86
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.CD_ROM|x86.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.CD_ROM|x86.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.DVD-5|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.DVD-5|Any CPU.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.DVD-5|x86.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.DVD-5|x86.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.SingleImage|x86.ActiveCfg = Release|Any CPU
|
||||
{0958CDDF-4A16-41F6-8837-8335F71D599C}.SingleImage|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -332,7 +332,7 @@ Public Class ClassControlCreator
|
||||
End If
|
||||
|
||||
If Not designMode Then
|
||||
'oControl.ReadOnly = oReadOnly
|
||||
oControl.ReadOnly = oReadOnly
|
||||
oControl.TabStop = Not oReadOnly
|
||||
oControl.BackColor = IIf(oReadOnly, Color.LightGray, Color.White)
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Module ModuleRuntimeVariables
|
||||
|
||||
Public Property BASEDATA_TBDD_COLUMNS_FORMAT As DataTable
|
||||
|
||||
|
||||
Public Property BASEDATA_TBPM_PROFILE_CONTROLS As DataTable
|
||||
|
||||
Public Property CURRENT_ProfilGUID As Integer
|
||||
Public Property CURRENT_ProfilName As String
|
||||
|
||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.7.7.0")>
|
||||
<Assembly: AssemblyVersion("2.7.8.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
<Assembly: NeutralResourcesLanguage("")>
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAYABCwGAAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAZABCwGQAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
||||
@@ -962,82 +962,97 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Async Function Load_single_Profile(Optional ForceReload As Boolean = False) As Tasks.Task
|
||||
Dim gridUpdateStarted As Boolean = False
|
||||
Dim viewUpdateStarted As Boolean = False
|
||||
|
||||
Try
|
||||
FRONTEND_ACTION = "Load_single_Profile"
|
||||
Load_Profiles_for_User()
|
||||
GridControlWorkflows_Visible()
|
||||
Dim expression As String
|
||||
expression = "GUID = " & CURRENT_CLICKED_PROFILE_ID
|
||||
Dim TEMP_TABLE = CURR_DT_VWPM_PROFILE_ACTIVE
|
||||
Dim foundRows() As DataRow
|
||||
foundRows = TEMP_TABLE.Select(expression)
|
||||
Dim result = 0
|
||||
For i = 0 To foundRows.GetUpperBound(0)
|
||||
result += 1
|
||||
Next
|
||||
|
||||
If result = 1 Then
|
||||
|
||||
|
||||
Dim oSQL = foundRows(0)("SQL_VIEW")
|
||||
|
||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||
oSQL = clsPatterns.ReplaceUserValues(oSQL)
|
||||
|
||||
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
||||
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
||||
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
||||
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
|
||||
oSQL = oSQL.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||
|
||||
DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQL)
|
||||
If ForceReload = True Then
|
||||
LOGGER.Info("ForceReload is true!")
|
||||
End If
|
||||
If Not IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And OVERVIEW_COUNT = oCOUNT Then
|
||||
If ForceReload = False Then
|
||||
LOGGER.Info("No changes on OverviewHash - so exit Refresh")
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
Else
|
||||
OVERVIEW_ADDED_WHEN = oADDED
|
||||
OVERVIEW_CHANGED_WHEN = oChanged
|
||||
OVERVIEW_COUNT = oCOUNT
|
||||
End If
|
||||
|
||||
If DT_CURR_WF_ITEMS.Rows.Count = 0 Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
lblCaptionMainGrid.Text = String.Format(S.Aktuell_keine_Workflowdaten_vorhanden___0_, CURRENT_CLICKED_PROFILE_TITLE)
|
||||
GridControlWorkflows.Visible = False
|
||||
bindsourcegrid.DataSource = Nothing
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Else
|
||||
NO_WORKFLOWITEMS = False
|
||||
|
||||
lblCaptionMainGrid.Text = CURRENT_CLICKED_PROFILE_TITLE
|
||||
End If
|
||||
Create_Basic_View()
|
||||
|
||||
RestoreLayout()
|
||||
|
||||
End If
|
||||
|
||||
Dim expression As String = "GUID = " & CURRENT_CLICKED_PROFILE_ID
|
||||
Dim foundRow As DataRow = CURR_DT_VWPM_PROFILE_ACTIVE.Select(expression).FirstOrDefault()
|
||||
If foundRow Is Nothing Then
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
If GridControlWorkflows.Visible Then
|
||||
GridControlWorkflows.BeginUpdate()
|
||||
gridUpdateStarted = True
|
||||
GridViewWorkflows.BeginUpdate()
|
||||
viewUpdateStarted = True
|
||||
End If
|
||||
|
||||
Dim oSQL = foundRow.Item("SQL_VIEW")
|
||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||
oSQL = clsPatterns.ReplaceUserValues(oSQL)
|
||||
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
||||
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
||||
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
||||
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
|
||||
oSQL = oSQL.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||
|
||||
DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQL)
|
||||
|
||||
If IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
|
||||
If ForceReload = False Then
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And OVERVIEW_COUNT = oCOUNT Then
|
||||
Exit Function
|
||||
End If
|
||||
OVERVIEW_ADDED_WHEN = oADDED
|
||||
OVERVIEW_CHANGED_WHEN = oChanged
|
||||
OVERVIEW_COUNT = oCOUNT
|
||||
End If
|
||||
|
||||
If DT_CURR_WF_ITEMS.Rows.Count = 0 Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
lblCaptionMainGrid.Text = String.Format(S.Aktuell_keine_Workflowdaten_vorhanden___0_, CURRENT_CLICKED_PROFILE_TITLE)
|
||||
GridControlWorkflows.Visible = False
|
||||
bindsourcegrid.DataSource = Nothing
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
NO_WORKFLOWITEMS = False
|
||||
lblCaptionMainGrid.Text = CURRENT_CLICKED_PROFILE_TITLE
|
||||
|
||||
Create_Basic_View()
|
||||
RestoreLayout()
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Load_single_Profile - Error: " & ex.Message)
|
||||
Finally
|
||||
If viewUpdateStarted Then
|
||||
GridViewWorkflows.EndUpdate()
|
||||
End If
|
||||
If gridUpdateStarted Then
|
||||
GridControlWorkflows.EndUpdate()
|
||||
End If
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
End Try
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
End Function
|
||||
Sub Create_Basic_View()
|
||||
Dim gridUpdateStarted As Boolean = False
|
||||
Dim viewUpdateStarted As Boolean = False
|
||||
|
||||
Try
|
||||
FRONTEND_ACTION = "Create_Basic_View"
|
||||
|
||||
If GridControlWorkflows.Visible Then
|
||||
GridControlWorkflows.BeginUpdate()
|
||||
gridUpdateStarted = True
|
||||
GridViewWorkflows.BeginUpdate()
|
||||
viewUpdateStarted = True
|
||||
End If
|
||||
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Try
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
@@ -1045,20 +1060,20 @@ Public Class frmMain
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Warn("Could not clear GridViewWorkflows.Columns")
|
||||
End Try
|
||||
If TL_ICON = True Then
|
||||
' Spalte für Status Icon erstellen
|
||||
Dim columnStateIcon As New DataColumn()
|
||||
columnStateIcon.DataType = GetType(Image)
|
||||
columnStateIcon.ColumnName = "ICON"
|
||||
columnStateIcon.Caption = ""
|
||||
|
||||
If TL_ICON = True AndAlso DT_CURR_WF_ITEMS IsNot Nothing AndAlso DT_CURR_WF_ITEMS.Columns.Contains("ICON") = False Then
|
||||
Dim columnStateIcon As New DataColumn() With {
|
||||
.DataType = GetType(Image),
|
||||
.ColumnName = "ICON",
|
||||
.Caption = ""
|
||||
}
|
||||
DT_CURR_WF_ITEMS.Columns.Add(columnStateIcon)
|
||||
End If
|
||||
|
||||
|
||||
RedDocuments = 0
|
||||
YellowDocuments = 0
|
||||
GreenDocuments = 0
|
||||
If TL_ICON = True Then
|
||||
If TL_ICON = True AndAlso DT_CURR_WF_ITEMS IsNot Nothing Then
|
||||
For Each row As DataRow In DT_CURR_WF_ITEMS.Rows
|
||||
Dim State As Integer = row.Item("TL_STATE")
|
||||
Select Case State
|
||||
@@ -1075,94 +1090,31 @@ Public Class frmMain
|
||||
Next
|
||||
End If
|
||||
|
||||
'If IDB_ACTIVE = True Then
|
||||
' ' Spalte für Conversation erstellen
|
||||
' Dim columnConvIcon As New DataColumn()
|
||||
' columnConvIcon.DataType = GetType(Image)
|
||||
' columnConvIcon.ColumnName = "CONVERSATION"
|
||||
' columnConvIcon.Caption = ""
|
||||
' DT_CURR_WF_ITEMS.Columns.Add(columnConvIcon)
|
||||
'End If
|
||||
'For Each oRow As DataRow In DT_CURR_WF_ITEMS.Rows
|
||||
' Try
|
||||
' Dim oCONVYN As Boolean
|
||||
' Try
|
||||
' oCONVYN = oRow.Item("CONV_YN")
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn($"Please check Your select/view Config - Column CONV_YN is missing [{ex.Message}]")
|
||||
' Exit For
|
||||
' End Try
|
||||
|
||||
' Select Case oCONVYN
|
||||
' Case True
|
||||
' oRow.Item("CONVERSATION") = My.Resources.conversation
|
||||
' End Select
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn("Create_Basic_View1 - Column CONVERSATION obviously is not part of GridViewWorkflows")
|
||||
' End Try
|
||||
|
||||
'Next
|
||||
bindsourcegrid.DataSource = DT_CURR_WF_ITEMS
|
||||
GridControlWorkflows.DataSource = bindsourcegrid
|
||||
Dim objectCount_Descr = GridViewWorkflows.RowCount.ToString
|
||||
|
||||
'Dim ocapt = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("DescItems")
|
||||
|
||||
Dim ocapt = String.Format(S._0__Vorgänge, objectCount_Descr)
|
||||
objectCount_Descr = $"{objectCount_Descr} {ocapt}"
|
||||
|
||||
'tslblObjectCount.Text = objectCount_Descr
|
||||
|
||||
'GridControlDocRow.ForceInitialize()
|
||||
|
||||
RestoreLayout()
|
||||
|
||||
COLUMNS_INVISIBLE()
|
||||
|
||||
Try
|
||||
If TL_ICON = True Then
|
||||
If TL_ICON = True AndAlso GridViewWorkflows.Columns.Count > 0 Then
|
||||
GridViewWorkflows.Columns.Item("ICON").MaxWidth = 24
|
||||
GridViewWorkflows.Columns.Item("ICON").MinWidth = 24
|
||||
GridViewWorkflows.Columns.Item("ICON").AppearanceCell.BackColor = Color.White
|
||||
GridViewWorkflows.Columns.Item("ICON").Fixed = FixedStyle.Left
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
'If IDB_ACTIVE = True Then
|
||||
' Try
|
||||
' GridViewWorkflows.Columns.Item("CONVERSATION").MaxWidth = 24
|
||||
' GridViewWorkflows.Columns.Item("CONVERSATION").MinWidth = 24
|
||||
' GridViewWorkflows.Columns.Item("CONVERSATION").Fixed = FixedStyle.Left
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Info("Create_Basic_View2 - Column CONVERSATION obviously is not part of GridViewWorkflows - Trying to Rest Layout")
|
||||
' ResetLayout()
|
||||
' FRONTEND_ACTION = FA_NONE
|
||||
' Exit Sub
|
||||
' End Try
|
||||
'End If
|
||||
|
||||
|
||||
' GridViewWorkflows.OptionsView.ShowIndicator = False
|
||||
Try
|
||||
Dim oReducedColName = LAST_EDITED_COLUMN.Replace("[", "")
|
||||
oReducedColName = oReducedColName.Replace("]", "")
|
||||
'GridViewWorkflows.Columns(oReducedColName).DisplayFormat.FormatType = FormatType.DateTime
|
||||
'GridViewWorkflows.Columns(oReducedColName).DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
|
||||
Dim oReducedColName = LAST_EDITED_COLUMN.Replace("[", "").Replace("]", "")
|
||||
Catch ex As Exception
|
||||
Try
|
||||
'GridViewWorkflows.Columns("Zuletzt bearbeitet").DisplayFormat.FormatType = FormatType.DateTime
|
||||
'GridViewWorkflows.Columns("Zuletzt bearbeitet").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
|
||||
Catch ex1 As Exception
|
||||
LOGGER.Warn("(CreateBasicView)Column [Last edited] or [Zuletzt bearbeitet] not part of OverviewSQL")
|
||||
End Try
|
||||
|
||||
End Try
|
||||
|
||||
LOGGER.Debug("All columns in CreateBasicView created")
|
||||
Try
|
||||
GridViewWorkflows.Columns.Item("GROUP_TEXT").Visible = False
|
||||
GridViewWorkflows.Columns.Item("GROUP_COLOR").Visible = False
|
||||
@@ -1170,13 +1122,19 @@ Public Class frmMain
|
||||
If OverviewOrDEtail = "OVERVIEW" Then
|
||||
LOGGER.Warn("ATTENTION: GROUP COLUMNS NOT PART OF GRID")
|
||||
End If
|
||||
|
||||
End Try
|
||||
LOGGER.Debug("All columns in CreateBasicView created")
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
Finally
|
||||
If viewUpdateStarted Then
|
||||
GridViewWorkflows.EndUpdate()
|
||||
End If
|
||||
If gridUpdateStarted Then
|
||||
GridControlWorkflows.EndUpdate()
|
||||
End If
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
End Try
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
End Sub
|
||||
Private Function GridLayoutChanged() As Boolean
|
||||
Try
|
||||
@@ -1329,35 +1287,46 @@ Public Class frmMain
|
||||
BringMonitor2Front()
|
||||
End Sub
|
||||
Private Async Function Decide_Load(pIsFormLoad As Boolean, Optional ForceReload As Boolean = False) As Tasks.Task
|
||||
Dim refreshWasEnabled As Boolean = False
|
||||
Dim showLoadingPanel As Boolean = False
|
||||
Dim useWaitCursorApplied As Boolean = False
|
||||
Dim previousMessage As String = bsiMessage.Caption
|
||||
|
||||
Try
|
||||
LOGGER.Debug($"Decide_Load: pIsFormLoad [{pIsFormLoad}] - ForceReload [{ForceReload}] - GRID_LOAD_TYPE [{GRID_LOAD_TYPE}] ")
|
||||
If pIsFormLoad = True Then
|
||||
FormShown = False
|
||||
End If
|
||||
|
||||
GridIsLoaded = False
|
||||
|
||||
If USER_EXISTS = False Then
|
||||
LOGGER.Warn($"USER IS NOT EXISTING - CHECK FNDD_LOGIN_USER_MODULE")
|
||||
Exit Function
|
||||
End If
|
||||
If TimerRefresh.Enabled = True Then
|
||||
LOGGER.Debug($"Decide_Load: TimerRefresh.Enabled = True")
|
||||
|
||||
If TimerRefresh.Enabled Then
|
||||
refreshWasEnabled = True
|
||||
TimerRefresh.Enabled = False
|
||||
End If
|
||||
|
||||
If Me.UseWaitCursor = False Then
|
||||
Me.UseWaitCursor = True
|
||||
useWaitCursorApplied = True
|
||||
End If
|
||||
|
||||
bsiMessage.Caption = "Daten werden geladen..."
|
||||
GridViewWorkflows.ShowLoadingPanel()
|
||||
showLoadingPanel = True
|
||||
|
||||
TimerRefresh.Stop()
|
||||
FRONTEND_ACTION = "DECIDE_LOAD"
|
||||
LOGGER.Debug($"Decide_Load: pIsFormLoad [{pIsFormLoad}] - ForceReload [{ForceReload}] - GRID_LOAD_TYPE [{GRID_LOAD_TYPE}] ")
|
||||
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||
|
||||
If GRID_LOAD_TYPE = "OVERVIEW" Then
|
||||
Await Load_Grid_Overview(pIsFormLoad, ForceReload, False)
|
||||
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
|
||||
Await Load_single_Profile(ForceReload)
|
||||
End If
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
GridViewWorkflows.HideLoadingPanel()
|
||||
TimerRefresh.Start()
|
||||
|
||||
If SHOW_MASS_VALIDATOR = False Then
|
||||
GridViewWorkflows.OptionsSelection.MultiSelect = False
|
||||
@@ -1365,29 +1334,40 @@ Public Class frmMain
|
||||
BarButtonItemMassValidation.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||
Else
|
||||
BarButtonItemMassValidation.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
||||
|
||||
GridViewWorkflows.OptionsSelection.MultiSelect = True
|
||||
GridViewWorkflows.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
|
||||
End If
|
||||
|
||||
If GridViewWorkflows.OptionsView.ShowAutoFilterRow = True Then
|
||||
BarCheckItemAutofilter.Checked = True
|
||||
End If
|
||||
If GridViewWorkflows.OptionsFind.AlwaysVisible Then
|
||||
BarCheckItemShowSearch.Checked = True
|
||||
End If
|
||||
|
||||
COLUMNS_INVISIBLE()
|
||||
GridIsLoaded = True
|
||||
Catch ex As Exception
|
||||
GridIsLoaded = True
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Unexpected error in Decide_load: " & ex.Message)
|
||||
Finally
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
If showLoadingPanel Then
|
||||
GridViewWorkflows.HideLoadingPanel()
|
||||
End If
|
||||
If useWaitCursorApplied Then
|
||||
Me.UseWaitCursor = False
|
||||
End If
|
||||
bsiMessage.Caption = previousMessage
|
||||
If refreshWasEnabled Then
|
||||
TimerRefresh.Enabled = True
|
||||
End If
|
||||
TimerRefresh.Start()
|
||||
If pIsFormLoad = True Then
|
||||
FormShown = True
|
||||
End If
|
||||
End Try
|
||||
If TimerRefresh.Enabled = False Then
|
||||
TimerRefresh.Enabled = True
|
||||
End If
|
||||
If pIsFormLoad = True Then
|
||||
FormShown = True
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub ToolStripButton2_Click_2(sender As Object, e As EventArgs)
|
||||
@@ -1906,12 +1886,30 @@ Public Class frmMain
|
||||
End Sub
|
||||
Async Function Load_Grid_Overview(pFormLoad As Boolean, pForceReload As Boolean, pNavbarClick As Boolean) As Tasks.Task
|
||||
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
|
||||
Dim gridUpdateStarted As Boolean = False
|
||||
Dim viewUpdateStarted As Boolean = False
|
||||
Dim layoutRestored As Boolean = False
|
||||
Dim resetLayoutTriggered As Boolean = False
|
||||
Dim showLoadingPanel As Boolean = False
|
||||
Dim useWaitCursorApplied As Boolean = False
|
||||
Dim previousMessage As String = bsiMessage.Caption
|
||||
Dim loadingMessageApplied As Boolean = False
|
||||
|
||||
GridControlWorkflows_Visible()
|
||||
GRID_LOAD_TYPE = "OVERVIEW"
|
||||
CURRENT_CLICKED_PROFILE_ID = 0
|
||||
|
||||
Try
|
||||
bsiMessage.Caption = ""
|
||||
If Me.UseWaitCursor = False Then
|
||||
Me.UseWaitCursor = True
|
||||
useWaitCursorApplied = True
|
||||
End If
|
||||
|
||||
bsiMessage.Caption = "Daten werden geladen..."
|
||||
loadingMessageApplied = True
|
||||
|
||||
GridViewWorkflows.ShowLoadingPanel()
|
||||
showLoadingPanel = True
|
||||
|
||||
If BASEDATA_DT_VW_PROFILE_USER.Rows.Count = 0 Then
|
||||
LOGGER.Info("Attention: No profiles for user: '" & USER_USERNAME & "' configured!", False)
|
||||
@@ -1919,22 +1917,25 @@ Public Class frmMain
|
||||
bsiMessage.Caption = "NO PROFILES FOR USER"
|
||||
bsiMessage.ItemAppearance.Normal.BackColor = Color.Red
|
||||
bsiMessage.ItemAppearance.Normal.ForeColor = Color.Black
|
||||
If GridControlWorkflows.Visible = True Then
|
||||
GridControlWorkflows.Visible = False
|
||||
End If
|
||||
oStopWatch.Done()
|
||||
GridControlWorkflows.Visible = False
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
If GridControlWorkflows.Visible Then
|
||||
GridControlWorkflows.BeginUpdate()
|
||||
gridUpdateStarted = True
|
||||
GridViewWorkflows.BeginUpdate()
|
||||
viewUpdateStarted = True
|
||||
End If
|
||||
|
||||
Dim oStopWatch1 As New RefreshHelper.SW("LGO#Load_Profiles_for_User")
|
||||
Load_Profiles_for_User()
|
||||
oStopWatch1.Done()
|
||||
'ClassInit.InitBasics()
|
||||
|
||||
Dim oStopWatch2 As New RefreshHelper.SW("LGO#build CURR_DT_OVERVIEW")
|
||||
Dim oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
|
||||
If IsDBNull(oSQLOverview) Then
|
||||
bsiMessage.Caption = "No SQL_PROFILE_MAIN_VIEW in Baseconfig"
|
||||
oStopWatch.Done()
|
||||
oStopWatch2.Done()
|
||||
Exit Function
|
||||
End If
|
||||
If oSQLOverview.ToString.Contains("GROUP_TEXT") = False Then
|
||||
@@ -1949,15 +1950,12 @@ Public Class frmMain
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
|
||||
End Try
|
||||
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
oSQLOverview = clsPatterns.ReplaceInternalValues(oSQLOverview)
|
||||
oSQLOverview = clsPatterns.ReplaceUserValues(oSQLOverview)
|
||||
|
||||
oSQLOverview = oSQLOverview.Replace("@USER_ID", USER_ID)
|
||||
oSQLOverview = oSQLOverview.Replace("@USERNAME", USER_USERNAME)
|
||||
oSQLOverview = oSQLOverview.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
||||
@@ -1967,205 +1965,126 @@ Public Class frmMain
|
||||
DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQLOverview)
|
||||
oStopWatch2.Done()
|
||||
|
||||
If Not IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {DT_CURR_WF_ITEMS.Rows.Count} rows")
|
||||
If GridControlWorkflows.Visible = False Then
|
||||
GridControlWorkflows.Visible = True
|
||||
End If
|
||||
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
If pForceReload = False Then
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then
|
||||
If pForceReload = False Then
|
||||
LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview")
|
||||
Exit Function
|
||||
End If
|
||||
Else
|
||||
LOGGER.Info("Differences on OverviewHash")
|
||||
LOGGER.Debug($"oADDED/OVERVIEW_ADDED_WHEN: {oADDED}/{OVERVIEW_ADDED_WHEN}#oADDED/OVERVIEW_ADDED_WHEN: {oChanged}/{OVERVIEW_CHANGED_WHEN}")
|
||||
OVERVIEW_ADDED_WHEN = oADDED
|
||||
OVERVIEW_CHANGED_WHEN = oChanged
|
||||
OVERVIEW_COUNT = oCOUNT
|
||||
End If
|
||||
End If
|
||||
|
||||
NO_WORKFLOWITEMS = False
|
||||
If DT_CURR_WF_ITEMS.Rows.Count = 0 Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
lblCaptionMainGrid.Text = String.Format(S.Aktuell_keine_Workflowdaten_vorhanden___0_, "")
|
||||
|
||||
GridControlWorkflows.Visible = False
|
||||
bindsourcegrid.DataSource = Nothing
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Try
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
|
||||
GridControlWorkflows.Visible = True
|
||||
If TL_ICON = True Then
|
||||
'Spalte für Status Icon erstellen
|
||||
Dim columnStateIcon As New DataColumn()
|
||||
columnStateIcon.DataType = GetType(Image)
|
||||
columnStateIcon.ColumnName = "ICON"
|
||||
columnStateIcon.Caption = ""
|
||||
DT_CURR_WF_ITEMS.Columns.Add(columnStateIcon)
|
||||
End If
|
||||
RedDocuments = 0
|
||||
YellowDocuments = 0
|
||||
GreenDocuments = 0
|
||||
If TL_ICON = True Then
|
||||
For Each row As DataRow In DT_CURR_WF_ITEMS.Rows
|
||||
Dim State As Integer = row.Item("TL_STATE")
|
||||
Select Case State
|
||||
Case 1
|
||||
RedDocuments += 1
|
||||
row.Item("ICON") = My.Resources.bullet_red
|
||||
Case 2
|
||||
YellowDocuments += 1
|
||||
row.Item("ICON") = My.Resources.bullet_orange
|
||||
Case 3
|
||||
GreenDocuments += 1
|
||||
row.Item("ICON") = My.Resources.bullet_green
|
||||
End Select
|
||||
Next
|
||||
End If
|
||||
|
||||
'If IDB_ACTIVE = True Then
|
||||
' ' Spalte für Conversation erstellen
|
||||
' Dim columnConvIcon As New DataColumn()
|
||||
' columnConvIcon.DataType = GetType(Image)
|
||||
' columnConvIcon.ColumnName = "CONVERSATION"
|
||||
' columnConvIcon.Caption = ""
|
||||
' DT_CURR_WF_ITEMS.Columns.Add(columnConvIcon)
|
||||
' For Each oRow As DataRow In DT_CURR_WF_ITEMS.Rows
|
||||
' Try
|
||||
' Dim oCONVYN As Boolean
|
||||
' Try
|
||||
' oCONVYN = oRow.Item("CONV_YN")
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn("Load_Grid_Overview - Column CONV_YN obviously is not part of CURR_DT_OVERVIEW")
|
||||
' Exit For
|
||||
' End Try
|
||||
' Select Case oCONVYN
|
||||
' Case True
|
||||
' oRow.Item("CONVERSATION") = My.Resources.conversation
|
||||
' End Select
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn("Load_Grid_Overview - Column CONVERSATION obviously is not part of GridViewWorkflows")
|
||||
' Exit For
|
||||
' End Try
|
||||
|
||||
' Next
|
||||
'End If
|
||||
|
||||
|
||||
bindsourcegrid.DataSource = DT_CURR_WF_ITEMS
|
||||
GridControlWorkflows.DataSource = bindsourcegrid
|
||||
GridControlWorkflows.ForceInitialize()
|
||||
|
||||
Create_View_Caption()
|
||||
Dim oColNotPartofLayout As Boolean
|
||||
oColNotPartofLayout = False
|
||||
'GridControlDocRow.ForceInitialize()
|
||||
' GridControl1.DataSource = CURR_DT_PROFILEGRID
|
||||
'If pFormLoad = True Then
|
||||
' If IDB_ACTIVE = True Then
|
||||
' oColNotPartofLayout = Column_inGridViewLayout("CONV_YN")
|
||||
' End If
|
||||
'End If
|
||||
If pNavbarClick = False Then
|
||||
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
|
||||
'ResetLayout()
|
||||
'SaveGridLayout()
|
||||
LOGGER.Debug("Now GridLayout_Reset..")
|
||||
Await GridLayout_Reset(False)
|
||||
Else
|
||||
If oColNotPartofLayout = False Then
|
||||
RestoreLayout()
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
RestoreLayout()
|
||||
End If
|
||||
|
||||
|
||||
Try
|
||||
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
|
||||
Create_GroupBy_Parts()
|
||||
COLUMNS_INVISIBLE()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
If TL_ICON = True Then
|
||||
Try
|
||||
GridViewWorkflows.Columns.Item("ICON").MaxWidth = 24
|
||||
GridViewWorkflows.Columns.Item("ICON").MinWidth = 24
|
||||
GridViewWorkflows.Columns.Item("ICON").AppearanceCell.BackColor = Color.White
|
||||
GridViewWorkflows.Columns.Item("ICON").Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
|
||||
LOGGER.Debug("GridViewWorkflows.Columns loaded...")
|
||||
Try
|
||||
Dim oReducedColName = LAST_EDITED_COLUMN.Replace("[", "")
|
||||
oReducedColName = oReducedColName.Replace("]", "")
|
||||
'If Not IsNothing(GridViewWorkflows.Columns(oReducedColName)) Then
|
||||
' GridViewWorkflows.Columns(oReducedColName).DisplayFormat.FormatType = FormatType.DateTime
|
||||
' GridViewWorkflows.Columns(oReducedColName).DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
|
||||
'ElseIf Not IsNothing(GridViewWorkflows.Columns("Zuletzt bearbeitet")) Then
|
||||
' GridViewWorkflows.Columns("Zuletzt bearbeitet").DisplayFormat.FormatType = FormatType.DateTime
|
||||
' GridViewWorkflows.Columns("Zuletzt bearbeitet").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
|
||||
'End If
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn("(Warning LoadGridOverview)Column [Last edited] or [Zuletzt bearbeitet] not part of OverviewSQL")
|
||||
|
||||
End Try
|
||||
|
||||
LOGGER.Debug("finished Formatting Grid!")
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Unexpected Error in Formatting Grid: " & ex.Message)
|
||||
End Try
|
||||
If GridViewWorkflows.Columns.Count <= 5 Then
|
||||
LOGGER.Info("GridViewWorkflows.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
|
||||
Await Reset_GridLayout(pFormLoad)
|
||||
End If
|
||||
Else
|
||||
If IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
GridControlWorkflows.Visible = False
|
||||
'BindingNavigator1.Dock = DockStyle.None
|
||||
|
||||
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
|
||||
|
||||
Try
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
RestoreLayout()
|
||||
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {DT_CURR_WF_ITEMS.Rows.Count} rows")
|
||||
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
If pForceReload = False Then
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then
|
||||
LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview")
|
||||
Exit Function
|
||||
Else
|
||||
OVERVIEW_ADDED_WHEN = oADDED
|
||||
OVERVIEW_CHANGED_WHEN = oChanged
|
||||
OVERVIEW_COUNT = oCOUNT
|
||||
End If
|
||||
End If
|
||||
|
||||
NO_WORKFLOWITEMS = (DT_CURR_WF_ITEMS.Rows.Count = 0)
|
||||
If NO_WORKFLOWITEMS Then
|
||||
lblCaptionMainGrid.Text = String.Format(S.Aktuell_keine_Workflowdaten_vorhanden___0_, "")
|
||||
GridControlWorkflows.Visible = False
|
||||
bindsourcegrid.DataSource = Nothing
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Try
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
If TL_ICON = True AndAlso DT_CURR_WF_ITEMS.Columns.Contains("ICON") = False Then
|
||||
Dim columnStateIcon As New DataColumn() With {
|
||||
.DataType = GetType(Image),
|
||||
.ColumnName = "ICON",
|
||||
.Caption = ""
|
||||
}
|
||||
DT_CURR_WF_ITEMS.Columns.Add(columnStateIcon)
|
||||
End If
|
||||
|
||||
RedDocuments = 0
|
||||
YellowDocuments = 0
|
||||
GreenDocuments = 0
|
||||
If TL_ICON = True Then
|
||||
For Each row As DataRow In DT_CURR_WF_ITEMS.Rows
|
||||
Dim State As Integer = row.Item("TL_STATE")
|
||||
Select Case State
|
||||
Case 1
|
||||
RedDocuments += 1
|
||||
row.Item("ICON") = My.Resources.bullet_red
|
||||
Case 2
|
||||
YellowDocuments += 1
|
||||
row.Item("ICON") = My.Resources.bullet_orange
|
||||
Case 3
|
||||
GreenDocuments += 1
|
||||
row.Item("ICON") = My.Resources.bullet_green
|
||||
End Select
|
||||
Next
|
||||
End If
|
||||
|
||||
bindsourcegrid.DataSource = DT_CURR_WF_ITEMS
|
||||
GridControlWorkflows.DataSource = bindsourcegrid
|
||||
GridControlWorkflows.ForceInitialize()
|
||||
|
||||
Create_View_Caption()
|
||||
|
||||
Dim oColNotPartofLayout As Boolean = False
|
||||
If pNavbarClick = False Then
|
||||
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
|
||||
LOGGER.Debug("Now GridLayout_Reset..")
|
||||
Await GridLayout_Reset(False)
|
||||
resetLayoutTriggered = True
|
||||
ElseIf oColNotPartofLayout = False Then
|
||||
RestoreLayout()
|
||||
layoutRestored = True
|
||||
End If
|
||||
Else
|
||||
RestoreLayout()
|
||||
layoutRestored = True
|
||||
End If
|
||||
|
||||
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
|
||||
Create_GroupBy_Parts()
|
||||
End If
|
||||
|
||||
If TL_ICON = True Then
|
||||
Try
|
||||
GridViewWorkflows.Columns.Item("ICON").MaxWidth = 24
|
||||
GridViewWorkflows.Columns.Item("ICON").MinWidth = 24
|
||||
GridViewWorkflows.Columns.Item("ICON").AppearanceCell.BackColor = Color.White
|
||||
GridViewWorkflows.Columns.Item("ICON").Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
|
||||
If GridViewWorkflows.Columns.Count <= 5 Then
|
||||
LOGGER.Info("GridViewWorkflows.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
|
||||
Await Reset_GridLayout(pFormLoad)
|
||||
resetLayoutTriggered = True
|
||||
End If
|
||||
|
||||
If Not layoutRestored And Not resetLayoutTriggered Then
|
||||
RestoreLayout()
|
||||
End If
|
||||
|
||||
COLUMNS_INVISIBLE()
|
||||
|
||||
Try
|
||||
|
||||
For Each oColumn As DevExpress.XtraGrid.Columns.GridColumn In GridViewWorkflows.Columns
|
||||
|
||||
For Each oRow As DataRow In BASEDATA_TBDD_COLUMNS_FORMAT.Rows
|
||||
Dim colName = oRow("COLUMN_TITLE").ToString()
|
||||
|
||||
@@ -2173,7 +2092,6 @@ Public Class frmMain
|
||||
Dim oSollFormatType = oRow("TYPE2FORMAT").ToString()
|
||||
|
||||
If oSollFormatType = "DateTime" Then
|
||||
|
||||
If oColumn.ColumnType <> GetType(DateTime) Then
|
||||
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
|
||||
End If
|
||||
@@ -2193,11 +2111,26 @@ Public Class frmMain
|
||||
LOGGER.Warn("Fehler beim Anwenden der Formatierung aus TBDD_COLUMNS_FORMAT: " & ex.Message)
|
||||
End Try
|
||||
|
||||
oStopWatch.Done()
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
|
||||
Finally
|
||||
If viewUpdateStarted Then
|
||||
GridViewWorkflows.EndUpdate()
|
||||
End If
|
||||
If gridUpdateStarted Then
|
||||
GridControlWorkflows.EndUpdate()
|
||||
End If
|
||||
If showLoadingPanel Then
|
||||
GridViewWorkflows.HideLoadingPanel()
|
||||
End If
|
||||
If useWaitCursorApplied Then
|
||||
Me.UseWaitCursor = False
|
||||
End If
|
||||
If loadingMessageApplied AndAlso bsiMessage.Caption = "Daten werden geladen..." Then
|
||||
bsiMessage.Caption = previousMessage
|
||||
End If
|
||||
oStopWatch.Done()
|
||||
End Try
|
||||
End Function
|
||||
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
|
||||
@@ -2496,6 +2429,10 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
|
||||
.FilterExpression = "TYPE = 'SQL'",
|
||||
.SortByColumn = "PROFILE_ID,TAB_INDEX"
|
||||
})
|
||||
oSQL = String.Format("SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,'{0}',CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG, * FROM TBPM_PROFILE_CONTROLS", {USER_LANGUAGE})
|
||||
BASEDATA_TBPM_PROFILE_CONTROLS = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS_LANGUAGE", New GetDatatableOptions(oSQL, DatabaseType.ECM) With {
|
||||
.FilterExpression = String.Format("LANGUAGE = '{0}'", {USER_LANGUAGE})
|
||||
})
|
||||
If pMode = "Load" Then
|
||||
BASEDATA_DT_PROFILE_SEARCHES_SQL = BASEDATA_DT_PROFILES_SEARCHES_SQL.Clone()
|
||||
End If
|
||||
|
||||
2
app/TaskFlow/frmValidator.Designer.vb
generated
2
app/TaskFlow/frmValidator.Designer.vb
generated
@@ -259,8 +259,8 @@ Partial Class frmValidator
|
||||
'DocumentViewer1
|
||||
'
|
||||
Me.DocumentViewer1.BackColor = System.Drawing.SystemColors.ControlLightLight
|
||||
Me.DocumentViewer1.FileLoaded = False
|
||||
resources.ApplyResources(Me.DocumentViewer1, "DocumentViewer1")
|
||||
Me.DocumentViewer1.FileLoaded = False
|
||||
Me.DocumentViewer1.Name = "DocumentViewer1"
|
||||
Me.DocumentViewer1.Viewer_ForceTemporaryMode = False
|
||||
'
|
||||
|
||||
@@ -630,6 +630,9 @@
|
||||
<data name=">>SplitContainer1.Panel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="DocumentViewer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="DocumentViewer1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
@@ -637,7 +640,7 @@
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1121, 683</value>
|
||||
<value>669, 422</value>
|
||||
</data>
|
||||
<data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
|
||||
@@ -126,6 +126,8 @@ Public Class frmValidator
|
||||
Private frmMessages As frmValidator_Messages
|
||||
Private ReadOnly _SqlDataCache As New Dictionary(Of String, DataTable)(StringComparer.OrdinalIgnoreCase)
|
||||
Private ReadOnly _SqlScalarCache As New Dictionary(Of String, Object)(StringComparer.OrdinalIgnoreCase)
|
||||
Private _SqlControlsByGuid As Dictionary(Of Integer, List(Of DataRow))
|
||||
Private _LookupControlsByRepository As Dictionary(Of RepositoryItemLookupControl3, LookupControl3)
|
||||
Private Class Translation_Strings
|
||||
Inherits My.Resources.frmValidator_Strings
|
||||
End Class
|
||||
@@ -749,6 +751,35 @@ Public Class frmValidator
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Private Sub EnsureSqlControlLookup()
|
||||
If _SqlControlsByGuid IsNot Nothing Then
|
||||
Return
|
||||
End If
|
||||
|
||||
_SqlControlsByGuid = New Dictionary(Of Integer, List(Of DataRow))()
|
||||
|
||||
If DTCONTROLS_WITH_SQL Is Nothing OrElse DTCONTROLS_WITH_SQL.Rows.Count = 0 Then
|
||||
Return
|
||||
End If
|
||||
|
||||
For Each row As DataRow In DTCONTROLS_WITH_SQL.Rows
|
||||
If row.ItemEx("PROFIL_ID", 0) <> CURRENT_ProfilGUID Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim controlId As Integer
|
||||
If Not Integer.TryParse(row.Item("GUID").ToString(), controlId) Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim list As List(Of DataRow) = Nothing
|
||||
If Not _SqlControlsByGuid.TryGetValue(controlId, list) Then
|
||||
list = New List(Of DataRow)()
|
||||
_SqlControlsByGuid(controlId) = list
|
||||
End If
|
||||
list.Add(row)
|
||||
Next
|
||||
End Sub
|
||||
Sub LoadSQLData(control As Control, pControlId As Integer)
|
||||
Try
|
||||
If TypeOf control Is Label Then
|
||||
@@ -757,14 +788,14 @@ Public Class frmValidator
|
||||
|
||||
MyValidationLogger.Debug($"in LoadSQLData for ControlID [{pControlId}]...")
|
||||
|
||||
Dim oDTforControl As DataTable = DTCONTROLS_WITH_SQL.Clone()
|
||||
Dim oExpression = $"GUID = {pControlId} AND PROFIL_ID = {CURRENT_ProfilGUID}"
|
||||
DTCONTROLS_WITH_SQL.Select(oExpression).CopyToDataTable(oDTforControl, LoadOption.PreserveChanges)
|
||||
EnsureSqlControlLookup()
|
||||
|
||||
If IsNothing(oDTforControl) Then Exit Sub
|
||||
If oDTforControl.Rows.Count = 0 Then Exit Sub
|
||||
Dim rows As List(Of DataRow) = Nothing
|
||||
If _SqlControlsByGuid Is Nothing OrElse Not _SqlControlsByGuid.TryGetValue(pControlId, rows) Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each row As DataRow In oDTforControl.Rows
|
||||
For Each row As DataRow In rows
|
||||
Dim name As String = row.Item("NAME")
|
||||
Dim oGUID As String = row.Item("GUID")
|
||||
Dim oReadOnly As Boolean = row.Item("READ_ONLY")
|
||||
@@ -787,12 +818,12 @@ Public Class frmValidator
|
||||
Dim oSQLStatement As String = row.Item("SQL_UEBERPRUEFUNG")
|
||||
Dim oConnectionId As Integer = row.Item("CONNECTION_ID")
|
||||
|
||||
If IsNothing(oSQLStatement) Then
|
||||
If String.IsNullOrWhiteSpace(oSQLStatement) Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
oSQLStatement = clsPatterns.ReplaceAllValues(oSQLStatement, PanelValidatorControl, True)
|
||||
If IsNothing(oSQLStatement) Then
|
||||
If String.IsNullOrWhiteSpace(oSQLStatement) Then
|
||||
Continue For
|
||||
End If
|
||||
If clsPatterns.HasComplexPatterns(oSQLStatement) Then
|
||||
@@ -800,18 +831,9 @@ Public Class frmValidator
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim oDTContent As DataTable = Nothing
|
||||
Dim cacheKey = $"{oConnectionId}|{oSQLStatement}"
|
||||
|
||||
If Not _SqlDataCache.TryGetValue(cacheKey, oDTContent) Then
|
||||
oDTContent = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSQLStatement, DatabaseType.ECM) With {
|
||||
.ConnectionId = oConnectionId
|
||||
})
|
||||
If IsNothing(oDTContent) Then
|
||||
MyValidationLogger.Warn($"SQL-Query [{oSQLStatement}] for control {control.Name} is invalid.")
|
||||
Exit Sub
|
||||
End If
|
||||
_SqlDataCache(cacheKey) = oDTContent
|
||||
Dim oDTContent As DataTable = GetCachedDatatable(oSQLStatement, oConnectionId)
|
||||
If oDTContent Is Nothing OrElse oDTContent.Rows.Count = 0 Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim oValue
|
||||
@@ -824,7 +846,6 @@ Public Class frmValidator
|
||||
lookup.Properties.ValueMember = oDTContent.Columns.Item(0).ColumnName
|
||||
lookup.Properties.DisplayMember = oDTContent.Columns.Item(0).ColumnName
|
||||
Catch ex As Exception
|
||||
|
||||
MyValidationLogger.Warn("Error in LookUpLoadSQLData: " & ex.Message)
|
||||
End Try
|
||||
|
||||
@@ -838,7 +859,6 @@ Public Class frmValidator
|
||||
oValue = value
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Warn("Error in TextBoxLoadSQLData: " & ex.Message)
|
||||
|
||||
End Try
|
||||
ElseIf TypeOf control Is Windows.Forms.ComboBox Then
|
||||
Try
|
||||
@@ -863,10 +883,12 @@ Public Class frmValidator
|
||||
Dim dataGridView As GridControl = control
|
||||
Dim oDataSource As DataTable = dataGridView.DataSource
|
||||
|
||||
If oDataSource Is Nothing OrElse oDataSource.Rows.Count = 0 Then
|
||||
Dim oDatatable As DataTable = oDTContent.Clone()
|
||||
If oDataSource Is Nothing Then
|
||||
oDataSource = oDTContent.Clone()
|
||||
End If
|
||||
|
||||
For Each oColumn As DataColumn In oDatatable.Columns
|
||||
If oDataSource.Rows.Count = 0 Then
|
||||
For Each oColumn As DataColumn In oDTContent.Columns
|
||||
If oDataSource.Columns(oColumn.ColumnName) Is Nothing Then
|
||||
oDataSource.Columns.Add(oColumn.ColumnName, oColumn.DataType)
|
||||
End If
|
||||
@@ -913,6 +935,7 @@ Public Class frmValidator
|
||||
Try
|
||||
|
||||
PanelValidatorControl.Controls.Clear()
|
||||
_LookupControlsByRepository = New Dictionary(Of RepositoryItemLookupControl3, LookupControl3)()
|
||||
Dim oSQL = $"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,'{USER_LANGUAGE}',CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG, * FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC"
|
||||
DT_CONTROLS = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS_LANGUAGE", New GetDatatableOptions(oSQL, DatabaseType.ECM) With {
|
||||
.FilterExpression = $"LANGUAGE = '{USER_LANGUAGE}' AND PROFIL_ID = {CURRENT_ProfilGUID}",
|
||||
@@ -983,6 +1006,7 @@ Public Class frmValidator
|
||||
AddHandler txt.GotFocus, AddressOf OnTextBoxFocus
|
||||
AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus
|
||||
AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp
|
||||
AddHandler txt.KeyDown, AddressOf OnTextBoxKeyDown
|
||||
AddHandler txt.EditValueChanged, AddressOf OnTextBoxEditValueChanged
|
||||
|
||||
oMyControl = txt
|
||||
@@ -1041,16 +1065,19 @@ Public Class frmValidator
|
||||
MyValidationLogger.Debug("SQL HasOnlySimplePatterns!")
|
||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||
oSQL = clsPatterns.ReplaceControlValues(oSQL, PanelValidatorControl, True)
|
||||
'Dim oDT As DataTable = ClassDatabase.Return_Datatable_ConId(oSQL, oCONID, $"CreateControls - oControlID: {oControlID}")
|
||||
Dim oDT As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSQL, DatabaseType.ECM) With {
|
||||
.ConnectionId = oCONID
|
||||
})
|
||||
|
||||
If Not IsNothing(oDT) Then
|
||||
Dim oDT As DataTable = GetCachedDatatable(oSQL, oCONID)
|
||||
oComboBox.BeginUpdate()
|
||||
oComboBox.DataSource = Nothing
|
||||
If Not IsNothing(oDT) AndAlso oDT.Rows.Count > 0 Then
|
||||
Dim list As New List(Of String)
|
||||
For Each oRow As DataRow In oDT.Rows
|
||||
oComboBox.Items.Add(oRow.Item(0))
|
||||
list.Add(oRow.Item(0))
|
||||
Next
|
||||
oComboBox.DataSource = list
|
||||
End If
|
||||
oComboBox.SelectedIndex = -1
|
||||
oComboBox.EndUpdate()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Warn($"Unexpected error in CMB GetValues SQL - Error: {ex.Message}")
|
||||
@@ -1112,21 +1139,57 @@ Public Class frmValidator
|
||||
'MyLookupControl.Properties.AllowAddNewValues = oControlRow.Item("VKT_ADD_ITEM")
|
||||
MyLookupControl.Properties.MultiSelect = oMultiselect
|
||||
|
||||
Dim oCONID As Integer
|
||||
Try
|
||||
oCONID = PreventNulletc(oControlRow.Item("CONNECTION_ID"), "Integer")
|
||||
Catch ex As Exception
|
||||
oCONID = 0
|
||||
End Try
|
||||
|
||||
If oCONID > 0 Then
|
||||
Dim oCommandSQL_UBPF
|
||||
Try
|
||||
oCommandSQL_UBPF = oControlRow.Item("SQL_UEBERPRUEFUNG")
|
||||
oCommandSQL_UBPF = oControlRow.Item("SQL_UEBERPRUEFUNG")
|
||||
Catch ex As Exception
|
||||
oCommandSQL_UBPF = ""
|
||||
End Try
|
||||
If oCommandSQL_UBPF <> String.Empty Then
|
||||
Try
|
||||
oSQL = PreventNulletc(oControlRow.Item("SQL_UEBERPRUEFUNG"), "String")
|
||||
|
||||
If clsPatterns.HasOnlySimplePatterns(oSQL) Then
|
||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||
oSQL = clsPatterns.ReplaceControlValues(oSQL, PanelValidatorControl, True)
|
||||
|
||||
Dim oDT As DataTable = GetCachedDatatable(oSQL, oCONID)
|
||||
|
||||
MyLookupControl.Properties.DataSource = Nothing
|
||||
If Not IsNothing(oDT) AndAlso oDT.Rows.Count > 0 Then
|
||||
MyLookupControl.Properties.DataSource = oDT
|
||||
MyLookupControl.Properties.ValueMember = oDT.Columns.Item(0).ColumnName
|
||||
MyLookupControl.Properties.DisplayMember = oDT.Columns.Item(0).ColumnName
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Warn($"Unexpected error in LOOKUP GetValues SQL - Error: {ex.Message}")
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
|
||||
If ObjectEx.NotNull(oControlRow.Item("DEFAULT_VALUE"), "") <> "" Then
|
||||
MyLookupControl.Properties.SelectedValues = New List(Of String) From {oControlRow.Item("DEFAULT_VALUE")}
|
||||
End If
|
||||
|
||||
oMyControl = MyLookupControl
|
||||
_LookupControlsByRepository(MyLookupControl.Properties) = MyLookupControl
|
||||
AddHandler MyLookupControl.Properties.SelectedValuesChanged, AddressOf LookupListChanged
|
||||
|
||||
'Wenn Multiselect false dann prüfen ob abhängiges Control
|
||||
' If oMultiselect = False Then
|
||||
Dim oFilteredData As DataTable = DT_CONTROLS.Clone()
|
||||
Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oMyControl.Name}%'"
|
||||
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
|
||||
If oFilteredData.Rows.Count >= 1 Then
|
||||
MyValidationLogger.Debug($"createControlsLU - Found {oFilteredData.Rows.Count} Controls which are depending on {oMyControl.Name}")
|
||||
'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
|
||||
AddHandler MyLookupControl.Properties.SelectedValuesChanged, AddressOf onLookUpselectedValue
|
||||
End If
|
||||
|
||||
@@ -1134,22 +1197,17 @@ Public Class frmValidator
|
||||
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
|
||||
If oFilteredData.Rows.Count >= 1 Then
|
||||
MyValidationLogger.Debug($"createControlsLU - Found {oFilteredData.Rows.Count} Controls which' enable state is depending on {oMyControl.Name}")
|
||||
'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
|
||||
AddHandler MyLookupControl.Properties.SelectedValuesChanged, AddressOf onLookUpselectedValue
|
||||
End If
|
||||
|
||||
|
||||
oFilteredData = DT_CONTROLS.Clone()
|
||||
oExpression = $"GUID = {oControlRow.Item("GUID")} and Len(SET_CONTROL_DATA) > 0"
|
||||
DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
|
||||
If oFilteredData.Rows.Count = 1 Then
|
||||
'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
|
||||
AddHandler MyLookupControl.Properties.SelectedValuesChanged, AddressOf onLookUpselectedValue_Control2Set
|
||||
End If
|
||||
oFilteredData = DT_CONTROLS.Clone()
|
||||
|
||||
' End If
|
||||
|
||||
AddHandler MyLookupControl.GotFocus, Sub(sender As Control, e As EventArgs)
|
||||
If DirectCast(MyLookupControl.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then
|
||||
MyLookupControl.BackColor = Color.LightSteelBlue
|
||||
@@ -1162,11 +1220,6 @@ Public Class frmValidator
|
||||
End Sub
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'Return filteredData
|
||||
'AddHandler lookup.Leave, AddressOf onLookUp0
|
||||
|
||||
Case "CHK"
|
||||
oControlInfo = "CHK#" & oControlInfo
|
||||
oMyControl = ControlCreator.CreateExisingCheckbox(oControlRow, False)
|
||||
@@ -1317,15 +1370,30 @@ Public Class frmValidator
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim oTextbox As BaseEdit = sender
|
||||
Dim oMeta As ClassControlCreator.ControlMetadata = oTextbox.Tag
|
||||
Dim oTextbox As BaseEdit = TryCast(sender, BaseEdit)
|
||||
If oTextbox Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Not oMeta.IsDirty Then
|
||||
oMeta.IsDirty = True
|
||||
MyValidationLogger.Debug($"TextBox [{oMeta.Name}] marked as dirty")
|
||||
Dim oMeta As ClassControlCreator.ControlMetadata = TryCast(oTextbox.Tag, ClassControlCreator.ControlMetadata)
|
||||
If oMeta Is Nothing OrElse oMeta.IsDirty Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
oMeta.IsDirty = True
|
||||
MyValidationLogger.Debug($"TextBox [{oMeta.Name}] marked as dirty")
|
||||
End Sub
|
||||
Private Sub OnTextBoxKeyDown(sender As Object, e As KeyEventArgs)
|
||||
Dim oTextBox As BaseEdit = TryCast(sender, BaseEdit)
|
||||
If oTextBox Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If oTextBox.ReadOnly AndAlso e.Control AndAlso e.KeyCode = Keys.X Then
|
||||
e.Handled = True
|
||||
e.SuppressKeyPress = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub OnTextBoxKeyUp(sender As Object, e As KeyEventArgs)
|
||||
If _ControlHandleStarted = True Then
|
||||
_ControlHandleStarted = False
|
||||
@@ -1337,11 +1405,9 @@ Public Class frmValidator
|
||||
|
||||
If (e.KeyCode = Keys.Return) Or (e.KeyCode = Keys.Tab) Or (e.KeyCode = Keys.Enter) Then
|
||||
Try
|
||||
Dim CONTROL_ID = DirectCast(oTextBox.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||
Dim oSql = String.Format("SELECT NAME, CONNECTION_ID, SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oTextBox.Name)
|
||||
Dim oFilter = $"PROFIL_ID = {CURRENT_ProfilGUID} AND SQL_UEBERPRUEFUNG LIKE '%{oTextBox.Name}%'"
|
||||
|
||||
Dim DTCONTROLS_UEBP As DataTable = GetControlMetaBySql("TBPM_PROFILE_CONTROLS_SQL_UEP", oSql, oFilter)
|
||||
Dim DTCONTROLS_UEBP As DataTable = GetControlMetaBySql(oFilter)
|
||||
|
||||
If Not IsNothing(DTCONTROLS_UEBP) AndAlso DTCONTROLS_UEBP.Rows.Count > 0 Then
|
||||
For Each oRow As DataRow In DTCONTROLS_UEBP.Rows
|
||||
@@ -1540,14 +1606,12 @@ Public Class frmValidator
|
||||
Public Sub onDGVRowValidating(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs)
|
||||
Dim dgv As DataGridView = sender
|
||||
Try
|
||||
Dim CONTROL_ID = DirectCast(dgv.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
|
||||
Dim oFilter = String.Format("CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
|
||||
Dim oFilter = String.Format("PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, dgv.Name)
|
||||
|
||||
Dim DT As DataTable = GetControlMetaBySql("TBPM_PROFILE_CONTROLS", sql, oFilter)
|
||||
Dim DTFilteredRows As DataTable = GetControlMetaBySql(oFilter)
|
||||
|
||||
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
|
||||
For Each ROW As DataRow In DT.Rows
|
||||
If Not IsNothing(DTFilteredRows) And DTFilteredRows.Rows.Count > 0 Then
|
||||
For Each ROW As DataRow In DTFilteredRows.Rows
|
||||
Try
|
||||
Dim displayboxname = ROW.Item("NAME").ToString
|
||||
If Not IsDBNull(ROW.Item("CONNECTION_ID")) And Not IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")) Then
|
||||
@@ -1555,9 +1619,6 @@ Public Class frmValidator
|
||||
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 = DatabaseFallback.GetDatatable(New GetDatatableOptions(sql_Statement, DatabaseType.ECM) With {
|
||||
' .ConnectionId = ROW.Item("CONNECTION_ID")
|
||||
'})
|
||||
Dim resultDT As DataTable = GetCachedDatatable(sql_Statement, ROW.Item("CONNECTION_ID"))
|
||||
|
||||
If resultDT.Rows.Count >= 1 Then
|
||||
@@ -1594,22 +1655,32 @@ Public Class frmValidator
|
||||
If _FormLoaded = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim oRepositoryItem As RepositoryItemLookupControl3 = sender
|
||||
Dim oLookup As LookupControl3 = oRepositoryItem.OwnerEdit
|
||||
|
||||
Try
|
||||
If Not IsNothing(SelectedValues) Then
|
||||
If SelectedValues.Count >= 1 Then
|
||||
LookupControl_DependingControls(oLookup, SelectedValues)
|
||||
LookupControl_EnablingControls(oLookup, SelectedValues)
|
||||
LookupControl_DependingColumn(oLookup, SelectedValues)
|
||||
Else
|
||||
MyValidationLogger.Debug("Attention: onLookUpselectedValue: SelectedValues.Count <> 1 ")
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Error(ex)
|
||||
End Try
|
||||
If SelectedValues Is Nothing OrElse SelectedValues.Count < 1 Then
|
||||
MyValidationLogger.Debug("Attention: onLookUpselectedValue: SelectedValues.Count <> 1 ")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim oRepositoryItem As RepositoryItemLookupControl3 = sender
|
||||
Dim oLookup As LookupControl3 = Nothing
|
||||
|
||||
If _LookupControlsByRepository IsNot Nothing Then
|
||||
_LookupControlsByRepository.TryGetValue(oRepositoryItem, oLookup)
|
||||
End If
|
||||
|
||||
If oLookup Is Nothing Then
|
||||
oLookup = TryCast(oRepositoryItem.OwnerEdit, LookupControl3)
|
||||
End If
|
||||
|
||||
If oLookup Is Nothing Then
|
||||
MyValidationLogger.Warn("onLookUpselectedValue: LookupControl not found for RepositoryItem")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
LookupControl_DependingControls(oLookup, SelectedValues)
|
||||
LookupControl_EnablingControls(oLookup, SelectedValues)
|
||||
LookupControl_DependingColumn(oLookup, SelectedValues)
|
||||
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Warn("Unexpected error in onLookUpselectedValue - " + ex.Message)
|
||||
MyValidationLogger.Error(ex)
|
||||
@@ -1623,22 +1694,35 @@ Public Class frmValidator
|
||||
|
||||
Try
|
||||
Dim oLookup As RepositoryItemLookupControl3 = sender
|
||||
' NEU: Dirty-Flag setzen - Suche den zugehörigen LookupControl
|
||||
For Each oControl In PanelValidatorControl.Controls
|
||||
If TypeOf oControl Is LookupControl3 Then
|
||||
Dim oLookupControl As LookupControl3 = DirectCast(oControl, LookupControl3)
|
||||
If oLookupControl.Properties Is oLookup Then
|
||||
Dim oMeta As ClassControlCreator.ControlMetadata = oLookupControl.Tag
|
||||
oMeta.IsDirty = True
|
||||
MyValidationLogger.Debug($"LookupControl [{oMeta.Name}] marked as dirty")
|
||||
Exit For
|
||||
Dim oLookupControl As LookupControl3 = Nothing
|
||||
|
||||
If _LookupControlsByRepository IsNot Nothing Then
|
||||
_LookupControlsByRepository.TryGetValue(oLookup, oLookupControl)
|
||||
End If
|
||||
|
||||
If oLookupControl Is Nothing Then
|
||||
For Each oControl In PanelValidatorControl.Controls
|
||||
If TypeOf oControl Is LookupControl3 Then
|
||||
Dim tmp As LookupControl3 = DirectCast(oControl, LookupControl3)
|
||||
If tmp.Properties Is oLookup Then
|
||||
oLookupControl = tmp
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
listChangedLookup.Add(oLookup.Name)
|
||||
Next
|
||||
End If
|
||||
|
||||
If oLookupControl IsNot Nothing Then
|
||||
Dim oMeta As ClassControlCreator.ControlMetadata = oLookupControl.Tag
|
||||
oMeta.IsDirty = True
|
||||
MyValidationLogger.Debug($"LookupControl [{oMeta.Name}] marked as dirty")
|
||||
listChangedLookup.Add(oLookupControl.Name)
|
||||
Else
|
||||
listChangedLookup.Add(oLookup.Name)
|
||||
End If
|
||||
|
||||
ControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
|
||||
'Verschiebt den Fokus auf das nächste Control
|
||||
|
||||
Dim oFound As Boolean = False
|
||||
For Each oString As String In listofControls
|
||||
If oString = oLookup.Name And oFound = False Then
|
||||
@@ -2274,11 +2358,9 @@ Public Class frmValidator
|
||||
'Abschluss()
|
||||
Else
|
||||
Try
|
||||
Dim CONTROL_ID = DirectCast(oCombobox.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
|
||||
Dim oFilter = String.Format("CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
|
||||
Dim oFilter = String.Format("PROFIL_ID = {0} And SQL_UEBERPRUEFUNG Like '%{1}%'", CURRENT_ProfilGUID, oCombobox.Name)
|
||||
|
||||
Dim DT As DataTable = GetControlMetaBySql("TBPM_PROFILE_CONTROLS", sql, oFilter)
|
||||
Dim DT As DataTable = GetControlMetaBySql(oFilter)
|
||||
|
||||
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
|
||||
If _DependingControl_In_Action = True Then
|
||||
@@ -2528,17 +2610,43 @@ Public Class frmValidator
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Function GetControlMetaBySql(tableName As String, sql As String, filter As String) As DataTable
|
||||
Private Function GetControlMetaBySql(filter As String) As DataTable
|
||||
Dim dt As DataTable = Nothing
|
||||
Dim cacheKey = $"META|{tableName}|{sql}|{filter}"
|
||||
Dim cacheKey = $"META|{filter}"
|
||||
|
||||
If _SqlDataCache.TryGetValue(cacheKey, dt) Then
|
||||
Return dt
|
||||
End If
|
||||
|
||||
If BASEDATA_TBPM_PROFILE_CONTROLS IsNot Nothing Then
|
||||
Try
|
||||
If String.IsNullOrWhiteSpace(filter) Then
|
||||
dt = BASEDATA_TBPM_PROFILE_CONTROLS.Copy()
|
||||
Else
|
||||
Dim rows = BASEDATA_TBPM_PROFILE_CONTROLS.Select(filter)
|
||||
dt = BASEDATA_TBPM_PROFILE_CONTROLS.Clone()
|
||||
If rows.Length > 0 Then
|
||||
dt = rows.CopyToDataTable()
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not _SqlDataCache.TryGetValue(cacheKey, dt) Then
|
||||
dt = DatabaseFallback.GetDatatable(tableName, New GetDatatableOptions(sql, DatabaseType.ECM) With {
|
||||
.FilterExpression = filter
|
||||
})
|
||||
If dt IsNot Nothing Then
|
||||
_SqlDataCache(cacheKey) = dt
|
||||
End If
|
||||
Return dt
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Warn($"GetControlMetaBySql cache filter failed, fallback to DB: {ex.Message}")
|
||||
End Try
|
||||
End If
|
||||
|
||||
Dim query As String
|
||||
If String.IsNullOrWhiteSpace(filter) Then
|
||||
query = "SELECT * FROM TBPM_PROFILE_CONTROLS"
|
||||
Else
|
||||
query = $"SELECT * FROM TBPM_PROFILE_CONTROLS WHERE {filter}"
|
||||
End If
|
||||
|
||||
dt = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS", New GetDatatableOptions(query, DatabaseType.ECM))
|
||||
If dt IsNot Nothing Then
|
||||
_SqlDataCache(cacheKey) = dt
|
||||
End If
|
||||
|
||||
Return dt
|
||||
@@ -2784,8 +2892,17 @@ Public Class frmValidator
|
||||
|
||||
|
||||
Sub Load_Next_Document(first As Boolean)
|
||||
Dim perfStart As DateTime = DateTime.MinValue
|
||||
Dim perfLastCheck As DateTime = DateTime.MinValue
|
||||
If LOG_HOTSPOTS Then
|
||||
perfStart = DateTime.Now
|
||||
perfLastCheck = perfStart
|
||||
MyValidationLogger.Info("[PERF] Load_Next_Document START")
|
||||
End If
|
||||
|
||||
_SqlDataCache.Clear()
|
||||
_SqlScalarCache.Clear()
|
||||
_SqlControlsByGuid = Nothing
|
||||
CURRENT_WMFILE = Nothing
|
||||
activate_controls(False)
|
||||
oErrMsgMissingInput = ""
|
||||
@@ -2793,9 +2910,10 @@ Public Class frmValidator
|
||||
|
||||
Override = False
|
||||
OverrideAll = False
|
||||
'Me.lblerror.Visible = False
|
||||
_Indexe_Loaded = False
|
||||
MyValidationLogger.Debug("In Load_Next_Document")
|
||||
|
||||
Dim layoutSuspended As Boolean = False
|
||||
Try
|
||||
If first = True Then
|
||||
MyValidationLogger.Debug("First Document")
|
||||
@@ -2804,17 +2922,12 @@ Public Class frmValidator
|
||||
MyValidationLogger.Debug("Following Document ")
|
||||
End If
|
||||
|
||||
' Controls nicht beim ersten Laden leeren
|
||||
If first = False Then
|
||||
PanelValidatorControl.SuspendLayout()
|
||||
layoutSuspended = True
|
||||
Clear_all_Input()
|
||||
End If
|
||||
|
||||
'Select Case navtype
|
||||
' Case "next"
|
||||
' Case "previous"
|
||||
' Case "first"
|
||||
' Case "last"
|
||||
'End Select
|
||||
MyValidationLogger.Debug($"CURRENT_JUMP_DOC_GUID: {CURRENT_JUMP_DOC_GUID}'")
|
||||
If CURRENT_JUMP_DOC_GUID = 0 Then
|
||||
CURRENT_DOC_GUID = Get_Next_GUID()
|
||||
@@ -2822,11 +2935,23 @@ Public Class frmValidator
|
||||
ElseIf first = False Then
|
||||
CURRENT_DOC_GUID = 0
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach Get_Next_GUID: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
MyValidationLogger.Info("LoadNextDocument - Dokument-GUID: '" & CURRENT_DOC_GUID.ToString & "'")
|
||||
If CURRENT_DOC_GUID > 0 Then
|
||||
If (OPERATION_MODE_FS = ClassConstants.OpModeFS_PWM Or OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM) And GetDocPathWindows(0) = False Then
|
||||
SetStatusLabel($"File not accessible: {DocPathWindows}", "DarkOrange")
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach GetDocPathWindows: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
If IDB_ACTIVE = False Then
|
||||
If CreateWMObject() = False Then
|
||||
Exit Sub
|
||||
@@ -2843,17 +2968,22 @@ Public Class frmValidator
|
||||
End If
|
||||
End If
|
||||
|
||||
' >> >> >> >> >> >>##### Das Dokument in Bearbeitung nehmen ###########################
|
||||
'PRTF_PROFILE_FILES_WORK("InWork")
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach CreateWMObject/Load_IDB_DOC_DATA: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
Dim sql = $"UPDATE TBPM_PROFILE_FILES Set IN_WORK = 1, IN_WORK_WHEN = GETDATE(), WORK_USER = '{USER_USERNAME}' WHERE GUID = {CURRENT_DOC_GUID}"
|
||||
DatabaseFallback.ExecuteNonQueryECM(sql)
|
||||
|
||||
' ############ Infos eintragen #################
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach IN_WORK-UPDATE: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
If Amount_Docs2Validate > 1 Then
|
||||
Dim omsg = String.Format(Translation_Strings.Verbleibende_Vorgänge___0_, Amount_Docs2Validate)
|
||||
bsiInformation.Caption = omsg
|
||||
|
||||
bsiInformation.Caption = omsg
|
||||
If RbnPgGrpActions.Visible = False Then
|
||||
RbnPgGrpActions.Visible = True
|
||||
@@ -2872,21 +3002,21 @@ Public Class frmValidator
|
||||
MyValidationLogger.Debug("AllDocInfo created...")
|
||||
If IDB_ACTIVE = False Then
|
||||
oErrMsgMissingInput = Windream_get_Doc_info()
|
||||
Else
|
||||
' oErrorMessage = IDB_GetDocInfo()
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach Windream_get_Doc_info: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
Dim oCurrency As String
|
||||
If PROFIL_CURRENCY_ATTRIBUTE <> "" Then
|
||||
oCurrency = GetVariableValuefromSource(PROFIL_CURRENCY_ATTRIBUTE, 1, False)
|
||||
MyValidationLogger.Debug(String.Format("Read oCurrency from Attribute: {0} is {1}", PROFIL_CURRENCY_ATTRIBUTE, oCurrency))
|
||||
Else
|
||||
oCurrency = "EUR"
|
||||
MyValidationLogger.Debug(String.Format("oCurrency by default is {0}", oCurrency))
|
||||
End If
|
||||
If Not IsNothing(oCurrency) Then
|
||||
DocCurrency = oCurrency
|
||||
Dim oValueType = DocCurrency.GetType.ToString
|
||||
If IsDBNull(DocCurrency) Then
|
||||
DocCurrency = "EUR"
|
||||
Else
|
||||
@@ -2897,33 +3027,55 @@ Public Class frmValidator
|
||||
DocCurrency = "EUR"
|
||||
End Try
|
||||
End If
|
||||
Else
|
||||
MyValidationLogger.Warn($"oCurrency is Nothing - Check PROFIL_CURRENCY_ATTRIBUTE! ")
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
If oErrMsgMissingInput = "" Then
|
||||
If WMDocPathWindows <> String.Empty Or OPERATION_MODE_FS = ClassConstants.OpModeFS_ZF Then
|
||||
MyValidationLogger.Debug($"Operationmode is {ClassConstants.OpModeFS_ZF}! Initializing Viewer ...")
|
||||
LoadDocument_DDViewer()
|
||||
MyValidationLogger.Debug("Viewer loaded!!")
|
||||
If Current_Document.Extension <> "pdf" Then
|
||||
bbtniAnnotation.Visibility = BarItemVisibility.Never
|
||||
End If
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach LoadDocument_DDViewer: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
FillIndexValues(first)
|
||||
|
||||
For Each oControl As Control In PanelValidatorControl.Controls
|
||||
LoadSQLData(oControl, DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid)
|
||||
Next
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach FillIndexValues: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
MyValidationLogger.Debug("Indexmask loaded")
|
||||
Dim sqlControls As DataRow() = Nothing
|
||||
If DTCONTROLS_WITH_SQL IsNot Nothing AndAlso DTCONTROLS_WITH_SQL.Rows.Count > 0 Then
|
||||
sqlControls = DTCONTROLS_WITH_SQL.Select($"PROFIL_ID = {CURRENT_ProfilGUID}")
|
||||
End If
|
||||
|
||||
If sqlControls IsNot Nothing AndAlso sqlControls.Length > 0 Then
|
||||
Dim sqlControlIds As New HashSet(Of Integer)()
|
||||
For Each r As DataRow In sqlControls
|
||||
Dim controlId As Integer = 0
|
||||
If Integer.TryParse(r.Item("GUID").ToString, controlId) Then
|
||||
sqlControlIds.Add(controlId)
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each oControl As Control In PanelValidatorControl.Controls
|
||||
Dim controlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
|
||||
If sqlControlIds.Contains(controlId) Then
|
||||
LoadSQLData(oControl, controlId)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach LoadSQLData-Loop: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
'Nun loggen das das Profil geladen wurde
|
||||
If PROFIL_LOGINDEX <> "" Then
|
||||
Dim oLogString = $"PMProfile loaded: [{CURRENT_ProfilGUID}-{CURRENT_ProfilName}]{PMDelimiter}{USER_USERNAME}{PMDelimiter}{Now.ToString}"
|
||||
If IDB_ACTIVE = False Then
|
||||
@@ -2951,19 +3103,14 @@ Public Class frmValidator
|
||||
Me.Close()
|
||||
End If
|
||||
End If
|
||||
|
||||
Try
|
||||
|
||||
|
||||
|
||||
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($"DocCurrency = {DocCurrency}")
|
||||
For Each oControl As Control In PanelValidatorControl.Controls
|
||||
Try
|
||||
Dim oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
|
||||
If TypeOf oControl Is GridControl Then
|
||||
Dim oGrid As GridControl = DirectCast(oControl, GridControl)
|
||||
Dim oControlMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
|
||||
@@ -2978,48 +3125,47 @@ Public Class frmValidator
|
||||
settings.MaskExpression = "c"
|
||||
settings.Culture = oCultureInfo
|
||||
End Sub)
|
||||
riTextEdit.UseMaskAsDisplayFormat = True 'Optional
|
||||
riTextEdit.UseMaskAsDisplayFormat = True
|
||||
oGrid.RepositoryItems.Add(riTextEdit)
|
||||
|
||||
Dim oGridView As GridView = DirectCast(oGrid.FocusedView, GridView)
|
||||
For Each oCol As GridColumn In oGridView.Columns
|
||||
Dim oColumnData As DataRow = oFilteredDatatable.
|
||||
Select($"SPALTENNAME = '{oCol.FieldName}'").
|
||||
FirstOrDefault()
|
||||
|
||||
Dim oColumnData As DataRow = oFilteredDatatable.Select($"SPALTENNAME = '{oCol.FieldName}'").FirstOrDefault()
|
||||
If oColumnData Is Nothing Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim oColumnType As String = oColumnData.Item("TYPE_COLUMN")
|
||||
|
||||
Select Case oColumnType
|
||||
Case "CURRENCY"
|
||||
Console.WriteLine("CurrencyFormatNecessary")
|
||||
oCol.DisplayFormat.FormatType = FormatType.Custom
|
||||
oCol.ColumnEdit = riTextEdit
|
||||
End Select
|
||||
If oColumnType = "CURRENCY" Then
|
||||
oCol.DisplayFormat.FormatType = FormatType.Custom
|
||||
oCol.ColumnEdit = riTextEdit
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Error(ex)
|
||||
End Try
|
||||
Next
|
||||
Else
|
||||
MyValidationLogger.Warn($"DocCurrency is String.empty! ")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Warn($"Unexpected error in display format Currency: " & ex.Message)
|
||||
End Try
|
||||
Try
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach Currency-Format: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
Try
|
||||
Show_WF_Messages(False)
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Error(ex)
|
||||
End Try
|
||||
Controls2B_EnDisabled()
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Nach Show_WF_Messages + Controls2B_EnDisabled: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
End If
|
||||
|
||||
MyValidationLogger.Debug("frmValidator: LoadNextDocument finished!")
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Error(ex)
|
||||
@@ -3027,6 +3173,13 @@ Public Class frmValidator
|
||||
My.Settings.Save()
|
||||
MyValidationLogger.Info("unexpected error in Load_Next_Document: " & ex.Message)
|
||||
frmError.ShowDialog()
|
||||
Finally
|
||||
If layoutSuspended Then
|
||||
PanelValidatorControl.ResumeLayout()
|
||||
End If
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Load_Next_Document GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
|
||||
End If
|
||||
End Try
|
||||
End Sub
|
||||
Sub Show_WF_Messages(pShow As Boolean)
|
||||
@@ -4279,8 +4432,19 @@ Public Class frmValidator
|
||||
End Sub
|
||||
|
||||
Private Sub frmValidation_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
|
||||
Dim perfStart As DateTime = DateTime.MinValue
|
||||
Dim perfLastCheck As DateTime = DateTime.MinValue
|
||||
If LOG_HOTSPOTS Then
|
||||
perfStart = DateTime.Now
|
||||
perfLastCheck = perfStart
|
||||
MyValidationLogger.Info("[PERF] frmValidation_Shown START")
|
||||
End If
|
||||
' Refresh_FileList()
|
||||
Load_Next_Document(True)
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] frmValidation_Shown nach Load_Next_Document: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
_DependingControl_In_Action = False
|
||||
_DependingColumn_In_Action = False
|
||||
@@ -4355,8 +4519,15 @@ Public Class frmValidator
|
||||
Catch ex As Exception
|
||||
MyValidationLogger.Error(ex)
|
||||
End Try
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] frmValidation_Shown nach Ribbon/Export Setup: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
MyValidationLogger.Debug("frmValidation_Shown finished!")
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] frmValidation_Shown GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
|
||||
End If
|
||||
End Sub
|
||||
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
||||
btnSave.Enabled = False
|
||||
@@ -4513,18 +4684,34 @@ Public Class frmValidator
|
||||
End Function
|
||||
|
||||
Sub Finish_WFStep(Optional includeFI As Boolean = True)
|
||||
Dim perfStart As DateTime = DateTime.MinValue
|
||||
Dim perfLastCheck As DateTime = DateTime.MinValue
|
||||
If LOG_HOTSPOTS Then
|
||||
perfStart = DateTime.Now
|
||||
perfLastCheck = perfStart
|
||||
MyValidationLogger.Info("[PERF] Finish_WFStep START")
|
||||
End If
|
||||
btnSave.Enabled = False
|
||||
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
|
||||
If Check_UpdateIndexe() = True Then
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach Check_UpdateIndexe: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
If PROFIL_FINISH_SQL <> String.Empty Then
|
||||
If btnFinish_continue() = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach btnFinish_continue: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
If includeFI = True Then
|
||||
Try
|
||||
Dim oSQL = $"SELECT * FROM TBPM_PROFILE_FINAL_INDEXING WHERE PROFIL_ID = {CURRENT_ProfilGUID} AND ACTIVE = 1 ORDER BY SEQUENCE"
|
||||
@@ -4697,11 +4884,19 @@ Public Class frmValidator
|
||||
oErrorOcurred = True
|
||||
End Try
|
||||
End If
|
||||
If LOG_HOTSPOTS AndAlso includeFI Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach FinalIndexing: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
Try
|
||||
''Wenn kein Fehler nach der finalen Indexierung gesetzt wurde
|
||||
If Override = True And Override_SQLCommand <> "" Then
|
||||
DatabaseFallback.ExecuteNonQueryECM(Override_SQLCommand)
|
||||
End If
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach Override-SQL: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
If oErrorOcurred = False Then
|
||||
|
||||
Dim WORK_HISTORY_ENTRY = Nothing
|
||||
@@ -4803,6 +4998,12 @@ Public Class frmValidator
|
||||
WORK_HISTORY_ENTRY = ""
|
||||
End If
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach WORK_HISTORY: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
Dim ins = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY,WORKED_WHERE,STATUS_COMMENT) VALUES ({0},{1},'{2}','{3}','{4}')", CURRENT_ProfilGUID, CURRENT_DOC_ID, USER_USERNAME, System.Environment.MachineName, WORK_HISTORY_ENTRY)
|
||||
DatabaseFallback.ExecuteNonQueryECM(ins)
|
||||
Dim oFIsql As String
|
||||
@@ -4838,6 +5039,11 @@ Public Class frmValidator
|
||||
End If
|
||||
End If
|
||||
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach Annotation: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
|
||||
'wenn Move2Folder aktiviert wurde
|
||||
If Move2Folder <> "" And (OPERATION_MODE_FS = ClassConstants.OpModeFS_PWM Or OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM) Then
|
||||
@@ -4848,6 +5054,10 @@ Public Class frmValidator
|
||||
frmError.ShowDialog()
|
||||
oErrorOcurred = True
|
||||
End If
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach Move2Folder: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
@@ -4878,6 +5088,10 @@ Public Class frmValidator
|
||||
oErrorOcurred = True
|
||||
End If
|
||||
End If
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach OverrideAll-SQL: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
' Wert muss für den nächsten Beleg wieder zurückgesetzt werden.
|
||||
OverrideAll = False
|
||||
End If
|
||||
@@ -4890,6 +5104,10 @@ Public Class frmValidator
|
||||
If DatabaseFallback.ExecuteNonQueryECM(oPROCSQL) = False Then
|
||||
MyValidationLogger.Warn($"Attention: Error executing proc [{oPROCSQL}]")
|
||||
End If
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach PRPM_CHECK_NEXT_WF: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
End If
|
||||
|
||||
If CURRENT_JUMP_DOC_GUID <> 0 Then
|
||||
@@ -4898,12 +5116,19 @@ Public Class frmValidator
|
||||
Else
|
||||
'Das nächste Dokument laden
|
||||
Load_Next_Document(False)
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep nach Load_Next_Document: {(DateTime.Now - perfLastCheck).TotalMilliseconds}ms")
|
||||
perfLastCheck = DateTime.Now
|
||||
End If
|
||||
|
||||
Focus_FirstControl()
|
||||
|
||||
End If
|
||||
|
||||
btnSave.Enabled = True
|
||||
If LOG_HOTSPOTS Then
|
||||
MyValidationLogger.Info($"[PERF] Finish_WFStep GESAMT: {(DateTime.Now - perfStart).TotalMilliseconds}ms")
|
||||
End If
|
||||
End Sub
|
||||
Sub Focus_FirstControl()
|
||||
If first_control Is Nothing = False Then
|
||||
|
||||
Reference in New Issue
Block a user