Version 2.3.7.5, merge

Merge branch 'Bereinigung_LoadProfil'
This commit is contained in:
Jonathan Jenne 2022-06-27 12:41:41 +02:00
commit b48f709d5d
5 changed files with 275 additions and 320 deletions

View File

@ -4,32 +4,35 @@ Imports PdfSharp.Pdf.IO
Imports PdfSharp.Drawing Imports PdfSharp.Drawing
Public Class ClassAnnotation Public Class ClassAnnotation
Public Shared Function Annotate_PDF(title As String, content As String, page As Integer, fromGui As Boolean, Optional ycorrect As Integer = 0, Optional sizecorrect As Integer = 0) Public Shared Function Annotate_PDF(title As String, content As String, page As Integer, fromGui As Boolean, Optional ycorrect As Integer = 0, Optional sizecorrect As Integer = 0)
Try If CURRENT_DOC_PATH.Length > 0 Then
Dim doc As PdfDocument = PdfReader.Open(CURRENT_DOC_PATH, PdfDocumentOpenMode.Modify) Try
Dim firstPage As PdfPage = doc.Pages(page) Dim doc As PdfDocument = PdfReader.Open(CURRENT_DOC_PATH, PdfDocumentOpenMode.Modify)
Dim firstPage As PdfPage = doc.Pages(page)
Dim gfx As XGraphics = XGraphics.FromPdfPage(firstPage) Dim gfx As XGraphics = XGraphics.FromPdfPage(firstPage)
Dim rect As XRect = gfx.Transformer.WorldToDefaultPage(New XRect(New XPoint(30, 60 + ycorrect), New XSize(60 + sizecorrect, 40 + sizecorrect))) Dim rect As XRect = gfx.Transformer.WorldToDefaultPage(New XRect(New XPoint(30, 60 + ycorrect), New XSize(60 + sizecorrect, 40 + sizecorrect)))
Dim annot As PdfTextAnnotation = New PdfTextAnnotation Dim annot As PdfTextAnnotation = New PdfTextAnnotation
annot.Title = title annot.Title = title
'annot.Subject = txtsubject.Text 'annot.Subject = txtsubject.Text
annot.Contents = content annot.Contents = content
annot.Rectangle = New PdfRectangle(rect) annot.Rectangle = New PdfRectangle(rect)
firstPage.Annotations.Add(annot) firstPage.Annotations.Add(annot)
doc.Save(CURRENT_DOC_PATH) doc.Save(CURRENT_DOC_PATH)
Return True Return True
Catch ex As Exception Catch ex As Exception
If fromGui = True Then If fromGui = True Then
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Annotate pdf:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Annotate pdf:")
End If End If
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Unexpected error in Annotate pdf: " & ex.Message, False) LOGGER.Info("Unexpected error in Annotate pdf: " & ex.Message, False)
Return False Return False
End Try End Try
End If
End Function End Function
End Class End Class

View File

@ -13,7 +13,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyCompany("Digital Data")> <Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("TaskFlow")> <Assembly: AssemblyProduct("TaskFlow")>
<Assembly: AssemblyCopyright("Copyright © Digital Data 2022")> <Assembly: AssemblyCopyright("Copyright © Digital Data 2022")>
<Assembly: AssemblyTrademark("2374")> <Assembly: AssemblyTrademark("2.3.7.5")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.7.4")> <Assembly: AssemblyVersion("2.3.7.5")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -511,168 +511,96 @@
</data> </data>
<data name="NotifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="NotifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA AAABAAEAAAAAAAEAIADXFAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAFJ5J
AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD REFUeNrt3X1MVOeeB/Cv3CvZFJKOJEp3u10QxLCrgDLJjS6kAmlX+aNIXarhD66DjTW9GjJ9sb5Eb/Fq
3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v qvZ14mobbaoYkpKqUcQ0oxej2ODi3mTQYSQxsCqkNXsHNjrkOuyu/MH+MXO8IzLDvJxznnPO8/0kRgSd
uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD eY7J831+z3Oe58ysyclJmEFbgT0XQC6AivC3lN9tAEpEt4+k5AUQCH/dFfH7UP2gZ0h04+Ixy6gB0FZg
3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H X4JQJ1d+vSi6TUQJGEMoDLoAdNUPem6JbtB0DBUAbQX2WgDKL3Z4spIxAO0A2usHPe2iG6MQHgDhkd4J
5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN dnqShxIGLtGVgbAAaCuwOwA4AKwQ+R9AJNg1AC31g54WEW+uewCEO34zgBwRF0xkUMMAmvUOAt0CIDy/
9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ d4EdnyiWYQBOvdYJNA+A8O27FrDUJ0rENQAOrW8npmn54m0F9mYA98HOT5SoFQDuh/uQZjSpAMKjfju4
6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8 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 baPg47kAAAAASUVORK5CYII=
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
wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg
kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl
q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk
pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor
qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD
3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h
n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk
pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke
iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd
jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h
n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD
3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX
f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp
uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk
pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA=
</value> </value>
</data> </data>
<data name="NotifyIcon1.Text" xml:space="preserve"> <data name="NotifyIcon1.Text" xml:space="preserve">

View File

@ -17,6 +17,8 @@ Imports DevExpress.XtraBars.Ribbon
Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.ZooFlow
Public Class frmMain Public Class frmMain
Private Property FormHelper As FormHelper
Private UserLoggedin As Integer = 0 Private UserLoggedin As Integer = 0
Private CURR_DT_VWPM_PROFILE_ACTIVE As DataTable Private CURR_DT_VWPM_PROFILE_ACTIVE As DataTable
Private CURR_DT_OVERVIEW As DataTable Private CURR_DT_OVERVIEW As DataTable
@ -50,12 +52,16 @@ Public Class frmMain
Private DetailLinkActive As Boolean = False Private DetailLinkActive As Boolean = False
Private FRONTEND_ACTION As String = "NONE" Private FRONTEND_ACTION As String = "NONE"
Private Ev_Filter_Panel_Closed As Boolean = False Private Ev_Filter_Panel_Closed As Boolean = False
Dim omsgOpenWorkflow = "Bitte schliessen Sie den offenen Workflow!"
Dim omsgTitleWarning = "Achtung:"
Private Const FullFilepatColName = "FULL_FILE_PATH"
Private Const FA_NONE = "NONE"
Private Function GET_LAST_ADDED(pDatatable As DataTable) As String Private Function GET_LAST_ADDED(pDatatable As DataTable) As String
Dim oADDED As String Dim oADDED As String
Try Try
If IsNothing(pDatatable) Then If IsNothing(pDatatable) Then
oADDED = "NOTHING" oADDED = "NOTHING"
ElseIf LAST_ADDED_COLUMN = "NONE" Then ElseIf LAST_ADDED_COLUMN = FA_NONE Then
oADDED = Now.ToShortTimeString.ToString oADDED = Now.ToShortTimeString.ToString
Else Else
Dim result As Object Dim result As Object
@ -73,7 +79,7 @@ Public Class frmMain
Try Try
If IsNothing(pDatatable) Then If IsNothing(pDatatable) Then
oCHANGED = "NOTHING" oCHANGED = "NOTHING"
ElseIf LAST_EDITED_COLUMN = "NONE" Then ElseIf LAST_EDITED_COLUMN = FA_NONE Then
oCHANGED = Now.ToShortTimeString.ToString oCHANGED = Now.ToShortTimeString.ToString
Else Else
Dim result As Object Dim result As Object
@ -105,7 +111,6 @@ Public Class frmMain
My.Settings.frmMainSize = Me.Size My.Settings.frmMainSize = Me.Size
My.Settings.frmMainPosition = Me.Location My.Settings.frmMainPosition = Me.Location
My.Settings.Save() My.Settings.Save()
'SaveGridLayout()
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in Save FormLayout: " & ex.Message) LOGGER.Info("Error in Save FormLayout: " & ex.Message)
@ -159,6 +164,13 @@ Public Class frmMain
' Create helper to save/load expanded GroupColumns at runtime ' Create helper to save/load expanded GroupColumns at runtime
RefreshHelper = New RefreshHelper(LOGCONFIG, GridViewWFItems, "GUID") RefreshHelper = New RefreshHelper(LOGCONFIG, GridViewWFItems, "GUID")
If User.Language <> "de-DE" Then
omsgOpenWorkflow = "Please close the active workflow!"
omsgTitleWarning = "Warning:"
End If
Dim oVErsion = String.Format("{0}.{1}.{2}", My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build) Dim oVErsion = String.Format("{0}.{1}.{2}", My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build)
bsiVersion.Caption = oVErsion bsiVersion.Caption = oVErsion
If ERROR_STATE = "NO DB-CONNECTION" Or ERROR_STATE = "FAILED DBCONNECTION" Then If ERROR_STATE = "NO DB-CONNECTION" Or ERROR_STATE = "FAILED DBCONNECTION" Then
@ -530,8 +542,6 @@ Public Class frmMain
End Function End Function
Private Function GetXML_LayoutName() Private Function GetXML_LayoutName()
Dim Filename As String = String.Format("DevExpressGridViewOverview_UserLayout_{0}.xml", GRID_LOAD_TYPE) Dim Filename As String = String.Format("DevExpressGridViewOverview_UserLayout_{0}.xml", GRID_LOAD_TYPE)
Return System.IO.Path.Combine(CONFIG.UserConfigPath.Replace("UserConfig.xml", ""), Filename) Return System.IO.Path.Combine(CONFIG.UserConfigPath.Replace("UserConfig.xml", ""), Filename)
@ -590,7 +600,11 @@ Public Class frmMain
GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False
GridViewWFItems.Columns.Item("GUID").Visible = False GridViewWFItems.Columns.Item("GUID").Visible = False
Try Try
GridViewWFItems.Columns.Item("FULL_FILE_PATH").Visible = False GridViewWFItems.Columns.Item(FullFilepatColName).Visible = False
Catch ex As Exception
End Try
Try
'GridView_Docs.Columns.Item("DocID").Visible = False 'GridView_Docs.Columns.Item("DocID").Visible = False
GridViewWFItems.Columns.Item("TL_STATE").Visible = False GridViewWFItems.Columns.Item("TL_STATE").Visible = False
Catch ex As Exception Catch ex As Exception
@ -744,7 +758,7 @@ Public Class frmMain
Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs) Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
If Not Application.OpenForms().OfType(Of frmValidator).Any Then If Not Application.OpenForms().OfType(Of frmValidator).Any Then
Else Else
MsgBox("Please close the active workflow!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) FormHelper.ShowInfoMessage(omsgOpenWorkflow, omsgTitleWarning)
Exit Sub Exit Sub
End If End If
@ -762,9 +776,6 @@ Public Class frmMain
If Not Application.OpenForms().OfType(Of frmValidator).Any Then If Not Application.OpenForms().OfType(Of frmValidator).Any Then
CURRENT_CLICKED_PROFILE_ID = _tag CURRENT_CLICKED_PROFILE_ID = _tag
CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption
Else
MsgBox("Please close the active workflow!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
Exit Sub
End If End If
@ -791,13 +802,13 @@ Public Class frmMain
DetailLinkActive = False DetailLinkActive = False
OVERVIEW_ADDED_WHEN = "" OVERVIEW_ADDED_WHEN = ""
End If End If
Await Load_Grid_Overview(oForce) Await Load_Grid_Overview(False, True, True)
GridViewWFItems.HideLoadingPanel() GridViewWFItems.HideLoadingPanel()
TimerRefresh.Start() TimerRefresh.Start()
RefreshHelper.LoadViewInfo() RefreshHelper.LoadViewInfo()
If GridViewWFItems.GroupCount = 0 And IsNothing(GridViewWFItems.Columns("GROUP_TEXT")) Then If GridViewWFItems.GroupCount = 0 And IsNothing(GridViewWFItems.Columns("GROUP_TEXT")) Then
LOGGER.Info("NO GROUPS AFTER CLICK OVERVIEW...CREATING GROUPS NEW...") LOGGER.Info("NO GROUPS AFTER CLICK OVERVIEW...CREATING GROUPS NEW...")
Await Load_Grid_Overview(False, True) Await Load_Grid_Overview(False, True, True)
GridViewWFItems.HideLoadingPanel() GridViewWFItems.HideLoadingPanel()
TimerRefresh.Start() TimerRefresh.Start()
RefreshHelper.LoadViewInfo() RefreshHelper.LoadViewInfo()
@ -805,7 +816,7 @@ Public Class frmMain
End If End If
End If End If
FRONTEND_ACTION = "NONE" FRONTEND_ACTION = FA_NONE
End Sub End Sub
Function Load_Profiles_for_User() As Boolean Function Load_Profiles_for_User() As Boolean
Try Try
@ -824,7 +835,6 @@ Public Class frmMain
Sub GridControl_Docs_Visible() Sub GridControl_Docs_Visible()
Try Try
If GridControl_Docs.Visible = False Then If GridControl_Docs.Visible = False Then
GridControl_Docs.Visible = True GridControl_Docs.Visible = True
End If End If
Catch ex As Exception Catch ex As Exception
@ -898,7 +908,7 @@ Public Class frmMain
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Load_single_Profile - Error: " & ex.Message) LOGGER.Info("Load_single_Profile - Error: " & ex.Message)
End Try End Try
FRONTEND_ACTION = "NONE" FRONTEND_ACTION = FA_NONE
End Function End Function
Sub Create_Basic_View() Sub Create_Basic_View()
Try Try
@ -986,7 +996,10 @@ Public Class frmMain
GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False
GridViewWFItems.Columns.Item("GUID").Visible = False GridViewWFItems.Columns.Item("GUID").Visible = False
Try Try
GridViewWFItems.Columns.Item("FULL_FILE_PATH").Visible = False GridViewWFItems.Columns.Item(FullFilepatColName).Visible = False
Catch ex As Exception
End Try
Try
'GridView_Docs.Columns.Item("DocID").Visible = False 'GridView_Docs.Columns.Item("DocID").Visible = False
GridViewWFItems.Columns.Item("TL_STATE").Visible = False GridViewWFItems.Columns.Item("TL_STATE").Visible = False
Catch ex As Exception Catch ex As Exception
@ -1017,7 +1030,7 @@ Public Class frmMain
Catch ex As Exception Catch ex As Exception
LOGGER.Info("Create_Basic_View2 - Column CONVERSATION obviously is not part of GridView_Docs - Trying to Rest Layout") LOGGER.Info("Create_Basic_View2 - Column CONVERSATION obviously is not part of GridView_Docs - Trying to Rest Layout")
ResetLayout() ResetLayout()
FRONTEND_ACTION = "NONE" FRONTEND_ACTION = FA_NONE
Exit Sub Exit Sub
End Try End Try
End If End If
@ -1044,13 +1057,16 @@ Public Class frmMain
GridViewWFItems.Columns.Item("GROUP_TEXT").Visible = False GridViewWFItems.Columns.Item("GROUP_TEXT").Visible = False
GridViewWFItems.Columns.Item("GROUP_COLOR").Visible = False GridViewWFItems.Columns.Item("GROUP_COLOR").Visible = False
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) If OverviewOrDEtail = "OVERVIEW" Then
LOGGER.Warn("ATTENTION: GROUP COLUMNS NOT PART OF GRID")
End If
End Try End Try
LOGGER.Debug("All columns in CreateBasicView created") LOGGER.Debug("All columns in CreateBasicView created")
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
FRONTEND_ACTION = "NONE" FRONTEND_ACTION = FA_NONE
End Sub End Sub
@ -1068,7 +1084,7 @@ Public Class frmMain
If oViewColumn.Caption = oGridDXFieldName Then If oViewColumn.Caption = oGridDXFieldName Then
If oActGridColumn.Visible = False Then If oActGridColumn.Visible = False Then
If oViewColumn.Caption <> "GUID" And oViewColumn.Caption <> "TL_STATE" And oViewColumn.Caption <> "PROFILE_ID" And oViewColumn.Caption <> "DocID" And If oViewColumn.Caption <> "GUID" And oViewColumn.Caption <> "TL_STATE" And oViewColumn.Caption <> "PROFILE_ID" And oViewColumn.Caption <> "DocID" And
oViewColumn.Caption <> "FULL_FILE_PATH" And oViewColumn.Caption <> "GROUP_COLOR" And oViewColumn.Caption <> "GROUP_TEXT" And oViewColumn.Caption <> "CONV_YN" Then oViewColumn.Caption <> "GROUP_COLOR" And oViewColumn.Caption <> "GROUP_TEXT" And oViewColumn.Caption <> "CONV_YN" Then
Console.WriteLine($"ViewColumn [{oViewColumn.Caption}] is invisible") Console.WriteLine($"ViewColumn [{oViewColumn.Caption}] is invisible")
Else Else
oViewColumn_exists = True oViewColumn_exists = True
@ -1079,8 +1095,10 @@ Public Class frmMain
End If End If
Next Next
If oViewColumn_exists = False Then If oViewColumn_exists = False Then
LOGGER.Info($"Following ViewColumn no longer exists in the view: [{oViewColumn.Caption}]") If oViewColumn.Caption = FullFilepatColName And IDB_ACTIVE = False Then
Return True LOGGER.Info($"Following ViewColumn no longer exists in the view: [{oViewColumn.Caption}]")
Return True
End If
End If End If
Next Next
For Each oActGridColumn As GridColumn In GridViewWFItems.Columns For Each oActGridColumn As GridColumn In GridViewWFItems.Columns
@ -1177,7 +1195,6 @@ Public Class frmMain
End If End If
Try Try
' SaveGridLayout()
'bwSync.ReportProgress(10) 'bwSync.ReportProgress(10)
LoadNavBar() LoadNavBar()
'bwSync.ReportProgress(60) 'bwSync.ReportProgress(60)
@ -1222,14 +1239,14 @@ Public Class frmMain
GridViewWFItems.ShowLoadingPanel() GridViewWFItems.ShowLoadingPanel()
TimerRefresh.Stop() TimerRefresh.Stop()
FRONTEND_ACTION = "DECIDE_LOAD"
If GRID_LOAD_TYPE = "OVERVIEW" Then If GRID_LOAD_TYPE = "OVERVIEW" Then
Await Load_Grid_Overview(pIsFormLoad, ForceReload) Await Load_Grid_Overview(pIsFormLoad, ForceReload, False)
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
Await Load_single_Profile(ForceReload) Await Load_single_Profile(ForceReload)
End If End If
FRONTEND_ACTION = FA_NONE
GridViewWFItems.HideLoadingPanel() GridViewWFItems.HideLoadingPanel()
TimerRefresh.Start() TimerRefresh.Start()
@ -1290,6 +1307,7 @@ Public Class frmMain
End Try End Try
Try Try
InitializeComponent() InitializeComponent()
FormHelper = New FormHelper(LOGCONFIG, Me)
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@ -1402,7 +1420,7 @@ Public Class frmMain
' th.Start() ' th.Start()
Else Else
LOGGER.Debug("Validator is already open...") LOGGER.Debug("Validator is already open...")
MsgBox(omsg, MsgBoxStyle.Exclamation, omsgTitle) FormHelper.ShowInfoMessage(omsg, omsgTitleWarning)
End If End If
@ -1600,15 +1618,14 @@ Public Class frmMain
Try Try
oFocusedDocGUID = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("GUID")) oFocusedDocGUID = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("GUID"))
Catch ex As Exception Catch ex As Exception
MsgBox("Could not get DocGUID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical) FormHelper.ShowInfoMessage("Could not get DocGUID. Inform Your admin-team: Check Your View-Config", omsgTitleWarning)
End Try End Try
Dim oFocusedDocID Dim oFocusedDocID
Try Try
oFocusedDocID = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("DocID")) oFocusedDocID = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("DocID"))
Catch ex As Exception Catch ex As Exception
MsgBox("Could not get DocID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical) FormHelper.ShowInfoMessage("Could not get DocID. Inform Your admin-team: Check Your View-Config", omsgTitleWarning)
End Try End Try
If IsNothing(oFocusedDocID) Then If IsNothing(oFocusedDocID) Then
@ -1624,13 +1641,17 @@ Public Class frmMain
Exit Sub Exit Sub
End If End If
LOGGER.Debug($"Item_Scope: GotDocID {oFocusedDocID} and DocGUID {oFocusedDocGUID}") LOGGER.Debug($"Item_Scope: GotDocID {oFocusedDocID} and DocGUID {oFocusedDocGUID}")
Dim DOC_PATH = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("FULL_FILE_PATH")) If Not IsNothing(GridViewWFItems.Columns(FullFilepatColName)) Then
If IsNothing(DOC_PATH) Then Dim DOC_PATH = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns(FullFilepatColName))
LOGGER.Warn("In hitInfo.InDataRow: DOC_PATH is nothing!!!") If IsNothing(DOC_PATH) Then
Exit Sub LOGGER.Warn("In hitInfo.InDataRow: FULL_FILE_PATH is nothing!!!")
Exit Sub
End If
DOC_PATH = DOC_PATH.Replace("W:\", "\\windream\objects\")
DOC_PATH = DOC_PATH.Replace("K:\", "\\windream\objects\")
' CURRENT_DOC_PATH = DOC_PATH
End If End If
DOC_PATH = DOC_PATH.Replace("W:\", "\\windream\objects\")
DOC_PATH = DOC_PATH.Replace("K:\", "\\windream\objects\")
'Checking if table really contains one record with profile-id and docid 'Checking if table really contains one record with profile-id and docid
oExpression = oExpression & " AND DocID = " & oFocusedDocID oExpression = oExpression & " AND DocID = " & oFocusedDocID
'Dim TEMP_TABLE = CURR_DT_OVERVIEW 'Dim TEMP_TABLE = CURR_DT_OVERVIEW
@ -1644,7 +1665,7 @@ Public Class frmMain
CURRENT_DOC_ID = oFocusedDocID CURRENT_DOC_ID = oFocusedDocID
CURRENT_JUMP_DOC_GUID = oFocusedDocGUID CURRENT_JUMP_DOC_GUID = oFocusedDocGUID
CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID
CURRENT_DOC_PATH = DOC_PATH
Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})" Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})"
Dim oResult = DatabaseFallback.GetScalarValueECM(oSQL) Dim oResult = DatabaseFallback.GetScalarValueECM(oSQL)
Try Try
@ -1657,7 +1678,8 @@ Public Class frmMain
omsg = "Attention: the item You chose is rather in work or locked from another user!" omsg = "Attention: the item You chose is rather in work or locked from another user!"
otitle = "Attention:" otitle = "Attention:"
End If End If
MsgBox(omsg, MsgBoxStyle.Exclamation, otitle) FormHelper.ShowInfoMessage(omsg, omsgTitleWarning)
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ") LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ")
@ -1670,8 +1692,7 @@ Public Class frmMain
End If End If
Else Else
MsgBox("Could not get the ProfileID of file! - Check Your configuration of MainView!", MsgBoxStyle.Critical, ADDITIONAL_TITLE) FormHelper.ShowInfoMessage("Could not get the ProfileID of file! - Check Your configuration of MainView!", omsgTitleWarning)
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@ -1747,12 +1768,13 @@ Public Class frmMain
Dim sd = GridViewWFItems.GroupedColumns(index).GetTextCaption Dim sd = GridViewWFItems.GroupedColumns(index).GetTextCaption
GridViewWFItems.GroupedColumns(index).Tag = GridViewWFItems.Columns.Item("PROFILE_ID") GridViewWFItems.GroupedColumns(index).Tag = GridViewWFItems.Columns.Item("PROFILE_ID")
Next Next
GridViewWFItems.CollapseAllGroups()
LOGGER.Debug("finished Grouping!") LOGGER.Debug("finished Grouping!")
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
End Sub End Sub
Async Function Load_Grid_Overview(FormLoad As Boolean, Optional ForceReload As Boolean = False) As Tasks.Task 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 oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
GridControl_Docs_Visible() GridControl_Docs_Visible()
GRID_LOAD_TYPE = "OVERVIEW" GRID_LOAD_TYPE = "OVERVIEW"
@ -1779,16 +1801,16 @@ Public Class frmMain
Dim oStopWatch2 As New RefreshHelper.SW("LGO#build CURR_DT_OVERVIEW") Dim oStopWatch2 As New RefreshHelper.SW("LGO#build CURR_DT_OVERVIEW")
Dim oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW") Dim oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
If IsDBNull(oSQLOverview) Then If IsDBNull(oSQLOverview) Then
bsiMessage.Caption = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig" bsiMessage.Caption = "No SQL_PROFILE_MAIN_VIEW in Baseconfig"
oStopWatch.Done() oStopWatch.Done()
oStopWatch2.Done() oStopWatch2.Done()
Exit Function Exit Function
End If End If
If oSQLOverview.ToString.Contains("GROUP_TEXT") = False Then If oSQLOverview.ToString.Contains("GROUP_TEXT") = False Then
MsgBox("Incomplete Overview-Source (No Group-Columns). Please reload manually!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) LOGGER.Info($"SQL SO FAR: {oSQLOverview} ")
NO_WORKFLOWITEMS = True FormHelper.ShowInfoMessage("Incomplete Overview-Source (No Group-Columns). Please reload manually!", omsgTitleWarning)
'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information) NO_WORKFLOWITEMS = True
GridControl_Docs.Visible = False GridControl_Docs.Visible = False
bindsourcegrid.DataSource = Nothing bindsourcegrid.DataSource = Nothing
GridControl_Docs.DataSource = Nothing GridControl_Docs.DataSource = Nothing
@ -1823,21 +1845,21 @@ Public Class frmMain
Dim oADDED = GET_LAST_ADDED(CURR_DT_OVERVIEW) Dim oADDED = GET_LAST_ADDED(CURR_DT_OVERVIEW)
Dim oChanged = GET_LAST_CHANGED(CURR_DT_OVERVIEW) Dim oChanged = GET_LAST_CHANGED(CURR_DT_OVERVIEW)
Dim oCOUNT = CURR_DT_OVERVIEW.Rows.Count Dim oCOUNT = CURR_DT_OVERVIEW.Rows.Count
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then If pForceReload = False Then
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then
If ForceReload = False Then If pForceReload = False Then
LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview") LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview")
Exit Function 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
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
Create_View_Caption()
NO_WORKFLOWITEMS = False NO_WORKFLOWITEMS = False
If CURR_DT_OVERVIEW.Rows.Count = 0 Then If CURR_DT_OVERVIEW.Rows.Count = 0 Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
@ -1845,11 +1867,7 @@ Public Class frmMain
Else Else
GridViewWFItems.ViewCaption = "No workflowdata!" GridViewWFItems.ViewCaption = "No workflowdata!"
End If End If
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information)
GridControl_Docs.Visible = False GridControl_Docs.Visible = False
bindsourcegrid.DataSource = Nothing bindsourcegrid.DataSource = Nothing
GridControl_Docs.DataSource = Nothing GridControl_Docs.DataSource = Nothing
@ -1857,9 +1875,7 @@ Public Class frmMain
GridViewWFItems.Columns.Clear() GridViewWFItems.Columns.Clear()
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
Exit Function Exit Function
End If End If
@ -1873,9 +1889,6 @@ Public Class frmMain
columnStateIcon.Caption = "" columnStateIcon.Caption = ""
CURR_DT_OVERVIEW.Columns.Add(columnStateIcon) CURR_DT_OVERVIEW.Columns.Add(columnStateIcon)
End If End If
RedDocuments = 0 RedDocuments = 0
YellowDocuments = 0 YellowDocuments = 0
GreenDocuments = 0 GreenDocuments = 0
@ -1927,47 +1940,44 @@ Public Class frmMain
bindsourcegrid.DataSource = CURR_DT_OVERVIEW bindsourcegrid.DataSource = CURR_DT_OVERVIEW
GridControl_Docs.DataSource = bindsourcegrid GridControl_Docs.DataSource = bindsourcegrid
'Dim objectCount_Descr = GridViewWFItems.RowCount.ToString
'If USER_LANGUAGE = "de-DE" Then
' GridViewWFItems.ViewCaption = "Gesamtübersicht"
' objectCount_Descr &= " Vorgänge"
'Else
' GridViewWFItems.ViewCaption = "Overview"
' objectCount_Descr &= " objects"
'End If
Create_View_Caption() Create_View_Caption()
' tslblObjectCount.Text = objectCount_Descr
'tslblObjectCount.ForeColor = Color.DarkBlue
Dim oColNotPartofLayout As Boolean Dim oColNotPartofLayout As Boolean
oColNotPartofLayout = False oColNotPartofLayout = False
'GridControlDocRow.ForceInitialize() 'GridControlDocRow.ForceInitialize()
' GridControl1.DataSource = CURR_DT_PROFILEGRID ' GridControl1.DataSource = CURR_DT_PROFILEGRID
If FormLoad = True Then If pFormLoad = True Then
If IDB_ACTIVE = True Then If IDB_ACTIVE = True Then
oColNotPartofLayout = Column_inGridViewLayout("CONV_YN") oColNotPartofLayout = Column_inGridViewLayout("CONV_YN")
End If End If
End If End If
If FORCE_LAYOUT_OVERVIEW = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then If pNavbarClick = False Then
ResetLayout() If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
SaveGridLayout() ResetLayout()
Else SaveGridLayout()
If oColNotPartofLayout = False Then Else
RestoreLayout() If oColNotPartofLayout = False Then
RestoreLayout()
End If
End If End If
Else
RestoreLayout()
End If End If
Try Try
Create_Groups() Create_Groups()
GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False
GridViewWFItems.Columns.Item("GUID").Visible = False GridViewWFItems.Columns.Item("GUID").Visible = False
Try Try
GridViewWFItems.Columns.Item("FULL_FILE_PATH").Visible = False GridViewWFItems.Columns.Item(FullFilepatColName).Visible = False
'GridView_Docs.Columns.Item("DocID").Visible = False 'GridView_Docs.Columns.Item("DocID").Visible = False
GridViewWFItems.Columns.Item("TL_STATE").Visible = False GridViewWFItems.Columns.Item("TL_STATE").Visible = False
Catch ex As Exception Catch ex As Exception
End Try End Try
GridViewWFItems.CollapseAllGroups()
If TL_ICON = True Then If TL_ICON = True Then
Try Try
@ -2022,10 +2032,9 @@ Public Class frmMain
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Unexpected Error in Formatting Grid: " & ex.Message) LOGGER.Info("Unexpected Error in Formatting Grid: " & ex.Message)
End Try End Try
'SaveGridLayout() If GridViewWFItems.Columns.Count <= 5 Then
If GridViewWFItems.Columns.Count <= 2 Then
LOGGER.Info("GridView_Docs.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False) LOGGER.Info("GridView_Docs.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
Await Reset_GridLayout(FormLoad) Await Reset_GridLayout(pFormLoad)
End If End If
Else Else
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
@ -2048,12 +2057,11 @@ Public Class frmMain
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message) LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
End Try End Try
End Function End Function
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
If CURRENT_CLICKED_PROFILE_ID <> 0 Then If CURRENT_CLICKED_PROFILE_ID <> 0 Then
Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID) Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID)
Else Else
MsgBox("Please choose a profile!", MsgBoxResult.Ok, ADDITIONAL_TITLE) FormHelper.ShowInfoMessage("Please choose a profile!", omsgTitleWarning)
End If End If
End Sub End Sub
@ -2066,7 +2074,7 @@ Public Class frmMain
SaveGridLayout() SaveGridLayout()
GridBuilder.WithFontSizeDelta(CONFIG.Config.GridFontSizeDelta) GridBuilder.WithFontSizeDelta(CONFIG.Config.GridFontSizeDelta)
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo() If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
FRONTEND_ACTION = "NONE" FRONTEND_ACTION = FA_NONE
End Sub End Sub
Async Function Reset_GridLayout(FormLoad As Boolean) As Tasks.Task Async Function Reset_GridLayout(FormLoad As Boolean) As Tasks.Task
@ -2077,7 +2085,6 @@ Public Class frmMain
InResetlayout = True InResetlayout = True
' Layout zurücksetzen ' Layout zurücksetzen
ResetLayout() ResetLayout()
'SaveGridLayout()
' Ansicht neu laden ' Ansicht neu laden
LoadNavBar() LoadNavBar()
@ -2213,10 +2220,10 @@ Public Class frmMain
End Sub End Sub
Private Sub GridView_Docs_ColumnWidthChanged(sender As Object, e As Views.Base.ColumnEventArgs) Handles GridViewWFItems.ColumnWidthChanged Private Sub GridView_Docs_ColumnWidthChanged(sender As Object, e As Views.Base.ColumnEventArgs) Handles GridViewWFItems.ColumnWidthChanged
GridLayout_Changed() GridLayout_Changed("ColumnWidthChanged")
End Sub End Sub
Private Sub GridView_Docs_EndSorting(sender As Object, e As EventArgs) Handles GridViewWFItems.EndSorting Private Sub GridView_Docs_EndSorting(sender As Object, e As EventArgs) Handles GridViewWFItems.EndSorting
GridLayout_Changed() GridLayout_Changed("EndSorting")
End Sub End Sub
Private Sub GridView_Docs_LostFocus(sender As Object, e As EventArgs) Handles GridViewWFItems.LostFocus Private Sub GridView_Docs_LostFocus(sender As Object, e As EventArgs) Handles GridViewWFItems.LostFocus
@ -2338,7 +2345,7 @@ Public Class frmMain
End Sub End Sub
Sub DebuglogBackgroundthread() Sub DebuglogBackgroundthread()
Dim oSQL As String = "None" Dim oSQL As String = FA_NONE
Try Try
For Each oSLogstring As String In LOGCONFIG.Logs For Each oSLogstring As String In LOGCONFIG.Logs
Dim oLogSplit As String() = oSLogstring.Split("|") Dim oLogSplit As String() = oSLogstring.Split("|")
@ -2431,14 +2438,17 @@ Public Class frmMain
Private Async Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick Private Async Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick
Timer_Inactivity_Reset_Disable("OverviewRefreshClick") If Application.OpenForms().OfType(Of frmValidator).Any Then
If GridControl_Docs.Visible = True And FormOpenClose = False Then FormHelper.ShowInfoMessage(omsgOpenWorkflow, omsgTitleWarning)
RefreshHelper.SaveViewInfo() Exit Sub
SaveGridLayout()
End If End If
Timer_Inactivity_Reset_Disable("OverviewRefreshClick")
LoadNavBar() 'If GridControl_Docs.Visible = True And FormOpenClose = False Then
' RefreshHelper.SaveViewInfo()
' SaveGridLayout()
'End If
Await Decide_Load(False, True) Await Decide_Load(False, True)
LoadNavBar()
If GridControl_Docs.Visible = True And FormOpenClose = False Then If GridControl_Docs.Visible = True And FormOpenClose = False Then
RefreshHelper.LoadViewInfo() RefreshHelper.LoadViewInfo()
End If End If
@ -2648,8 +2658,7 @@ Public Class frmMain
If GridViewWFItems.ActiveFilterEnabled Then If GridViewWFItems.ActiveFilterEnabled Then
End If End If
GridLayout_Changed("ColumnFilterChanged")
SaveGridLayout()
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex.Message) LOGGER.Error(ex.Message)
End Try End Try
@ -2758,7 +2767,7 @@ Public Class frmMain
MyProcess.Start() MyProcess.Start()
Else Else
LOGGER.Warn($"Clipboardwatcher-Exe not found [{bbtniCW.Tag}]") LOGGER.Warn($"Clipboardwatcher-Exe not found [{bbtniCW.Tag}]")
MsgBox("Clipboard Watcher could not be started!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE) FormHelper.ShowInfoMessage("Clipboard Watcher could not be started!", omsgTitleWarning)
End If End If
Catch ex As Exception Catch ex As Exception
@ -2767,13 +2776,13 @@ Public Class frmMain
End Sub End Sub
Private Sub GridView_Docs_ColumnPositionChanged(sender As Object, e As EventArgs) Handles GridViewWFItems.ColumnPositionChanged Private Sub GridView_Docs_ColumnPositionChanged(sender As Object, e As EventArgs) Handles GridViewWFItems.ColumnPositionChanged
GridLayout_Changed() GridLayout_Changed("ColumnPositionChanged")
End Sub End Sub
Private Sub GridLayout_Changed() Private Sub GridLayout_Changed(oEvent As String)
If FormShown = False Then If FormShown = False Or Ev_Filter_Panel_Closed Then
Exit Sub Exit Sub
End If End If
If FRONTEND_ACTION <> "NONE" Then If FRONTEND_ACTION <> FA_NONE Then
Exit Sub Exit Sub
End If End If
SaveGridLayout() SaveGridLayout()
@ -2781,7 +2790,7 @@ Public Class frmMain
Private Sub GridView_Docs_EndGrouping(sender As Object, e As EventArgs) Handles GridViewWFItems.EndGrouping Private Sub GridView_Docs_EndGrouping(sender As Object, e As EventArgs) Handles GridViewWFItems.EndGrouping
GridLayout_Changed() GridLayout_Changed("EndGrouping")
End Sub End Sub
Private Sub bsilastsync_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bsilastsync.ItemClick Private Sub bsilastsync_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bsilastsync.ItemClick
@ -2815,8 +2824,8 @@ Public Class frmMain
End Sub End Sub
Sub Grid_Layout_Save() Sub Grid_Layout_Save()
FRONTEND_ACTION = "SAVE GRID LAYOUT" FRONTEND_ACTION = "SAVE GRID LAYOUT"
GridLayout_Changed() GridLayout_Changed("Grid_Layout_Save")
FRONTEND_ACTION = "NONE" FRONTEND_ACTION = FA_NONE
End Sub End Sub
Private Sub BarButtonItem3_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick Private Sub BarButtonItem3_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
@ -2868,19 +2877,19 @@ Public Class frmMain
Dim oProfileId = 0 Dim oProfileId = 0
If oSelectedRows.Count = 0 Then If oSelectedRows.Count = 0 Then
If USER_LANGUAGE = "de-DE" Then Dim omsg = "Bitte selektieren Sie einige 1 oder mehr Dokumente"
MsgBox("Bitte selektieren Sie einige 1 oder mehr Dokumente", MsgBoxStyle.Exclamation, "Massenabschluss") If USER_LANGUAGE <> "de-DE" Then
Else
MsgBox("Please select some documents!", MsgBoxStyle.Exclamation, "Mass Validation")
End If
omsg = "Please select some documents!"
End If
FormHelper.ShowInfoMessage(omsg, omsgTitleWarning)
Exit Sub Exit Sub
End If End If
oProfileId = GridViewWFItems.GetRowCellValue(oSelectedRows.Last(), GridViewWFItems.Columns("PROFILE_ID")) oProfileId = GridViewWFItems.GetRowCellValue(oSelectedRows.Last(), GridViewWFItems.Columns("PROFILE_ID"))
If oProfileId = 0 Then If oProfileId = 0 Then
MsgBox("Could not select a profile!", MsgBoxStyle.Exclamation, "Mass Validation") FormHelper.ShowInfoMessage("Could not select a profile!", omsgTitleWarning)
Exit Sub Exit Sub
End If End If
@ -2924,11 +2933,11 @@ Public Class frmMain
End If End If
Dim R As DataRow = NewDatatable.NewRow Dim R As DataRow = NewDatatable.NewRow
CURRENT_DOC_ID = oDocID CURRENT_DOC_ID = oDocID
Dim DOC_PATH = GridViewWFItems.GetRowCellValue(oRowHandle, "FULL_FILE_PATH") Dim DOC_PATH = GridViewWFItems.GetRowCellValue(oRowHandle, FullFilepatColName)
CURRENT_DOC_PATH = DOC_PATH ' CURRENT_DOC_PATH = DOC_PATH
CURRENT_DOC_GUID = GridViewWFItems.GetRowCellValue(oRowHandle, "GUID") CURRENT_DOC_GUID = GridViewWFItems.GetRowCellValue(oRowHandle, "GUID")
R("DocID") = CURRENT_DOC_ID R("DocID") = CURRENT_DOC_ID
R("FULL_PATH") = CURRENT_DOC_PATH R("FULL_PATH") = DOC_PATH
R("DOC_GUID") = GridViewWFItems.GetRowCellValue(oRowHandle, "GUID") R("DOC_GUID") = GridViewWFItems.GetRowCellValue(oRowHandle, "GUID")
NewDatatable.Rows.Add(R) NewDatatable.Rows.Add(R)
Next Next
@ -3007,6 +3016,6 @@ Public Class frmMain
End Sub End Sub
Private Sub GridViewWFItems_SubstituteFilter(sender As Object, e As DevExpress.Data.SubstituteFilterEventArgs) Handles GridViewWFItems.SubstituteFilter Private Sub GridViewWFItems_SubstituteFilter(sender As Object, e As DevExpress.Data.SubstituteFilterEventArgs) Handles GridViewWFItems.SubstituteFilter
GridLayout_Changed("GridViewWFItems_SubstituteFilter")
End Sub End Sub
End Class End Class

View File

@ -511,8 +511,8 @@ Public Class frmValidator
End Try End Try
End Sub End Sub
Sub Reset_CurrentReferences() Sub Reset_CurrentReferences()
CURRENT_DOC_ID = 0 LOGGER.Info("Attention: Reset_CurrentReferences....")
CURRENT_DOC_GUID = 0
If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
DT_AdditionalSearches_Resultset_Docs.Clear() DT_AdditionalSearches_Resultset_Docs.Clear()
End If End If
@ -2342,28 +2342,40 @@ Public Class frmValidator
Try Try
LOGGER.Debug("Get_Next_GUID...") LOGGER.Debug("Get_Next_GUID...")
Dim oNewGUID As Integer Dim oNewGUID As Integer
LOGGER.Debug("Old Document_Path: " & OLD_Document_Path)
Dim oBIT As Integer = 0 Dim oBIT As Integer = 0
If PROFIL_sortbynewest = True Then If PROFIL_sortbynewest = True Then
oBIT = 1 oBIT = 1
End If End If
Dim oSQL = $"EXEC PRPM_GET_NEXT_DOC_INFO {CURRENT_ProfilGUID},{CURRENT_DOC_ID},{USER_ID}" Dim oSQL = $"EXEC PRPM_GET_NEXT_DOC_INFO {CURRENT_ProfilGUID},{CURRENT_DOC_ID},{USER_ID}"
'Dim oSQL = $"SELECT * from [dbo].[FNPM_GET_NEXT_DOC_INFO] ({CURRENT_ProfilGUID},{oBIT},{CURRENT_DOC_GUID},'{USER_USERNAME}')"
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL) Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
CURRENT_DOC_ID = 0
CURRENT_DOC_GUID = 0
If oDT.Rows.Count > 0 Then If oDT.Rows.Count > 0 Then
oNewGUID = oDT.Rows(0).Item(0) Try
CURRENT_DOC_ID = oDT.Rows(0).Item(1) oNewGUID = oDT.Rows(0).Item(0)
Catch ex As Exception
LOGGER.Warn($">> Attention: in GetNextGUID - Could not get the next GUID - SQL [{oSQL}]")
LOGGER.Warn($"ERRORMESSAGE [{ex.Message}]")
End Try
Try
CURRENT_DOC_ID = oDT.Rows(0).Item(1)
LOGGER.Debug($"Get_Next_GUID: CURRENT_DOC_ID [{CURRENT_DOC_ID}]...")
Catch ex As Exception
LOGGER.Warn($">> Attention: in GetNextGUID - Could not get the next DocID - SQL [{oSQL}]")
LOGGER.Warn($"ERRORMESSAGE [{ex.Message}]")
End Try
Try Try
Amount_Docs2Validate = oDT.Rows(0).Item(2) Amount_Docs2Validate = oDT.Rows(0).Item(2)
LOGGER.Debug($"Get_Next_GUID: Amount_Docs2Validate [{Amount_Docs2Validate}]...")
Catch ex As Exception Catch ex As Exception
Amount_Docs2Validate = 0 Amount_Docs2Validate = 0
LOGGER.Warn("Amount_Docs2Validate Error: " & ex.Message) LOGGER.Warn("Amount_Docs2Validate Error: " & ex.Message)
End Try End Try
Else Else
LOGGER.Info(" >> Attention: in GetNextGUID - Could not get a GUID(1)") LOGGER.Info($">> Attention: GetNextGUID - Could not get the next GUID - SQL [{oSQL}]")
oNewGUID = 0 oNewGUID = 0
Return oNewGUID Return oNewGUID
End If End If
@ -2550,7 +2562,12 @@ Public Class frmValidator
If USER_LANGUAGE <> "de-DE" Then If USER_LANGUAGE <> "de-DE" Then
omsg = $"Remaining documents: {omsg}" omsg = $"Remaining documents: {omsg}"
End If End If
bsiInformation.Caption = omsg If Amount_Docs2Validate > 0 Then
bsiInformation.Caption = omsg
Else
bsiInformation.Caption = "Could not get the amount of remaining docs!"
End If
bsiDocID.Caption = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID bsiDocID.Caption = "Document-ID: " & CURRENT_DOC_ID & " - GUID: " & CURRENT_DOC_GUID
LOGGER.Debug("AllDocInfo created...") LOGGER.Debug("AllDocInfo created...")
@ -5531,13 +5548,11 @@ Public Class frmValidator
End Sub End Sub
Sub Datei_ueberspringen() Sub Datei_ueberspringen()
Try Try
LOGGER.Debug("Dokument überspringen") LOGGER.Debug("Skipping document....(Datei_ueberspringen)")
'Das Dokument freigeben 'Das Dokument freigeben
Free_File() Free_File()
Dim oSQL = $"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID}" Dim oSQL = $"EXECUTE PRPM_FILES_NOT_INDEXED '{USER_USERNAME}',{CURRENT_ProfilGUID},'{WMDocPathWindows}',{CURRENT_DOC_GUID}"
DatabaseFallback.ExecuteNonQueryECM(oSQL) DatabaseFallback.ExecuteNonQueryECM(oSQL)
LOGGER.Debug($"Skipped DocGUID {CURRENT_DOC_GUID}") LOGGER.Debug($"Skipped DocGUID {CURRENT_DOC_GUID}")
Load_Next_Document(False) Load_Next_Document(False)
Catch ex As Exception Catch ex As Exception