diff --git a/Controls.DocumentViewer/DocumentViewer.Designer.vb b/Controls.DocumentViewer/DocumentViewer.Designer.vb index 4673bd23..fb4430c3 100644 --- a/Controls.DocumentViewer/DocumentViewer.Designer.vb +++ b/Controls.DocumentViewer/DocumentViewer.Designer.vb @@ -94,7 +94,7 @@ Partial Class DocumentViewer Me.GdViewer.HQAnnotationRendering = True Me.GdViewer.IgnoreDocumentResolution = False Me.GdViewer.KeepDocumentPosition = False - Me.GdViewer.Location = New System.Drawing.Point(0, 33) + Me.GdViewer.Location = New System.Drawing.Point(0, 36) Me.GdViewer.LockViewer = False Me.GdViewer.MagnifierHeight = 90 Me.GdViewer.MagnifierWidth = 160 @@ -124,7 +124,7 @@ Partial Class DocumentViewer Me.GdViewer.ScrollLargeChange = CType(50, Short) Me.GdViewer.ScrollSmallChange = CType(1, Short) Me.GdViewer.SilentMode = True - Me.GdViewer.Size = New System.Drawing.Size(1015, 557) + Me.GdViewer.Size = New System.Drawing.Size(1015, 554) Me.GdViewer.TabIndex = 0 Me.GdViewer.ViewRotation = System.Drawing.RotateFlipType.RotateNoneFlipNone Me.GdViewer.Zoom = 1.0R @@ -307,7 +307,7 @@ Partial Class DocumentViewer Me.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top Me.barDockControlTop.Location = New System.Drawing.Point(0, 0) Me.barDockControlTop.Manager = Me.BarManager1 - Me.barDockControlTop.Size = New System.Drawing.Size(1015, 33) + Me.barDockControlTop.Size = New System.Drawing.Size(1015, 36) ' 'barDockControlBottom ' @@ -321,17 +321,17 @@ Partial Class DocumentViewer ' Me.barDockControlLeft.CausesValidation = False Me.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left - Me.barDockControlLeft.Location = New System.Drawing.Point(0, 33) + Me.barDockControlLeft.Location = New System.Drawing.Point(0, 36) Me.barDockControlLeft.Manager = Me.BarManager1 - Me.barDockControlLeft.Size = New System.Drawing.Size(0, 557) + Me.barDockControlLeft.Size = New System.Drawing.Size(0, 554) ' 'barDockControlRight ' Me.barDockControlRight.CausesValidation = False Me.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right - Me.barDockControlRight.Location = New System.Drawing.Point(1015, 33) + Me.barDockControlRight.Location = New System.Drawing.Point(1015, 36) Me.barDockControlRight.Manager = Me.BarManager1 - Me.barDockControlRight.Size = New System.Drawing.Size(0, 557) + Me.barDockControlRight.Size = New System.Drawing.Size(0, 554) ' 'BarStaticItem1 ' diff --git a/Controls.DocumentViewer/DocumentViewer.resx b/Controls.DocumentViewer/DocumentViewer.resx index 02811115..e3915f17 100644 --- a/Controls.DocumentViewer/DocumentViewer.resx +++ b/Controls.DocumentViewer/DocumentViewer.resx @@ -309,58 +309,53 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALcBAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTmV4dCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg - MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KPC9zdHls - ZT4NCiAgPHBhdGggZD0iTTguOSw0LjFDOC40LDMuOCw4LDQuMSw4LDQuNnYyMC43YzAsMC42LDAuNCww - LjgsMC45LDAuNWwxNi44LTEwLjNjMC41LTAuMywwLjUtMC44LDAtMS4xTDguOSw0LjF6IiBjbGFzcz0i - Qmx1ZSIgLz4NCjwvc3ZnPgs= + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP0AAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTMuMzMzMywyMGwxMy4zMzM0LTkuOTk5M0wzLjMzMzMsMFoiIGNsYXNzPSJjbHMtMSIg + Lz4NCjwvc3ZnPgs= AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJkCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxz - dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBp - ZD0iTGF5ZXJfMSI+DQogICAgPHBhdGggZD0iTTIzLjcsMTQuNGMwLjUsMC4zLDAuNSwwLjgsMCwxLjFs - LTExLjgsNy4zdjIuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVsMTYuOC0xMC40YzAuNS0wLjMsMC41LTAu - OCwwLTEuMSAgIEwxMi44LDQuMWMtMC41LTAuMy0wLjktMC4xLTAuOSwwLjV2Mi42TDIzLjcsMTQuNHoi - IGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0xOS43LDE1LjVjMC41LTAuMywwLjUtMC44LDAt - MS4xTDIuOSw0LjFDMi40LDMuOCwyLDQsMiw0LjZ2MjAuNmMwLDAuNiwwLjQsMC44LDAuOSwwLjVMMTku - NywxNS41eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPGcgaWQ9IkxheWVyXzIiIC8+DQo8L3N2 - Zz4L + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM4BAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTAsMjBsMTMuMzMzMy05Ljk5OTNMMCwwWiIgY2xhc3M9ImNscy0xIiAvPg0KICA8cGF0 + aCBkPSJNNi42NjY3LDE1VjVsNi42NjY2LDVaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxwb2x5Z29uIHBv + aW50cz0iNy4zNyAxNi40MDUgMTQuMDM3IDExLjQwNSAxNS45MDkgMTAuMDAxIDE0LjAzNyA4LjU5NiA3 + LjM3IDMuNTk2IDYuNjY3IDMuMDY4IDYuNjY3IDAgMjAgMTAuMDAxIDYuNjY3IDIwIDYuNjY3IDE2Ljkz + MiA3LjM3IDE2LjQwNSIgY2xhc3M9ImNscy0xIiAvPg0KPC9zdmc+Cw== AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4DAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku - WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz - OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh - Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl - Pg0KICA8ZyBpZD0iUHJvcGVydGllcyI+DQogICAgPHBhdGggZD0iTTMwLDE4di00bC00LjQtMC43Yy0w - LjItMC44LTAuNS0xLjUtMC45LTIuMWwyLjYtMy42bC0yLjgtMi44bC0zLjYsMi42Yy0wLjctMC40LTEu - NC0wLjctMi4xLTAuOUwxOCwyaC00ICAgbC0wLjcsNC40Yy0wLjgsMC4yLTEuNSwwLjUtMi4xLDAuOUw3 - LjUsNC43TDQuNyw3LjVsMi42LDMuNmMtMC40LDAuNy0wLjcsMS40LTAuOSwyLjFMMiwxNHY0bDQuNCww - LjdjMC4yLDAuOCwwLjUsMS41LDAuOSwyLjEgICBsLTIuNiwzLjZsMi44LDIuOGwzLjYtMi42YzAuNyww - LjQsMS40LDAuNywyLjEsMC45TDE0LDMwaDRsMC43LTQuNGMwLjgtMC4yLDEuNS0wLjUsMi4xLTAuOWwz - LjYsMi42bDIuOC0yLjhsLTIuNi0zLjYgICBjMC40LTAuNywwLjctMS40LDAuOS0yLjFMMzAsMTh6IE0x - NiwyMGMtMi4yLDAtNC0xLjgtNC00YzAtMi4yLDEuOC00LDQtNHM0LDEuOCw0LDRDMjAsMTguMiwxOC4y - LDIwLDE2LDIweiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGQEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTE5LjY5NDEsMTAuOTM3M0E3Ljc5NjcsNy43OTY3LDAsMCwwLDE5Ljc0MzUsMTBhNy43 + OTczLDcuNzk3MywwLDAsMC0uMDQ5NC0uOTM3NEwxNi44NDUyLDguMDM5YTcuMDYsNy4wNiwwLDAsMC0u + NjI5MS0xLjUwNDhsMS4yOTUxLTIuNzI1NmE4Ljk4OTMsOC45ODkzLDAsMCwwLTEuMzItMS4zMzIxbC0y + LjcyNTcsMS4yOTVhNy4zOSw3LjM5LDAsMCwwLTEuNTE3LS42MTY2TDEwLjkzNzQuMzA1OEE3LjgxOTIs + Ny44MTkyLDAsMCwwLDEwLC4yNTY1YTcuODE5Miw3LjgxOTIsMCwwLDAtLjkzNzQuMDQ5M0w4LjA1MTIs + My4xNTQ5YTcuMzksNy4zOSwwLDAsMC0xLjUxNy42MTY2TDMuODA4NSwyLjQ3NjVhOC45ODkzLDguOTg5 + MywwLDAsMC0xLjMyLDEuMzMyMUwzLjc4MzksNi41MzQyQTYuNDgwNiw2LjQ4MDYsMCwwLDAsMy4xNTQ4 + LDguMDM5TC4zMDU5LDkuMDYyNkE3Ljc5NzMsNy43OTczLDAsMCwwLC4yNTY1LDEwYTcuNzk2Nyw3Ljc5 + NjcsMCwwLDAsLjA0OTQuOTM3M2wyLjg0ODksMS4wMTE0YTYuNDc5MSw2LjQ3OTEsMCwwLDAsLjYyOTEs + MS41MDQ2TDIuNDg4OCwxNi4xOTE0YTkuNTQ3Miw5LjU0NzIsMCwwLDAsMS4zMiwxLjMybDIuNzI1Ny0x + LjI5NWE4LjIwMTQsOC4yMDE0LDAsMCwwLDEuNTE3LjYyOWwxLjAxMTQsMi44NDlBNy44MTksNy44MTks + MCwwLDAsMTAsMTkuNzQzNWE3LjgxOSw3LjgxOSwwLDAsMCwuOTM3NC0uMDQ5NGwxLjAxMTQtMi44NDlh + OC4yMDE0LDguMjAxNCwwLDAsMCwxLjUxNy0uNjI5bDIuNzI1NywxLjI5NWE5LjU0NzIsOS41NDcyLDAs + MCwwLDEuMzItMS4zMmwtMS4yOTUxLTIuNzM4MWE3LjA1NzksNy4wNTc5LDAsMCwwLC42MjkxLTEuNTA0 + NlpNMTAsMTQuMTNBNC4xMzMxLDQuMTMzMSwwLDEsMSwxNC4xMzMxLDkuOTk3LDQuMTMzMiw0LjEzMzIs + MCwwLDEsMTAsMTQuMTNaIiBjbGFzcz0iY2xzLTEiIC8+DQo8L3N2Zz4L diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb index 3bb75763..4add2125 100644 --- a/Controls.DocumentViewer/DocumentViewer.vb +++ b/Controls.DocumentViewer/DocumentViewer.vb @@ -126,6 +126,9 @@ Public Class DocumentViewer End Sub Private Sub FreeFile() Try + If Len(_FilePath) Then + Exit Sub + End If Dim oFileInfo = New IO.FileInfo(_FilePath) Dim oExtension As String = oFileInfo.Extension.ToUpper Select Case oExtension.ToUpper diff --git a/Controls.DocumentViewer/My Project/AssemblyInfo.vb b/Controls.DocumentViewer/My Project/AssemblyInfo.vb index 3792aba0..a5b4e6c2 100644 --- a/Controls.DocumentViewer/My Project/AssemblyInfo.vb +++ b/Controls.DocumentViewer/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/GUIs.ZooFlow/ClassConstants.vb b/GUIs.ZooFlow/ClassConstants.vb index 51844642..e79f15c0 100644 --- a/GUIs.ZooFlow/ClassConstants.vb +++ b/GUIs.ZooFlow/ClassConstants.vb @@ -26,4 +26,7 @@ Public Const RESULTLIST_COL_CHANGED_WHEN_DE = "Geändert wann" Public Const RESULTLIST_COL_ADDED_WHEN_EN = "Created when" Public Const RESULTLIST_COL_CHANGED_WHEN_EN = "Changed when" + + Public Const IDB_VECTOR_TYPE_INTEGER = 9 + Public Const IDB_VECTOR_TYPE_STRING = 8 End Class diff --git a/GUIs.ZooFlow/ClassDataASorDB.vb b/GUIs.ZooFlow/ClassDataASorDB.vb index 3b548371..cef05de5 100644 --- a/GUIs.ZooFlow/ClassDataASorDB.vb +++ b/GUIs.ZooFlow/ClassDataASorDB.vb @@ -6,10 +6,10 @@ Public Class ClassDataASorDB Public Sub New(LogConfig As LogConfig) _Logger = LogConfig.GetLogger End Sub - Public Function GetDatatable(pDB As String, pSQL As String, pAppServDT As String, pAppServFilter As String, pAppServSort As String, Optional pForce As String = "") As DataTable + Public Function GetDatatable(pDB As String, pSQL As String, pAppServDT As String, pAppServFilter As String, Optional pAppServSort As String = "", Optional pForce As String = "") As DataTable Try Dim oReturnDT As DataTable - If My.Application.Service.IsActive = True And pForce = String.Empty Then + If EDMI_SERVICE_ACTIVE = True And pForce = String.Empty Then Try Dim oTableResult As TableResult = _Client.GetDatatableByName(pAppServDT, pAppServFilter, pAppServSort) oReturnDT = oTableResult.Table diff --git a/GUIs.ZooFlow/ClassIDBData.vb b/GUIs.ZooFlow/ClassIDBData.vb index 68bb6c8b..4731eb0b 100644 --- a/GUIs.ZooFlow/ClassIDBData.vb +++ b/GUIs.ZooFlow/ClassIDBData.vb @@ -8,10 +8,12 @@ Public Class ClassIDBData ''' Title of Business Entity ''' Array with all Indices Private _Logger As Logger + Private _DataASorDB As ClassDataASorDB Public Sub New(LogConfig As LogConfig) _Logger = LogConfig.GetLogger + _DataASorDB = New ClassDataASorDB(LogConfig) Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE" - DTVWIDB_BE_ATTRIBUTE = My.DatabaseIDB.GetDatatable(oSQL) + DTVWIDB_BE_ATTRIBUTE = _DataASorDB.GetDatatable("IDB", oSQL, "VWIDB_BE_ATTRIBUTE", "") End Sub Public IDBSystemIndices As List(Of String) Public Function GetIndicesByBE(ByVal pBusinessEntity As String) As List(Of String) @@ -89,7 +91,7 @@ Public Class ClassIDBData Else _Logger.Debug($"oAttributeValue for Attribute [{pAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ") End If - Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({My.Application.Globix.CURRENT_DOC_ID},'{pAttributeName}','{My.Application.User.Language}',CONVERT(BIT,'0'))" + Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({My.Application.Globix.CURRENT_IDB_OBJ_ID},'{pAttributeName}','{My.Application.User.Language}',CONVERT(BIT,'0'))" Dim oDatatable As DataTable = My.DatabaseIDB.GetDatatable(oFNSQL) If oDatatable.Rows.Count = 1 Then oAttributeValue = oDatatable.Rows(0).Item(0) @@ -103,7 +105,7 @@ Public Class ClassIDBData Public Function Delete_Term_Object_From_Metadata(pAttributeName As String, pTerm2Delete As String) As Object Try Dim oIdIsForeign As Integer = 1 - Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {My.Application.Globix.CURRENT_DOC_ID},'{pAttributeName}','{pTerm2Delete}','{My.Application.User.UserName}','{My.Application.User.Language}',{oIdIsForeign}" + Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {My.Application.Globix.CURRENT_IDB_OBJ_ID},'{pAttributeName}','{pTerm2Delete}','{My.Application.User.UserName}','{My.Application.User.Language}',{oIdIsForeign}" My.DatabaseIDB.ExecuteNonQuery(oDELSQL) Catch ex As Exception @@ -150,7 +152,7 @@ Public Class ClassIDBData If oExists = False Then Dim oInfo = $"Value [{oOldValueRow.Item(0)}] no longer existing in Vector-Attribute [{pAttributeName}] - will be deleted!" - _Logger.Info(oInfo) + _Logger.Debug(oInfo) SetVariableValue(My.Application.Globix.CURRENT_PROFILE_LOG_INDEX, oInfo) Delete_Term_Object_From_Metadata(pAttributeName, oOldValueRow.Item(0)) End If @@ -169,13 +171,13 @@ Public Class ClassIDBData Next If oExists = False Then Dim oInfo2 = $"Value [{oOldAttributeResult}] no longer existing in Vector-Attribute [{pAttributeName}] - will be deleted!" - _Logger.Info(oInfo2) + _Logger.Debug(oInfo2) SetVariableValue(My.Application.Globix.CURRENT_PROFILE_LOG_INDEX, oInfo2) Delete_Term_Object_From_Metadata(pAttributeName, oOldAttributeResult) End If Else Dim oInfo = $"Value [{oOldAttributeResult}] of Attribute [{pAttributeName}] obviously was updated during runtime - will be deleted!" - _Logger.Info(oInfo) + _Logger.Debug(oInfo) SetVariableValue(My.Application.Globix.CURRENT_PROFILE_LOG_INDEX, oInfo) Delete_Term_Object_From_Metadata(pAttributeName, oOldAttributeResult) End If @@ -186,7 +188,7 @@ Public Class ClassIDBData For Each oNewValueRow As DataRow In oDTMyNewValues.Rows Dim oSuccess As Boolean = False - Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {My.Application.Globix.CURRENT_DOC_ID},'{pAttributeName}','{My.Application.User.UserName}','{oNewValueRow.Item(1).ToString}','{My.Application.User.Language}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" + Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {My.Application.Globix.CURRENT_IDB_OBJ_ID},'{pAttributeName}','{My.Application.User.UserName}','{oNewValueRow.Item(1).ToString}','{My.Application.User.Language}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" oSuccess = My.DatabaseIDB.ExecuteNonQuery(oFNSQL) If oSuccess = False Then Return False @@ -194,7 +196,7 @@ Public Class ClassIDBData Next Return True Else - Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {My.Application.Globix.CURRENT_DOC_ID},'{pAttributeName}','{My.Application.User.UserName}','{pNewValue}','{My.Application.User.Language}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" + Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {My.Application.Globix.CURRENT_IDB_OBJ_ID},'{pAttributeName}','{My.Application.User.UserName}','{pNewValue}','{My.Application.User.Language}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" Return My.DatabaseIDB.ExecuteNonQuery(oFNSQL) End If diff --git a/GUIs.ZooFlow/ClassInit.vb b/GUIs.ZooFlow/ClassInit.vb index 708cc0ce..ac256158 100644 --- a/GUIs.ZooFlow/ClassInit.vb +++ b/GUIs.ZooFlow/ClassInit.vb @@ -22,6 +22,7 @@ Public Class ClassInit _Logger = LogConfig.GetLogger() _LogConfig = LogConfig _DataASorDB = New ClassDataASorDB(LogConfig) + clsDataASorDB = _DataASorDB End Sub Public Sub InitializeApplication() @@ -136,8 +137,8 @@ Public Class ClassInit End Sub Private Sub InitBasicData(MyApplication As My.MyApplication) Try - Dim oSql = "SELECT * FROM TBGI_FUNCTION_REGEX" - My.Application.Globix.DT_FUNCTION_REGEX = _DataASorDB.GetDatatable("DD_ECM", oSql, "TBGI_FUNCTION_REGEX", "", "") + Dim oSql = "" + oSql = "SELECT * FROM TBIDB_COMMON_SQL WHERE ACTIVE = 1" My.DTCOMMON_SQL = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_COMMON_SQL", "", "") oSql = "SELECT * FROM TBIDB_CATALOG" @@ -174,7 +175,7 @@ Public Class ClassInit If Not IsNothing(_Client) Then If _Client.Connect() Then MyApplication.Service.IsActive = True - + EDMI_SERVICE_ACTIVE = True End If End If diff --git a/GUIs.ZooFlow/Config/ClassUIConfig.vb b/GUIs.ZooFlow/Config/ClassUIConfig.vb index 8e99d85b..837536dc 100644 --- a/GUIs.ZooFlow/Config/ClassUIConfig.vb +++ b/GUIs.ZooFlow/Config/ClassUIConfig.vb @@ -17,5 +17,7 @@ Public Property ShowIndexResult As Boolean = True Public Property DeleteOriginalFile As Boolean = False Public Property TopMost As Boolean = True + Public Property FolderWatchScanStarted As Boolean = False + Public Property FolderWatchStarted As Boolean = False End Class End Class diff --git a/GUIs.ZooFlow/Globix/ClassEmailHeaderExtractor.vb b/GUIs.ZooFlow/Globix/ClassEmailHeaderExtractor.vb new file mode 100644 index 00000000..b7f82e23 --- /dev/null +++ b/GUIs.ZooFlow/Globix/ClassEmailHeaderExtractor.vb @@ -0,0 +1,112 @@ +Imports Independentsoft +Imports System.Text.RegularExpressions + +Public Class ClassEmailHeaderExtractor + ''' + ''' Extrahiert die Headerinformationen aus einer .msg Datei mithilfe der MSG.NET Klasse + ''' + ''' Der Pfad einer .msg Datei + ''' Headerinformationen als String oder Nothing wenn ein Fehler aufgetreten ist. + Public Shared Function getMessageHeaders(path As String) + Try + Dim msg As New Msg.Message(path) + Dim headers = msg.TransportMessageHeaders.Replace(vbCrLf, " ") + Return headers + Catch ex As Exception + Return Nothing + End Try + End Function + + ''' + ''' Extrahiert die Headerinformationen aus einem msg Objekt mithilfe der MSG.NET Klasse + ''' + ''' Eine Email vom Typ Msg.Message + ''' Headerinformationen als String oder Nothing wenn ein Fehler aufgetreten ist. + Public Shared Function getMessageHeaders(msg As Msg.Message) + Try + Dim headers = msg.TransportMessageHeaders.Replace(vbCrLf, " ") + Return headers + Catch ex As Exception + Return Nothing + End Try + End Function + + ''' + ''' Extrahiert aus den Headerinformationen anhand einer Liste von Regular Expressions eine Absenderadresse. + ''' + ''' Headerinformationen die von getMessageHeaders erzeugt wurden. + ''' Eine Liste von Regular Expressions + ''' Die Ergebnisgruppe, die die Adresse enthält + ''' Eine Emailadresse oder Nothing, wenn keine der Regular Expressions ein Ergebnis lieferte. + Public Shared Function extractFromAddress(messageHeaders As String, RegexList As List(Of Regex), Optional RegexGroup As Integer = 1) + If IsNothing(messageHeaders) Then + Return Nothing + End If + + For Each rx In RegexList + Dim match As Match = rx.Match(messageHeaders) + Dim email As String = match.Groups(RegexGroup).Value + + If Not String.IsNullOrWhiteSpace(email) Then + Return email + End If + Next + + Return Nothing + End Function + Public Shared Function extractFromHeader(messageHeaders As String, Regex As String) + Try + Dim result + Dim i As Integer = 0 + If IsNothing(messageHeaders) Then + Return Nothing + End If + ' einen Regulären Ausdruck laden + Dim strRegex As String = Regex + Dim myRegex As New Regex(strRegex, RegexOptions.IgnorePatternWhitespace) + Dim strTargetString As String = messageHeaders.Trim + ' die Vorkommen im String auslesen + For Each myMatch As Match In myRegex.Matches(strTargetString) + If myMatch.Success Then + If myMatch.Value <> "" Then + If i = 0 Then + result = myMatch.Value.ToString + Else + result = result & ";" & myMatch.Value.ToString + End If + i += 1 + End If + End If + Next + Return result + Catch ex As Exception + MsgBox("Unexpected Error in extractFromHeader: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return Nothing + End Try + + End Function + + ''' + ''' Extrahiert aus den Headerinformationen anhand einer Liste von Regular Expressions eine Empfängeradresse. + ''' + ''' Headerinformationen die von getMessageHeaders erzeugt wurden. + ''' Eine Liste von Regular Expressions + ''' Die Ergebnisgruppe, die die Adresse enthält + ''' Eine Emailadresse oder Nothing, wenn keine der Regular Expressions ein Ergebnis lieferte. + Public Shared Function extractToAddress(messageHeaders As String, RegexList As List(Of Regex), Optional RegexGroup As Integer = 1) + If IsNothing(messageHeaders) Then + Return Nothing + End If + + For Each rx In RegexList + Dim match As Match = rx.Match(messageHeaders) + Dim email As String = match.Groups(RegexGroup).Value + + If Not String.IsNullOrWhiteSpace(email) Then + Return email + End If + Next + + Return Nothing + End Function +End Class diff --git a/GUIs.ZooFlow/Globix/ClassFileDrop.vb b/GUIs.ZooFlow/Globix/ClassFileDrop.vb index ea359e99..b7cd7c17 100644 --- a/GUIs.ZooFlow/Globix/ClassFileDrop.vb +++ b/GUIs.ZooFlow/Globix/ClassFileDrop.vb @@ -8,7 +8,7 @@ Public Class ClassFileDrop Private clsFilehandle As ClassFilehandle Public Sub New(LogConfig As LogConfig) _LOGGER = LogConfig.GetLogger() - clsFilehandle = New ClassFilehandle(LogConfig) + clsFilehandle = New ClassFilehandle() End Sub Public Function Drop_File(e As DragEventArgs) Try diff --git a/GUIs.ZooFlow/Globix/ClassFilehandle.vb b/GUIs.ZooFlow/Globix/ClassFilehandle.vb index e95033cf..f7b7e7bc 100644 --- a/GUIs.ZooFlow/Globix/ClassFilehandle.vb +++ b/GUIs.ZooFlow/Globix/ClassFilehandle.vb @@ -7,8 +7,8 @@ Imports Independentsoft Public Class ClassFilehandle Private _LOGGER As Logger - Public Sub New(LogConfig As LogConfig) - _LOGGER = LogConfig.GetLogger() + Public Sub New() + _LOGGER = My.LogConfig.GetLogger End Sub ''' ''' Diese Funktion entfernt alle Zeichen aus dem übergebenen String diff --git a/GUIs.ZooFlow/Globix/ClassFolderwatcher.vb b/GUIs.ZooFlow/Globix/ClassFolderwatcher.vb new file mode 100644 index 00000000..2b2fb641 --- /dev/null +++ b/GUIs.ZooFlow/Globix/ClassFolderwatcher.vb @@ -0,0 +1,201 @@ +Imports System.IO +Imports DigitalData.Modules.Logging + +Public Class ClassFolderwatcher + Public Shared FWFolderWatcher As FileSystemWatcher + Public Shared FWScan As FileSystemWatcher + Private clsFilehandle As ClassFilehandle + Private Logger As Logger + + Public Sub New() + Logger = My.LogConfig.GetLogger() + clsFilehandle = New ClassFilehandle() + End Sub + + Public Function Restart_FolderWatch() + Try + If FWFolderWatcher.EnableRaisingEvents = True Then + 'Gestartet also Stoppen + FWFolderWatcher.EnableRaisingEvents = False + My.Application.Globix.Folderwatchstarted = False + 'FolderWatch neu instanzieren + FWFolderWatcher = New System.IO.FileSystemWatcher(My.Application.Globix.CURRENT_FOLDERWATCH, "*.*") + Logger.Info(" >> FolderWatch neu instanziert") + FWFolderWatcher.IncludeSubdirectories = False + FWFolderWatcher.EnableRaisingEvents = True + AddHandler FWFolderWatcher.Created, AddressOf OnCreated + My.Application.Globix.Folderwatchstarted = True + 'SaveConfigValue("my.Application.Globix.Folderwatchstarted", "True") + My.UIConfig.Globix.FolderWatchStarted = True + My.UIConfigManager.Save() + End If + Catch ex As Exception + Logger.Info($"Error in Restart_FolderWatch: {ex.Message}") + Logger.Error(ex.Message) + End Try + End Function + Public Function Restart_FolderWatchSCAN() + Try + If FWScan.EnableRaisingEvents = True Then + 'Gestartet also Stoppen + FWScan.EnableRaisingEvents = False + 'FolderWatch neu instanzieren + FWScan = New System.IO.FileSystemWatcher(My.Application.Globix.CURRENT_SCAN_FOLDERWATCH, "*.*") + Logger.Info(" >> FolderWatchScan neu instanziert") + FWScan.IncludeSubdirectories = False + FWScan.EnableRaisingEvents = True + AddHandler FWScan.Created, AddressOf OnCreated + 'SaveConfigValue("FWSCAN_started", "True") + My.UIConfig.Globix.FolderWatchScanStarted = True + My.UIConfigManager.Save() + End If + Catch ex As Exception + Logger.Info($"Error in Restart_FolderWatchSCAN: {ex.Message}") + Logger.Error(ex.Message) + End Try + End Function + Public Function StartStop_FolderWatch() + Try + If My.Application.Globix.CURRENT_FOLDERWATCH = "" Then + 'MsgBox("Bitte definieren Sie einen Überwachungsordner:", MsgBoxStyle.Exclamation) + Return False + End If + If FWFolderWatcher Is Nothing Then + FWFolderWatcher = New System.IO.FileSystemWatcher(My.Application.Globix.CURRENT_FOLDERWATCH, "*.*") + Logger.Info(" >> FolderWatch Gestartet") + FWFolderWatcher.IncludeSubdirectories = False + FWFolderWatcher.EnableRaisingEvents = True + AddHandler FWFolderWatcher.Created, AddressOf OnCreated + My.Application.Globix.Folderwatchstarted = True + 'SaveConfigValue("my.Application.Globix.Folderwatchstarted", "True") + My.UIConfig.Globix.FolderWatchStarted = True + My.UIConfigManager.Save() + Return 1 + End If + If FWFolderWatcher.EnableRaisingEvents = False Then + ' Dim watcher As New FileSystemWatcher() + ' watcher.Path = CURRENT_FOLDERWATCH + FWFolderWatcher = New System.IO.FileSystemWatcher(My.Application.Globix.CURRENT_FOLDERWATCH, "*.*") + Logger.Info(" >> FolderWatch Gestartet") + FWFolderWatcher.IncludeSubdirectories = False + FWFolderWatcher.EnableRaisingEvents = True + AddHandler FWFolderWatcher.Created, AddressOf OnCreated + My.Application.Globix.Folderwatchstarted = True + 'SaveConfigValue("my.Application.Globix.Folderwatchstarted", "True") + My.UIConfig.Globix.FolderWatchStarted = True + My.UIConfigManager.Save() + Return 1 + Else + 'Gestartet also Stoppen + FWFolderWatcher.EnableRaisingEvents = False + My.Application.Globix.Folderwatchstarted = False + Logger.Info(" >> FolderWatch gestoppt") + 'SaveConfigValue("my.Application.Globix.Folderwatchstarted", "False") + My.UIConfig.Globix.FolderWatchStarted = False + My.UIConfigManager.Save() + Return 0 + End If + + Catch ex As Exception + MsgBox("Error in StartStop_FolderWatch:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return 99 + End Try + End Function + Public Function StartStop_FolderWatchSCAN() As Integer + Try + If My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = "" Then + If FWFolderWatcher.EnableRaisingEvents = True Then + Stop_FWSCAN() + Return 0 + Else + If My.Application.User.Language = "de-DE" Then + MsgBox("Bitte definieren Sie einen Überwachungsordner für Scan-Eingänge:", MsgBoxStyle.Exclamation) + Else + MsgBox("Please define a watchfolder for Scanning:", MsgBoxStyle.Exclamation) + End If + + Return False + End If + End If + If FWScan Is Nothing Then + FWScan = New System.IO.FileSystemWatcher(My.Application.Globix.CURRENT_SCAN_FOLDERWATCH, "*.*") + Logger.Info(" >> FolderWatch Scan Gestartet") + FWScan.IncludeSubdirectories = False + FWScan.EnableRaisingEvents = True + AddHandler FWScan.Created, AddressOf OnCreated + My.UIConfig.Globix.FolderWatchScanStarted = True + My.UIConfigManager.Save() + Return 1 + End If + If FWScan.EnableRaisingEvents = False Then + ' Dim watcher As New FileSystemWatcher() + ' watcher.Path = CURRENT_FOLDERWATCH + FWScan = New System.IO.FileSystemWatcher(My.Application.Globix.CURRENT_SCAN_FOLDERWATCH, "*.*") + Logger.Info(" >> FolderWatch Scan Gestartet") + FWScan.IncludeSubdirectories = False + FWScan.EnableRaisingEvents = True + AddHandler FWScan.Created, AddressOf OnCreated + My.UIConfig.Globix.FolderWatchScanStarted = True + My.UIConfigManager.Save() + Return 1 + Else + 'Gestartet also Stoppen + FWScan.EnableRaisingEvents = False + Logger.Info(" >> FolderWatch Scan gestoppt") + 'SaveConfigValue("FWSCAN_started", "False") + My.UIConfig.Globix.FolderWatchScanStarted = False + My.UIConfigManager.Save() + Return 0 + End If + + Catch ex As Exception + MsgBox("Error in StartStop_FolderWatchSCAN:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return 99 + End Try + End Function + Public Function Stop_FWSCAN() + If FWFolderWatcher.EnableRaisingEvents = True Then + 'Gestartet also Stoppen + FWFolderWatcher.EnableRaisingEvents = False + My.Application.Globix.Folderwatchstarted = False + Logger.Info(" >> FolderWatch gestoppt") + 'SaveConfigValue("my.Application.Globix.Folderwatchstarted", "False") + My.UIConfig.Globix.FolderWatchStarted = True + My.UIConfigManager.Save() + Return True + Else + Return False + End If + End Function + Private Sub OnCreated(source As Object, e As FileSystemEventArgs) + Try + If Not IsNothing(My.Application.Globix.DTEXCLUDE_FILES) Then + For Each row As DataRow In My.Application.Globix.DTEXCLUDE_FILES.Rows + Dim content As String = row.Item(0).ToString.ToLower + If e.FullPath.ToLower.Contains(content) Then + Exit Sub + End If + Next + End If + + + Dim handleType As String + If e.FullPath.ToLower.EndsWith(".msg") Then + handleType = "|FW_OUTLOOK_MESSAGE|" + Else + handleType = "|FW_SIMPLEINDEXER|" + End If + 'Die Datei übergeben + Logger.Info(">> OnCreated-File:" & e.FullPath) + If My.Application.Globix.FileExistsinDropTable(e.FullPath) = False Then + clsFilehandle.Decide_FileHandle(e.FullPath, handleType) + Else + Logger.Info(">> Folderwatcher: File already exists:" & e.FullPath) + End If + + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in folder_watch_Created") + End Try + + End Sub +End Class diff --git a/GUIs.ZooFlow/Globix/GlobixDataset.Designer.vb b/GUIs.ZooFlow/Globix/GlobixDataset.Designer.vb new file mode 100644 index 00000000..1942faf9 --- /dev/null +++ b/GUIs.ZooFlow/Globix/GlobixDataset.Designer.vb @@ -0,0 +1,688 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +''' +'''Represents a strongly typed in-memory cache of data. +''' + _ +Partial Public Class GlobixDataset + Inherits Global.System.Data.DataSet + + Private tableTBTEMP_INDEXRESULTS As TBTEMP_INDEXRESULTSDataTable + + Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema + + _ + Public Sub New() + MyBase.New + Me.BeginInit + Me.InitClass + Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged + AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler + AddHandler MyBase.Relations.CollectionChanged, schemaChangedHandler + Me.EndInit + End Sub + + _ + Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext) + MyBase.New(info, context, false) + If (Me.IsBinarySerialized(info, context) = true) Then + Me.InitVars(false) + Dim schemaChangedHandler1 As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged + AddHandler Me.Tables.CollectionChanged, schemaChangedHandler1 + AddHandler Me.Relations.CollectionChanged, schemaChangedHandler1 + Return + End If + Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(String)),String) + If (Me.DetermineSchemaSerializationMode(info, context) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then + Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet() + ds.ReadXmlSchema(New Global.System.Xml.XmlTextReader(New Global.System.IO.StringReader(strSchema))) + If (Not (ds.Tables("TBTEMP_INDEXRESULTS")) Is Nothing) Then + MyBase.Tables.Add(New TBTEMP_INDEXRESULTSDataTable(ds.Tables("TBTEMP_INDEXRESULTS"))) + End If + Me.DataSetName = ds.DataSetName + Me.Prefix = ds.Prefix + Me.Namespace = ds.Namespace + Me.Locale = ds.Locale + Me.CaseSensitive = ds.CaseSensitive + Me.EnforceConstraints = ds.EnforceConstraints + Me.Merge(ds, false, Global.System.Data.MissingSchemaAction.Add) + Me.InitVars + Else + Me.ReadXmlSchema(New Global.System.Xml.XmlTextReader(New Global.System.IO.StringReader(strSchema))) + End If + Me.GetSerializationData(info, context) + Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged + AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler + AddHandler Me.Relations.CollectionChanged, schemaChangedHandler + End Sub + + _ + Public ReadOnly Property TBTEMP_INDEXRESULTS() As TBTEMP_INDEXRESULTSDataTable + Get + Return Me.tableTBTEMP_INDEXRESULTS + End Get + End Property + + _ + Public Overrides Property SchemaSerializationMode() As Global.System.Data.SchemaSerializationMode + Get + Return Me._schemaSerializationMode + End Get + Set + Me._schemaSerializationMode = value + End Set + End Property + + _ + Public Shadows ReadOnly Property Tables() As Global.System.Data.DataTableCollection + Get + Return MyBase.Tables + End Get + End Property + + _ + Public Shadows ReadOnly Property Relations() As Global.System.Data.DataRelationCollection + Get + Return MyBase.Relations + End Get + End Property + + _ + Protected Overrides Sub InitializeDerivedDataSet() + Me.BeginInit + Me.InitClass + Me.EndInit + End Sub + + _ + Public Overrides Function Clone() As Global.System.Data.DataSet + Dim cln As GlobixDataset = CType(MyBase.Clone,GlobixDataset) + cln.InitVars + cln.SchemaSerializationMode = Me.SchemaSerializationMode + Return cln + End Function + + _ + Protected Overrides Function ShouldSerializeTables() As Boolean + Return false + End Function + + _ + Protected Overrides Function ShouldSerializeRelations() As Boolean + Return false + End Function + + _ + Protected Overrides Sub ReadXmlSerializable(ByVal reader As Global.System.Xml.XmlReader) + If (Me.DetermineSchemaSerializationMode(reader) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then + Me.Reset + Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet() + ds.ReadXml(reader) + If (Not (ds.Tables("TBTEMP_INDEXRESULTS")) Is Nothing) Then + MyBase.Tables.Add(New TBTEMP_INDEXRESULTSDataTable(ds.Tables("TBTEMP_INDEXRESULTS"))) + End If + Me.DataSetName = ds.DataSetName + Me.Prefix = ds.Prefix + Me.Namespace = ds.Namespace + Me.Locale = ds.Locale + Me.CaseSensitive = ds.CaseSensitive + Me.EnforceConstraints = ds.EnforceConstraints + Me.Merge(ds, false, Global.System.Data.MissingSchemaAction.Add) + Me.InitVars + Else + Me.ReadXml(reader) + Me.InitVars + End If + End Sub + + _ + Protected Overrides Function GetSchemaSerializable() As Global.System.Xml.Schema.XmlSchema + Dim stream As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Me.WriteXmlSchema(New Global.System.Xml.XmlTextWriter(stream, Nothing)) + stream.Position = 0 + Return Global.System.Xml.Schema.XmlSchema.Read(New Global.System.Xml.XmlTextReader(stream), Nothing) + End Function + + _ + Friend Overloads Sub InitVars() + Me.InitVars(true) + End Sub + + _ + Friend Overloads Sub InitVars(ByVal initTable As Boolean) + Me.tableTBTEMP_INDEXRESULTS = CType(MyBase.Tables("TBTEMP_INDEXRESULTS"),TBTEMP_INDEXRESULTSDataTable) + If (initTable = true) Then + If (Not (Me.tableTBTEMP_INDEXRESULTS) Is Nothing) Then + Me.tableTBTEMP_INDEXRESULTS.InitVars + End If + End If + End Sub + + _ + Private Sub InitClass() + Me.DataSetName = "GlobixDataset" + Me.Prefix = "" + Me.Namespace = "http://tempuri.org/GlobixDataset.xsd" + Me.EnforceConstraints = true + Me.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema + Me.tableTBTEMP_INDEXRESULTS = New TBTEMP_INDEXRESULTSDataTable() + MyBase.Tables.Add(Me.tableTBTEMP_INDEXRESULTS) + End Sub + + _ + Private Function ShouldSerializeTBTEMP_INDEXRESULTS() As Boolean + Return false + End Function + + _ + Private Sub SchemaChanged(ByVal sender As Object, ByVal e As Global.System.ComponentModel.CollectionChangeEventArgs) + If (e.Action = Global.System.ComponentModel.CollectionChangeAction.Remove) Then + Me.InitVars + End If + End Sub + + _ + Public Shared Function GetTypedDataSetSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType + Dim ds As GlobixDataset = New GlobixDataset() + Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType() + Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence() + Dim any As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any.Namespace = ds.Namespace + sequence.Items.Add(any) + type.Particle = sequence + Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable + If xs.Contains(dsSchema.TargetNamespace) Then + Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Try + Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing + dsSchema.Write(s1) + Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator + Do While schemas.MoveNext + schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema) + s2.SetLength(0) + schema.Write(s2) + If (s1.Length = s2.Length) Then + s1.Position = 0 + s2.Position = 0 + + Do While ((s1.Position <> s1.Length) _ + AndAlso (s1.ReadByte = s2.ReadByte)) + + + Loop + If (s1.Position = s1.Length) Then + Return type + End If + End If + + Loop + Finally + If (Not (s1) Is Nothing) Then + s1.Close + End If + If (Not (s2) Is Nothing) Then + s2.Close + End If + End Try + End If + xs.Add(dsSchema) + Return type + End Function + + _ + Public Delegate Sub TBTEMP_INDEXRESULTSRowChangeEventHandler(ByVal sender As Object, ByVal e As TBTEMP_INDEXRESULTSRowChangeEvent) + + ''' + '''Represents the strongly named DataTable class. + ''' + _ + Partial Public Class TBTEMP_INDEXRESULTSDataTable + Inherits Global.System.Data.TypedTableBase(Of TBTEMP_INDEXRESULTSRow) + + Private columnIndexname As Global.System.Data.DataColumn + + Private columnValue As Global.System.Data.DataColumn + + Private columnDokumentart As Global.System.Data.DataColumn + + _ + Public Sub New() + MyBase.New + Me.TableName = "TBTEMP_INDEXRESULTS" + Me.BeginInit + Me.InitClass + Me.EndInit + End Sub + + _ + Friend Sub New(ByVal table As Global.System.Data.DataTable) + MyBase.New + Me.TableName = table.TableName + If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then + Me.CaseSensitive = table.CaseSensitive + End If + If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then + Me.Locale = table.Locale + End If + If (table.Namespace <> table.DataSet.Namespace) Then + Me.Namespace = table.Namespace + End If + Me.Prefix = table.Prefix + Me.MinimumCapacity = table.MinimumCapacity + End Sub + + _ + Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext) + MyBase.New(info, context) + Me.InitVars + End Sub + + _ + Public ReadOnly Property IndexnameColumn() As Global.System.Data.DataColumn + Get + Return Me.columnIndexname + End Get + End Property + + _ + Public ReadOnly Property ValueColumn() As Global.System.Data.DataColumn + Get + Return Me.columnValue + End Get + End Property + + _ + Public ReadOnly Property DokumentartColumn() As Global.System.Data.DataColumn + Get + Return Me.columnDokumentart + End Get + End Property + + _ + Public ReadOnly Property Count() As Integer + Get + Return Me.Rows.Count + End Get + End Property + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBTEMP_INDEXRESULTSRow + Get + Return CType(Me.Rows(index),TBTEMP_INDEXRESULTSRow) + End Get + End Property + + _ + Public Event TBTEMP_INDEXRESULTSRowChanging As TBTEMP_INDEXRESULTSRowChangeEventHandler + + _ + Public Event TBTEMP_INDEXRESULTSRowChanged As TBTEMP_INDEXRESULTSRowChangeEventHandler + + _ + Public Event TBTEMP_INDEXRESULTSRowDeleting As TBTEMP_INDEXRESULTSRowChangeEventHandler + + _ + Public Event TBTEMP_INDEXRESULTSRowDeleted As TBTEMP_INDEXRESULTSRowChangeEventHandler + + _ + Public Overloads Sub AddTBTEMP_INDEXRESULTSRow(ByVal row As TBTEMP_INDEXRESULTSRow) + Me.Rows.Add(row) + End Sub + + _ + Public Overloads Function AddTBTEMP_INDEXRESULTSRow(ByVal Indexname As String, ByVal Value As String, ByVal Dokumentart As String) As TBTEMP_INDEXRESULTSRow + Dim rowTBTEMP_INDEXRESULTSRow As TBTEMP_INDEXRESULTSRow = CType(Me.NewRow,TBTEMP_INDEXRESULTSRow) + Dim columnValuesArray() As Object = New Object() {Indexname, Value, Dokumentart} + rowTBTEMP_INDEXRESULTSRow.ItemArray = columnValuesArray + Me.Rows.Add(rowTBTEMP_INDEXRESULTSRow) + Return rowTBTEMP_INDEXRESULTSRow + End Function + + _ + Public Overrides Function Clone() As Global.System.Data.DataTable + Dim cln As TBTEMP_INDEXRESULTSDataTable = CType(MyBase.Clone,TBTEMP_INDEXRESULTSDataTable) + cln.InitVars + Return cln + End Function + + _ + Protected Overrides Function CreateInstance() As Global.System.Data.DataTable + Return New TBTEMP_INDEXRESULTSDataTable() + End Function + + _ + Friend Sub InitVars() + Me.columnIndexname = MyBase.Columns("Indexname") + Me.columnValue = MyBase.Columns("Value") + Me.columnDokumentart = MyBase.Columns("Dokumentart") + End Sub + + _ + Private Sub InitClass() + Me.columnIndexname = New Global.System.Data.DataColumn("Indexname", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnIndexname) + Me.columnValue = New Global.System.Data.DataColumn("Value", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnValue) + Me.columnDokumentart = New Global.System.Data.DataColumn("Dokumentart", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnDokumentart) + End Sub + + _ + Public Function NewTBTEMP_INDEXRESULTSRow() As TBTEMP_INDEXRESULTSRow + Return CType(Me.NewRow,TBTEMP_INDEXRESULTSRow) + End Function + + _ + Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow + Return New TBTEMP_INDEXRESULTSRow(builder) + End Function + + _ + Protected Overrides Function GetRowType() As Global.System.Type + Return GetType(TBTEMP_INDEXRESULTSRow) + End Function + + _ + Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowChanged(e) + If (Not (Me.TBTEMP_INDEXRESULTSRowChangedEvent) Is Nothing) Then + RaiseEvent TBTEMP_INDEXRESULTSRowChanged(Me, New TBTEMP_INDEXRESULTSRowChangeEvent(CType(e.Row,TBTEMP_INDEXRESULTSRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowChanging(e) + If (Not (Me.TBTEMP_INDEXRESULTSRowChangingEvent) Is Nothing) Then + RaiseEvent TBTEMP_INDEXRESULTSRowChanging(Me, New TBTEMP_INDEXRESULTSRowChangeEvent(CType(e.Row,TBTEMP_INDEXRESULTSRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowDeleted(e) + If (Not (Me.TBTEMP_INDEXRESULTSRowDeletedEvent) Is Nothing) Then + RaiseEvent TBTEMP_INDEXRESULTSRowDeleted(Me, New TBTEMP_INDEXRESULTSRowChangeEvent(CType(e.Row,TBTEMP_INDEXRESULTSRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowDeleting(e) + If (Not (Me.TBTEMP_INDEXRESULTSRowDeletingEvent) Is Nothing) Then + RaiseEvent TBTEMP_INDEXRESULTSRowDeleting(Me, New TBTEMP_INDEXRESULTSRowChangeEvent(CType(e.Row,TBTEMP_INDEXRESULTSRow), e.Action)) + End If + End Sub + + _ + Public Sub RemoveTBTEMP_INDEXRESULTSRow(ByVal row As TBTEMP_INDEXRESULTSRow) + Me.Rows.Remove(row) + End Sub + + _ + Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType + Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType() + Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence() + Dim ds As GlobixDataset = New GlobixDataset() + Dim any1 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any1.Namespace = "http://www.w3.org/2001/XMLSchema" + any1.MinOccurs = New Decimal(0) + any1.MaxOccurs = Decimal.MaxValue + any1.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax + sequence.Items.Add(any1) + Dim any2 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1" + any2.MinOccurs = New Decimal(1) + any2.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax + sequence.Items.Add(any2) + Dim attribute1 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute() + attribute1.Name = "namespace" + attribute1.FixedValue = ds.Namespace + type.Attributes.Add(attribute1) + Dim attribute2 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute() + attribute2.Name = "tableTypeName" + attribute2.FixedValue = "TBTEMP_INDEXRESULTSDataTable" + type.Attributes.Add(attribute2) + type.Particle = sequence + Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable + If xs.Contains(dsSchema.TargetNamespace) Then + Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Try + Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing + dsSchema.Write(s1) + Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator + Do While schemas.MoveNext + schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema) + s2.SetLength(0) + schema.Write(s2) + If (s1.Length = s2.Length) Then + s1.Position = 0 + s2.Position = 0 + + Do While ((s1.Position <> s1.Length) _ + AndAlso (s1.ReadByte = s2.ReadByte)) + + + Loop + If (s1.Position = s1.Length) Then + Return type + End If + End If + + Loop + Finally + If (Not (s1) Is Nothing) Then + s1.Close + End If + If (Not (s2) Is Nothing) Then + s2.Close + End If + End Try + End If + xs.Add(dsSchema) + Return type + End Function + End Class + + ''' + '''Represents strongly named DataRow class. + ''' + Partial Public Class TBTEMP_INDEXRESULTSRow + Inherits Global.System.Data.DataRow + + Private tableTBTEMP_INDEXRESULTS As TBTEMP_INDEXRESULTSDataTable + + _ + Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) + MyBase.New(rb) + Me.tableTBTEMP_INDEXRESULTS = CType(Me.Table,TBTEMP_INDEXRESULTSDataTable) + End Sub + + _ + Public Property Indexname() As String + Get + Try + Return CType(Me(Me.tableTBTEMP_INDEXRESULTS.IndexnameColumn),String) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Indexname in Tabelle TBTEMP_INDEXRESULTS ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBTEMP_INDEXRESULTS.IndexnameColumn) = value + End Set + End Property + + _ + Public Property Value() As String + Get + Try + Return CType(Me(Me.tableTBTEMP_INDEXRESULTS.ValueColumn),String) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Value in Tabelle TBTEMP_INDEXRESULTS ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBTEMP_INDEXRESULTS.ValueColumn) = value + End Set + End Property + + _ + Public Property Dokumentart() As String + Get + Try + Return CType(Me(Me.tableTBTEMP_INDEXRESULTS.DokumentartColumn),String) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Dokumentart in Tabelle TBTEMP_INDEXRESULTS ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBTEMP_INDEXRESULTS.DokumentartColumn) = value + End Set + End Property + + _ + Public Function IsIndexnameNull() As Boolean + Return Me.IsNull(Me.tableTBTEMP_INDEXRESULTS.IndexnameColumn) + End Function + + _ + Public Sub SetIndexnameNull() + Me(Me.tableTBTEMP_INDEXRESULTS.IndexnameColumn) = Global.System.Convert.DBNull + End Sub + + _ + Public Function IsValueNull() As Boolean + Return Me.IsNull(Me.tableTBTEMP_INDEXRESULTS.ValueColumn) + End Function + + _ + Public Sub SetValueNull() + Me(Me.tableTBTEMP_INDEXRESULTS.ValueColumn) = Global.System.Convert.DBNull + End Sub + + _ + Public Function IsDokumentartNull() As Boolean + Return Me.IsNull(Me.tableTBTEMP_INDEXRESULTS.DokumentartColumn) + End Function + + _ + Public Sub SetDokumentartNull() + Me(Me.tableTBTEMP_INDEXRESULTS.DokumentartColumn) = Global.System.Convert.DBNull + End Sub + End Class + + ''' + '''Row event argument class + ''' + _ + Public Class TBTEMP_INDEXRESULTSRowChangeEvent + Inherits Global.System.EventArgs + + Private eventRow As TBTEMP_INDEXRESULTSRow + + Private eventAction As Global.System.Data.DataRowAction + + _ + Public Sub New(ByVal row As TBTEMP_INDEXRESULTSRow, ByVal action As Global.System.Data.DataRowAction) + MyBase.New + Me.eventRow = row + Me.eventAction = action + End Sub + + _ + Public ReadOnly Property Row() As TBTEMP_INDEXRESULTSRow + Get + Return Me.eventRow + End Get + End Property + + _ + Public ReadOnly Property Action() As Global.System.Data.DataRowAction + Get + Return Me.eventAction + End Get + End Property + End Class +End Class diff --git a/GUIs.ZooFlow/Globix/GlobixDataset.xsc b/GUIs.ZooFlow/Globix/GlobixDataset.xsc new file mode 100644 index 00000000..05b01991 --- /dev/null +++ b/GUIs.ZooFlow/Globix/GlobixDataset.xsc @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/GlobixDataset.xsd b/GUIs.ZooFlow/Globix/GlobixDataset.xsd new file mode 100644 index 00000000..af558690 --- /dev/null +++ b/GUIs.ZooFlow/Globix/GlobixDataset.xsd @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/GlobixDataset.xss b/GUIs.ZooFlow/Globix/GlobixDataset.xss new file mode 100644 index 00000000..3ec40f89 --- /dev/null +++ b/GUIs.ZooFlow/Globix/GlobixDataset.xss @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/GlobixPatterns.vb b/GUIs.ZooFlow/Globix/GlobixPatterns.vb index 69150408..3eecfa21 100644 --- a/GUIs.ZooFlow/Globix/GlobixPatterns.vb +++ b/GUIs.ZooFlow/Globix/GlobixPatterns.vb @@ -53,7 +53,7 @@ Public Class GlobixPatterns _Logger.Debug($"inputString BEFORE replacing: [{result}]") result = ReplaceInternalValues(result) result = ReplaceControlValues(result, panel) - result = ReplaceIDBAttributes(My.Application.Globix.CURRENT_DOC_ID, result, pissql) + result = ReplaceIDBAttributes(My.Application.Globix.CURRENT_IDB_OBJ_ID, result, pissql) result = ReplaceUserValues(result, prename, surname, shortname, language, email, userId, profileId) _Logger.Debug($"inputString AFTER replacing: [{result}]") Return result diff --git a/GUIs.ZooFlow/Globix/State.vb b/GUIs.ZooFlow/Globix/State.vb index 10650d81..fe1a9b9e 100644 --- a/GUIs.ZooFlow/Globix/State.vb +++ b/GUIs.ZooFlow/Globix/State.vb @@ -1,4 +1,6 @@ -Namespace Globix +Imports System.IO + +Namespace Globix Public Class State Public Property DT_FUNCTION_REGEX As DataTable Public Property DTACTUAL_FILES As DataTable @@ -7,13 +9,18 @@ Public Property TEMP_FILES As List(Of String) = New List(Of String) Public Property CurrMessageID As String Public Property CURRENT_FILENAME As String + Public Property CURRENT_FOLDERWATCH As String + Public Property CURRENT_SCAN_FOLDERWATCH As String Public Property CURRENT_WORKFILE_GUID As Long Public Property CURRENT_WORKFILE As String Public Property CURRENT_WORKFILE_EXTENSION As String Public Property CURRENT_NEWFILENAME As String - Public Property CURRENT_DOC_ID As Long - Public Property ABORT_INDEXING As Boolean = False + Public Property CURRENT_MESSAGEDATE As String + + Public Property CURRENT_MESSAGESUBJECT As String + Public Property CURRENT_IDB_OBJ_ID As Long Public Property INDEXING_ACTIVE As Boolean = False + Public Property ABORT_INDEXING As Boolean = False Public Property CURRENT_ISATTACHMENT As Boolean = False Public Property CURR_DELETE_ORIGIN As Boolean = False Public Property CURRENT_DROPTYPE As String @@ -32,7 +39,10 @@ Public Property VERSION_DELIMITER As String Public Property CURRENT_MESSAGEID As String Public Property CURRENT_BusinessEntity As String + Public Property Folderwatchstarted As Boolean = False + Public Property DTEXCLUDE_FILES As DataTable + Public PATH_FileExclusions As String = Path.Combine(Application.UserAppDataPath(), "FileExclusions.xml") Public Function FileExistsinDropTable(Filename As String) As Boolean Dim oSQL As String Try @@ -53,6 +63,71 @@ End Try End Function + Public Function LoadFileExclusion() As Boolean + Dim rowresult As String = "" + Try + 'if file doesn't exist, create the file with its default xml table + If Not File.Exists(PATH_FileExclusions) Then + DTEXCLUDE_FILES = CreateExclusionTable() + DTEXCLUDE_FILES.WriteXml(PATH_FileExclusions) + End If + DTEXCLUDE_FILES = GetTablefromXML() + + 'For Each Row As DataRow In DT.Rows + ' rowresult &= Row.Item("FILE_CONTAIN") + ' Select Case Row.Item("FILE_^^CONTAIN") + + ' End Select + + 'Next + Return True + Catch ex As Exception + MsgBox("Error in ModuleUserSavings-LoadFileExclusion" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return False + End Try + Return True + + End Function + Private Function CreateExclusionTable() As DataTable + Try + ' Create sample Customers table, in order + ' to demonstrate the behavior of the DataTableReader. + Dim oMyExclusions As New DataTable + oMyExclusions.TableName = "TBEXCLUSION" + + ' Create two columns, ID and Name. + oMyExclusions.Columns.Add("FILE_CONTAIN", GetType(System.String)) + Dim newRow As DataRow = oMyExclusions.NewRow() + newRow("FILE_CONTAIN") = "Thumbs" + oMyExclusions.Rows.Add(newRow) + Dim newRow1 As DataRow = oMyExclusions.NewRow() + newRow1("FILE_CONTAIN") = "\~$" + oMyExclusions.Rows.Add(newRow1) + Dim newRow2 As DataRow = oMyExclusions.NewRow() + newRow2("FILE_CONTAIN") = ".db" + oMyExclusions.Rows.Add(newRow2) + Dim newRow3 As DataRow = oMyExclusions.NewRow() + newRow3("FILE_CONTAIN") = "desktop.ini" + oMyExclusions.Rows.Add(newRow3) + oMyExclusions.AcceptChanges() + Return oMyExclusions + Catch ex As Exception + MsgBox("Error in CreateExclusionTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return Nothing + End Try + End Function + Private Function GetTablefromXML() As DataTable + Try + Dim DS As New DataSet + DS.ReadXml(PATH_FileExclusions) + Return DS.Tables(0) + Catch ex As Exception + MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return Nothing + End Try + + End Function + End Class End Namespace diff --git a/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.Designer.vb b/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.Designer.vb new file mode 100644 index 00000000..2e144568 --- /dev/null +++ b/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.Designer.vb @@ -0,0 +1,199 @@ + _ +Partial Class frmGlobixBasicConfig + Inherits DevExpress.XtraEditors.XtraForm + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.txtFolderWatch = New System.Windows.Forms.TextBox() + Me.txtScanFolderWatch = New System.Windows.Forms.TextBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.Label8 = New System.Windows.Forms.Label() + Me.DataGridView1 = New System.Windows.Forms.DataGridView() + Me.btnSaveExclusionFiles = New System.Windows.Forms.Button() + Me.btnstartstop2 = New System.Windows.Forms.Button() + Me.btnstartstop1 = New System.Windows.Forms.Button() + CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(9, 13) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(295, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Definieren Sie hier den Ordner welcher überwacht wird:" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(12, 93) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(392, 13) + Me.Label2.TabIndex = 1 + Me.Label2.Text = "Definieren Sie hier den Ordner der für Scan2Folder verwendet werden soll:" + ' + 'txtFolderWatch + ' + Me.txtFolderWatch.Location = New System.Drawing.Point(12, 30) + Me.txtFolderWatch.Name = "txtFolderWatch" + Me.txtFolderWatch.Size = New System.Drawing.Size(679, 22) + Me.txtFolderWatch.TabIndex = 2 + ' + 'txtScanFolderWatch + ' + Me.txtScanFolderWatch.Location = New System.Drawing.Point(12, 109) + Me.txtScanFolderWatch.Name = "txtScanFolderWatch" + Me.txtScanFolderWatch.Size = New System.Drawing.Size(679, 22) + Me.txtScanFolderWatch.TabIndex = 3 + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(697, 30) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(29, 23) + Me.Button1.TabIndex = 4 + Me.Button1.Text = "..." + Me.Button1.UseVisualStyleBackColor = True + ' + 'Button2 + ' + Me.Button2.Location = New System.Drawing.Point(697, 107) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(29, 23) + Me.Button2.TabIndex = 5 + Me.Button2.Text = "..." + Me.Button2.UseVisualStyleBackColor = True + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label8.Location = New System.Drawing.Point(9, 186) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(453, 26) + Me.Label8.TabIndex = 16 + Me.Label8.Text = "Definieren Sie hier Inhalte von Dateinamen welche von der Folderwatch-Überwachung" & + "" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "ausgenommen werden sollen:" + ' + 'DataGridView1 + ' + DataGridViewCellStyle3.BackColor = System.Drawing.Color.Aqua + Me.DataGridView1.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle3 + Me.DataGridView1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.DataGridView1.Location = New System.Drawing.Point(12, 215) + Me.DataGridView1.Name = "DataGridView1" + Me.DataGridView1.Size = New System.Drawing.Size(192, 223) + Me.DataGridView1.TabIndex = 14 + ' + 'btnSaveExclusionFiles + ' + Me.btnSaveExclusionFiles.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.save_16xLG + Me.btnSaveExclusionFiles.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnSaveExclusionFiles.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnSaveExclusionFiles.Location = New System.Drawing.Point(210, 215) + Me.btnSaveExclusionFiles.Name = "btnSaveExclusionFiles" + Me.btnSaveExclusionFiles.Size = New System.Drawing.Size(94, 29) + Me.btnSaveExclusionFiles.TabIndex = 15 + Me.btnSaveExclusionFiles.Text = "Speichern" + Me.btnSaveExclusionFiles.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnSaveExclusionFiles.UseVisualStyleBackColor = True + ' + 'btnstartstop2 + ' + Me.btnstartstop2.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.bell_go + Me.btnstartstop2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnstartstop2.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnstartstop2.Location = New System.Drawing.Point(518, 138) + Me.btnstartstop2.Margin = New System.Windows.Forms.Padding(4) + Me.btnstartstop2.Name = "btnstartstop2" + Me.btnstartstop2.Size = New System.Drawing.Size(173, 25) + Me.btnstartstop2.TabIndex = 10 + Me.btnstartstop2.Text = "Überwachung starten" + Me.btnstartstop2.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnstartstop2.UseVisualStyleBackColor = True + ' + 'btnstartstop1 + ' + Me.btnstartstop1.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.bell_go + Me.btnstartstop1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnstartstop1.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnstartstop1.Location = New System.Drawing.Point(518, 59) + Me.btnstartstop1.Margin = New System.Windows.Forms.Padding(4) + Me.btnstartstop1.Name = "btnstartstop1" + Me.btnstartstop1.Size = New System.Drawing.Size(173, 25) + Me.btnstartstop1.TabIndex = 6 + Me.btnstartstop1.Text = "Überwachung starten" + Me.btnstartstop1.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnstartstop1.UseVisualStyleBackColor = True + ' + 'frmGlobixBasicConfig + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.Label8) + Me.Controls.Add(Me.DataGridView1) + Me.Controls.Add(Me.btnSaveExclusionFiles) + Me.Controls.Add(Me.btnstartstop2) + Me.Controls.Add(Me.btnstartstop1) + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.txtScanFolderWatch) + Me.Controls.Add(Me.txtFolderWatch) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.Label1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmGlobixBasicConfig" + Me.Text = "Basiskonfiguration Globix" + Me.TopMost = True + CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Label1 As Label + Friend WithEvents Label2 As Label + Friend WithEvents txtFolderWatch As TextBox + Friend WithEvents txtScanFolderWatch As TextBox + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button + Friend WithEvents OpenFileDialog1 As OpenFileDialog + Friend WithEvents btnstartstop1 As Button + Friend WithEvents btnstartstop2 As Button + Friend WithEvents Label8 As Label + Friend WithEvents DataGridView1 As DataGridView + Friend WithEvents btnSaveExclusionFiles As Button +End Class diff --git a/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.resx b/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.resx new file mode 100644 index 00000000..33c7f672 --- /dev/null +++ b/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.vb b/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.vb new file mode 100644 index 00000000..bc92e4f6 --- /dev/null +++ b/GUIs.ZooFlow/Globix/frmGlobixBasicConfig.vb @@ -0,0 +1,219 @@ +Imports DigitalData.Modules.Logging + +Public Class frmGlobixBasicConfig + Private Logger As Logger + Private oReload As Boolean = False + Private clsFW As ClassFolderwatcher + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Dim fbdialog As New FolderBrowserDialog + If txtFolderWatch.Text <> "" Then + fbdialog.SelectedPath = txtFolderWatch.Text + End If + If fbdialog.ShowDialog() = DialogResult.OK Then + CheckFolder(fbdialog.SelectedPath, "DEFAULT") + End If + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + Dim fbdialog As New FolderBrowserDialog + If txtScanFolderWatch.Text <> "" Then + fbdialog.SelectedPath = txtScanFolderWatch.Text + End If + If fbdialog.ShowDialog() = DialogResult.OK Then + CheckFolder(fbdialog.SelectedPath, "SCAN") + End If + End Sub + Sub CheckFolder(pMypath As String, FOLDER_TYPE As String) + Try + If pMypath = "" Then + My.Database.ExecuteNonQuery("DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'") + If FOLDER_TYPE = "SCAN" Then + My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = "" + My.UIConfig.Globix.FolderWatchScanStarted = False + My.UIConfigManager.Save() + Else + My.Application.Globix.Folderwatchstarted = False + 'SaveConfigValue("FW_started", "False") + My.UIConfig.Globix.FolderWatchStarted = False + My.UIConfigManager.Save() + My.Application.Globix.CURRENT_FOLDERWATCH = "" + End If + + Exit Sub + End If + Try + If (Not System.IO.Directory.Exists(pMypath)) Then + System.IO.Directory.CreateDirectory(pMypath) + End If + Catch ex As Exception + Logger.Info(" >> Unexpected error in CheckFolder: " & pMypath) + Logger.Error(ex.Message) + Logger.Info(" >> " & ex.Message) + If My.Application.User.Language = "de-DE" Then + MsgBox("Unexpected error in ECheckFolder: " & pMypath & vbNewLine & "Bitte überprüfen Sie die Rechte!" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Else + MsgBox("Error in creating Hotfolder: " & pMypath & vbNewLine & "Please check the rights!" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + End If + + Exit Sub + End Try + + Dim folderwatch = My.Database.GetScalarValue("SELECT GUID FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'") + Dim oSql As String + If folderwatch Is Nothing Then + oSql = "INSERT INTO TBGI_FOLDERWATCH_USER (USER_ID, FOLDER_PATH, FOLDER_TYPE, ADDED_WHO) VALUES (" & My.Application.User.UserId & ",'" & pMypath & "','" & FOLDER_TYPE & "','" & My.Application.User.UserName & "')" + Else + oSql = "UPDATE TBGI_FOLDERWATCH_USER SET FOLDER_PATH = '" & pMypath & "', CHANGED_WHO = '" & My.Application.User.UserName & "' where GUID = " & folderwatch + End If + If My.Database.ExecuteNonQuery(oSql) Then + folderwatch = My.Database.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'") + + If FOLDER_TYPE = "SCAN" Then + My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = folderwatch + Me.txtScanFolderWatch.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH + Else + My.Application.Globix.CURRENT_FOLDERWATCH = folderwatch + Me.txtFolderWatch.Text = My.Application.Globix.CURRENT_FOLDERWATCH + End If + End If + If My.Application.Globix.Folderwatchstarted = True And FOLDER_TYPE = "DEFAULT" Then + clsFW.Restart_FolderWatch() + End If + If My.UIConfig.Globix.FolderWatchScanStarted = True And FOLDER_TYPE = "SCAN" Then + clsFW.Restart_FolderWatchSCAN() + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in CheckFolder:") + End Try + + End Sub + + Private Sub frmGlobixBasicConfig_Load(sender As Object, e As EventArgs) Handles Me.Load + Logger = My.LogConfig.GetLogger() + clsFW = New ClassFolderwatcher() + Try + oReload = True + Dim oFolderwatch = My.Database.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & My.Application.User.UserId) + If Not oFolderwatch Is Nothing Then + My.Application.Globix.CURRENT_FOLDERWATCH = oFolderwatch + End If + Me.txtFolderWatch.Text = My.Application.Globix.CURRENT_FOLDERWATCH + Dim oSCANFolderwatch = My.Database.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & My.Application.User.UserId) + If Not oSCANFolderwatch Is Nothing Then + My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = oSCANFolderwatch + End If + Me.txtFolderWatch.Text = My.Application.Globix.CURRENT_FOLDERWATCH + Me.txtScanFolderWatch.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH + + If Not ClassFolderwatcher.FWFolderWatcher Is Nothing Then + If ClassFolderwatcher.FWFolderWatcher.EnableRaisingEvents = True Then + If My.Application.User.Language = "de-DE" Then + btnstartstop1.Text = "Überwachung stoppen" + Else + btnstartstop1.Text = "Stop hotfolder" + End If + + btnstartstop1.Image = My.Resources.bell_delete + Else + If My.Application.User.Language = "de-DE" Then + btnstartstop1.Text = "Überwachung starten" + Else + btnstartstop1.Text = "Start hotfolder" + End If + + btnstartstop1.Image = My.Resources.bell_go + End If + Else + If My.Application.User.Language = "de-DE" Then + btnstartstop1.Text = "Überwachung starten" + Else + btnstartstop1.Text = "Start hotfolder" + End If + + + btnstartstop1.Image = My.Resources.bell_go + End If + + If Not ClassFolderwatcher.FWScan Is Nothing Then + If ClassFolderwatcher.FWScan.EnableRaisingEvents = True Then + If My.Application.User.Language = "de-DE" Then + btnstartstop2.Text = "Überwachung stoppen" + Else + btnstartstop2.Text = "Stop hotfolder" + End If + + btnstartstop2.Image = My.Resources.bell_delete + Else + If My.Application.User.Language = "de-DE" Then + btnstartstop2.Text = "Überwachung starten" + Else + btnstartstop2.Text = "Stop hotfolder" + End If + + btnstartstop2.Image = My.Resources.bell_go + End If + Else + If My.Application.User.Language = "de-DE" Then + btnstartstop2.Text = "Überwachung starten" + Else + btnstartstop2.Text = "Stop hotfolder" + End If + + btnstartstop2.Image = My.Resources.bell_go + End If + oReload = False + Me.DataGridView1.DataSource = My.Application.Globix.DTEXCLUDE_FILES + Catch ex As Exception + + End Try + End Sub + + Private Sub txtFolderWatch_TextChanged(sender As Object, e As EventArgs) Handles txtFolderWatch.TextChanged + If oReload = True Then Exit Sub + CheckFolder(txtFolderWatch.Text, "DEFAULT") + End Sub + + Private Sub txtScanFolderWatch_TextChanged(sender As Object, e As EventArgs) Handles txtScanFolderWatch.TextChanged + If oReload = True Then Exit Sub + CheckFolder(txtScanFolderWatch.Text, "SCAN") + End Sub + + Private Sub btnSaveExclusionFiles_Click(sender As Object, e As EventArgs) Handles btnSaveExclusionFiles.Click + My.Application.Globix.DTEXCLUDE_FILES.AcceptChanges() + My.Application.Globix.DTEXCLUDE_FILES.WriteXml(My.Application.Globix.PATH_FileExclusions) + MsgBox("Changes saved.", MsgBoxStyle.Information) + End Sub + + Private Sub btnstartstop2_Click(sender As Object, e As EventArgs) Handles btnstartstop2.Click + If My.Application.Globix.CURRENT_SCAN_FOLDERWATCH <> "" Then + CheckFWSCAN_State() + End If + End Sub + Sub CheckFWSCAN_State() + Select Case clsFW.StartStop_FolderWatchSCAN() + Case 1 + If My.Application.User.Language = "de-DE" Then + btnstartstop2.Text = "Überwachung stoppen" + Else + btnstartstop2.Text = "Stop Hotfolder" + End If + btnstartstop2.Image = My.Resources.bell_delete + Case 0 + If My.Application.User.Language = "de-DE" Then + btnstartstop2.Text = "Überwachung starten" + Else + btnstartstop2.Text = "Start Hotfolder" + End If + btnstartstop2.Image = My.Resources.bell_go + End Select + End Sub +End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/frmGlobixMissingInput.Designer.vb b/GUIs.ZooFlow/Globix/frmGlobixMissingInput.Designer.vb new file mode 100644 index 00000000..da14dde1 --- /dev/null +++ b/GUIs.ZooFlow/Globix/frmGlobixMissingInput.Designer.vb @@ -0,0 +1,205 @@ + _ +Partial Class frmGlobixMissingInput + Inherits DevExpress.XtraBars.Ribbon.RibbonForm + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() + Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() + Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.btnAccept = New System.Windows.Forms.Button() + Me.txtSearchtext = New System.Windows.Forms.TextBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtInput = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.lblMissingElementName = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'RibbonControl1 + ' + Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified + Me.RibbonControl1.ExpandCollapseItem.Id = 0 + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem}) + Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) + Me.RibbonControl1.MaxItemId = 1 + Me.RibbonControl1.Name = "RibbonControl1" + Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) + Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] + Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide + Me.RibbonControl1.Size = New System.Drawing.Size(607, 66) + Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 + ' + 'RibbonPage1 + ' + Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2}) + Me.RibbonPage1.Name = "RibbonPage1" + Me.RibbonPage1.Text = "RibbonPage1" + ' + 'RibbonPageGroup1 + ' + Me.RibbonPageGroup1.Name = "RibbonPageGroup1" + Me.RibbonPageGroup1.Text = "RibbonPageGroup1" + ' + 'RibbonPageGroup2 + ' + Me.RibbonPageGroup2.Name = "RibbonPageGroup2" + Me.RibbonPageGroup2.Text = "RibbonPageGroup2" + ' + 'RibbonStatusBar1 + ' + Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 389) + Me.RibbonStatusBar1.Name = "RibbonStatusBar1" + Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 + Me.RibbonStatusBar1.Size = New System.Drawing.Size(607, 22) + ' + 'RibbonPage2 + ' + Me.RibbonPage2.Name = "RibbonPage2" + Me.RibbonPage2.Text = "RibbonPage2" + ' + 'btnAccept + ' + Me.btnAccept.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnAccept.Font = New System.Drawing.Font("Tahoma", 9.75!) + Me.btnAccept.Image = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.action_add_16xLG + Me.btnAccept.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnAccept.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnAccept.Location = New System.Drawing.Point(12, 348) + Me.btnAccept.Name = "btnAccept" + Me.btnAccept.Size = New System.Drawing.Size(583, 35) + Me.btnAccept.TabIndex = 9 + Me.btnAccept.Text = "OK - Apply manual Input" + Me.btnAccept.UseVisualStyleBackColor = True + ' + 'txtSearchtext + ' + Me.txtSearchtext.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtSearchtext.Location = New System.Drawing.Point(12, 204) + Me.txtSearchtext.Multiline = True + Me.txtSearchtext.Name = "txtSearchtext" + Me.txtSearchtext.ReadOnly = True + Me.txtSearchtext.ScrollBars = System.Windows.Forms.ScrollBars.Both + Me.txtSearchtext.Size = New System.Drawing.Size(580, 138) + Me.txtSearchtext.TabIndex = 13 + Me.txtSearchtext.TabStop = False + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label3.Location = New System.Drawing.Point(9, 188) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(88, 13) + Me.Label3.TabIndex = 12 + Me.Label3.Text = "Evaluation-Text:" + ' + 'txtInput + ' + Me.txtInput.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtInput.Font = New System.Drawing.Font("Tahoma", 12.0!) + Me.txtInput.Location = New System.Drawing.Point(12, 145) + Me.txtInput.Name = "txtInput" + Me.txtInput.Size = New System.Drawing.Size(580, 27) + Me.txtInput.TabIndex = 7 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("Tahoma", 9.75!) + Me.Label2.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label2.Location = New System.Drawing.Point(9, 126) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(193, 16) + Me.Label2.TabIndex = 11 + Me.Label2.Text = "Please input the value manually:" + ' + 'lblMissingElementName + ' + Me.lblMissingElementName.AutoSize = True + Me.lblMissingElementName.Font = New System.Drawing.Font("Tahoma", 9.75!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle)) + Me.lblMissingElementName.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.lblMissingElementName.Location = New System.Drawing.Point(274, 102) + Me.lblMissingElementName.Name = "lblMissingElementName" + Me.lblMissingElementName.Size = New System.Drawing.Size(50, 16) + Me.lblMissingElementName.TabIndex = 10 + Me.lblMissingElementName.Text = "Label2" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Font = New System.Drawing.Font("Tahoma", 9.75!) + Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label1.Location = New System.Drawing.Point(9, 102) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(259, 16) + Me.Label1.TabIndex = 8 + Me.Label1.Text = "No Content found for the following element:" + ' + 'frmGlobixMissingInput + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(607, 411) + Me.Controls.Add(Me.btnAccept) + Me.Controls.Add(Me.txtSearchtext) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.txtInput) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.lblMissingElementName) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.RibbonStatusBar1) + Me.Controls.Add(Me.RibbonControl1) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmGlobixMissingInput" + Me.Ribbon = Me.RibbonControl1 + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.StatusBar = Me.RibbonStatusBar1 + Me.Text = "Fehlende Eingabe" + Me.TopMost = True + CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl + Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar + Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents btnAccept As Button + Friend WithEvents txtSearchtext As TextBox + Friend WithEvents Label3 As Label + Friend WithEvents txtInput As TextBox + Friend WithEvents Label2 As Label + Friend WithEvents lblMissingElementName As Label + Friend WithEvents Label1 As Label +End Class diff --git a/GUIs.ZooFlow/Globix/frmGlobixMissingInput.resx b/GUIs.ZooFlow/Globix/frmGlobixMissingInput.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/GUIs.ZooFlow/Globix/frmGlobixMissingInput.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/frmGlobixMissingInput.vb b/GUIs.ZooFlow/Globix/frmGlobixMissingInput.vb new file mode 100644 index 00000000..3658495d --- /dev/null +++ b/GUIs.ZooFlow/Globix/frmGlobixMissingInput.vb @@ -0,0 +1,18 @@ +Public Class frmGlobixMissingInput + Private Sub frmGlobixMissingInput_Load(sender As Object, e As EventArgs) Handles Me.Load + Me.lblMissingElementName.Text = CURR_MISSING_PATTERN_NAME + Me.txtSearchtext.Text = CURR_MISSING_SEARCH_STRING + Me.txtInput.Text = "" + End Sub + + Private Sub frmGlobixMissingInput_Shown(sender As Object, e As EventArgs) Handles Me.Shown + Me.txtInput.Focus() + End Sub + + Private Sub btnAccept_Click(sender As Object, e As EventArgs) Handles btnAccept.Click + If txtInput.Text <> String.Empty Then + CURR_MISSING_MANUAL_VALUE = txtInput.Text + Me.Close() + End If + End Sub +End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb index d88c92a4..911e798b 100644 --- a/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb +++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb @@ -53,12 +53,14 @@ Partial Class frmGlobix_Index Me.Label1 = New System.Windows.Forms.Label() Me.cmbDoctype = New System.Windows.Forms.ComboBox() Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer() + Me.GlobixDataset = New DigitalData.GUIs.ZooFlow.GlobixDataset() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.SuspendLayout() Me.Panel3.SuspendLayout() CType(Me.PictureEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() + CType(Me.GlobixDataset, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'RibbonControl1 @@ -296,7 +298,7 @@ Partial Class frmGlobix_Index Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl Me.Label1.Location = New System.Drawing.Point(3, 3) Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(178, 13) + Me.Label1.Size = New System.Drawing.Size(192, 13) Me.Label1.TabIndex = 2 Me.Label1.Text = "Bitte wählen Sie einen Ablage-Flow:" ' @@ -320,6 +322,11 @@ Partial Class frmGlobix_Index Me.DocumentViewer1.Size = New System.Drawing.Size(404, 508) Me.DocumentViewer1.TabIndex = 0 ' + 'GlobixDataset + ' + Me.GlobixDataset.DataSetName = "GlobixDataset" + Me.GlobixDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema + ' 'frmGlobix_Index ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -332,6 +339,7 @@ Partial Class frmGlobix_Index Me.Ribbon = Me.RibbonControl1 Me.StatusBar = Me.RibbonStatusBar1 Me.Text = "frmGlobix_Index" + Me.TopMost = True CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerControl1.ResumeLayout(False) @@ -339,6 +347,7 @@ Partial Class frmGlobix_Index CType(Me.PictureEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit() Me.Panel1.ResumeLayout(False) Me.Panel1.PerformLayout() + CType(Me.GlobixDataset, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -374,4 +383,5 @@ Partial Class frmGlobix_Index Friend WithEvents pnlIndex As Panel Friend WithEvents Panel3 As Panel Friend WithEvents PictureEdit1 As DevExpress.XtraEditors.PictureEdit + Friend WithEvents GlobixDataset As GlobixDataset End Class diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.resx b/GUIs.ZooFlow/Globix/frmGlobix_Index.resx index cf222f3d..4c95314d 100644 --- a/GUIs.ZooFlow/Globix/frmGlobix_Index.resx +++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.resx @@ -519,4 +519,7 @@ Y2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== + + 17, 17 + \ No newline at end of file diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb index de17d234..c466ffbe 100644 --- a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb +++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb @@ -1,10 +1,12 @@ Option Explicit On +Imports System.DirectoryServices Imports System.IO Imports System.Security.AccessControl Imports System.Security.Principal Imports System.Text.RegularExpressions Imports DigitalData.Modules.Logging +Imports Independentsoft Public Class frmGlobix_Index #Region "+++++ Variablen ++++++" @@ -31,6 +33,8 @@ Public Class frmGlobix_Index Private clswindowLocation As ClassWindowLocation Private clsPatterns As GlobixPatterns Private clsPostProcessing As GlobixPostprocessing + Private _DataASorDB As ClassDataASorDB + Private _idbdata As ClassIDBData #End Region Public Sub New(LogConfig As LogConfig) @@ -40,9 +44,11 @@ Public Class frmGlobix_Index ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. _Logger = LogConfig.GetLogger() _LogConfig = LogConfig - clswindowLocation = New ClassWindowLocation(_LogConfig) + _DataASorDB = New ClassDataASorDB(LogConfig) + clswindowLocation = New ClassWindowLocation(LogConfig) clsPatterns = New GlobixPatterns(LogConfig) clsPostProcessing = New GlobixPostprocessing(LogConfig) + _idbdata = New ClassIDBData(LogConfig) End Sub Private Sub frmGlobix_Index_Load(sender As Object, e As EventArgs) Handles MyBase.Load @@ -138,9 +144,10 @@ Public Class frmGlobix_Index SplitContainerControl1.SplitterPosition = My.UIConfig.Globix.SplitterDistanceViewer - - My.Application.Globix.DTTBGI_REGEX_DOCTYPE = My.Database.GetDatatable("SELECT DISTINCT T1.DOCTYPE as DocType, T.* FROM TBGI_REGEX_DOCTYPE T, VWGI_DOCTYPE T1 WHERE T.DOCTYPE_ID = T1.DOCTYPE_ID") - My.Application.Globix.CURR_INDEX_MAN_POSTPROCESSING = My.Database.GetDatatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING") + Dim oSQL As String = "SELECT DISTINCT T1.DOCTYPE as DocType, T.* FROM TBGI_REGEX_DOCTYPE T, VWGI_DOCTYPE T1 WHERE T.DOCTYPE_ID = T1.DOCTYPE_ID" + My.Application.Globix.DTTBGI_REGEX_DOCTYPE = _DataASorDB.GetDatatable("DD_ECM", oSQL, "DTTBGI_REGEX_DOCTYPE", "", "") + oSQL = "SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING" + My.Application.Globix.CURR_INDEX_MAN_POSTPROCESSING = _DataASorDB.GetDatatable("DD_ECM", oSQL, "TBDD_INDEX_MAN_POSTPROCESSING", "", "") MULTIFILES = My.Database.GetScalarValue("SELECT COUNT(*) FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & My.Application.Globix.CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')") My.Application.Globix.MULTIINDEXING_ACTIVE = False If MULTIFILES > 0 Then @@ -261,11 +268,15 @@ Public Class frmGlobix_Index End Try End Sub + Private Sub checkItemPreselection_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkItemPreselection.CheckedChanged + My.UIConfig.Globix.ProfilePreselection = checkItemPreselection.Checked + My.SystemConfigManager.Save() + End Sub Sub Refresh_Dokart() Try - Dim sql = String.Format("select * from VWGI_DOCTYPE where UPPER(USERNAME) = UPPER('{0}') ORDER BY SEQUENCE", Environment.UserName) - _Logger.Debug("SQL DoctypeList: " & sql) - DT_DOKART = My.Database.GetDatatable(sql) + Dim oSql = String.Format("select * from VWGI_DOCTYPE where UPPER(USERNAME) = UPPER('{0}') ORDER BY SEQUENCE", My.Application.User.UserName) + Dim oFilter = $"USERNAME like '%{My.Application.User.UserName}%'" + DT_DOKART = _DataASorDB.GetDatatable("DD_ECM", oSql, "VWGI_DOCTYPE", oFilter, "SEQUENCE") cmbDoctype.DataSource = DT_DOKART cmbDoctype.ValueMember = DT_DOKART.Columns("DOCTYPE_ID").ColumnName cmbDoctype.DisplayMember = DT_DOKART.Columns("DOCTYPE").ColumnName @@ -295,8 +306,10 @@ Public Class frmGlobix_Index Me.pnlIndex.Controls.Clear() - Dim sql As String = "Select * from TBDD_DOKUMENTART WHERE GUID = " & cmbDoctype.SelectedValue.ToString - My.Application.Globix.CURR_DT_DOCTYPE = My.Database.GetDatatable(sql) + + Dim oSql As String = "Select * from TBDD_DOKUMENTART WHERE GUID = " & cmbDoctype.SelectedValue.ToString + Dim oFilter = "GUID = " & cmbDoctype.SelectedValue.ToString + My.Application.Globix.CURR_DT_DOCTYPE = _DataASorDB.GetDatatable("DD_ECM", oSql, "TBDD_DOKUMENTART", oFilter, "") My.Application.Globix.CURRENT_DOCTYPE_DuplicateHandling = My.Application.Globix.CURR_DT_DOCTYPE.Rows(0).Item("DUPLICATE_HANDLING").ToString @@ -309,7 +322,9 @@ Public Class frmGlobix_Index Dim oSql Try oSql = "select T1.BEZEICHNUNG AS DOKUMENTART,T.* from TBDD_INDEX_MAN T, TBDD_DOKUMENTART T1 where T.ACTIVE = 1 AND T.DOK_ID = T1.GUID AND T.DOK_ID = " & dokartid & " ORDER BY T.SEQUENCE" - DT_INDEXEMAN = My.Database.GetDatatable(oSql) + + Dim oFilter = "DOK_ID = " & dokartid + DT_INDEXEMAN = _DataASorDB.GetDatatable("DD_ECM", oSql, "DT_INDEXE_MAN", oFilter, "SEQUENCE") pnlIndex.Visible = True LoadIndexe_Man() Catch ex As System.Exception @@ -360,32 +375,32 @@ Public Class frmGlobix_Index addLabel(oControlName, oRow.Item("COMMENT").ToString, oLabelPosition, oControlCount) End If - 'Dim DefaultValue = Check_HistoryValues(oControlName, oRow.Item("DOKUMENTART")) - ' If DefaultValue Is Nothing Then - Dim DefaultValue = GetPlaceholderValue(oRow.Item("DEFAULT_VALUE"), My.Application.Globix.CURRENT_WORKFILE, My.Application.User.ShortName) - ' End If + Dim oDefaultValue = Check_HistoryValues(oControlName, oRow.Item("DOKUMENTART")) + If oDefaultValue Is Nothing Then + oDefaultValue = GetPlaceholderValue(oRow.Item("DEFAULT_VALUE"), My.Application.Globix.CURRENT_WORKFILE, My.Application.User.ShortName) + End If Select Case oDataType Case "BOOLEAN" - Dim chk As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, DefaultValue, oRow.Item("COMMENT").ToString) + Dim chk As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, oDefaultValue, oRow.Item("COMMENT").ToString) If Not IsNothing(chk) Then pnlIndex.Controls.Add(chk) End If Case "INTEGER" If (oSQLSuggestion = True And oRow.Item("SQL_RESULT").ToString.Length > 0) Or MultiSelect = True Then - Dim oControl = oControls.AddVorschlag_ComboBox(oControlName, oControlPosition, oConnectionId, oRow.Item("SQL_RESULT"), MultiSelect, oDataType, DefaultValue, AddNewItems, PreventDuplicates, oSQLSuggestion) + Dim oControl = oControls.AddVorschlag_ComboBox(oControlName, oControlPosition, oConnectionId, oRow.Item("SQL_RESULT"), MultiSelect, oDataType, oDefaultValue, AddNewItems, PreventDuplicates, oSQLSuggestion) If Not IsNothing(oControl) Then pnlIndex.Controls.Add(oControl) End If Else 'nur eine Textbox - Dim oControl = oControls.AddTextBox(oControlName, oControlPosition, DefaultValue, oDataType) + Dim oControl = oControls.AddTextBox(oControlName, oControlPosition, oDefaultValue, oDataType) If Not IsNothing(oControl) Then pnlIndex.Controls.Add(oControl) End If End If Case "VARCHAR" If (oSQLSuggestion = True And oRow.Item("SQL_RESULT").ToString.Length > 0) Or MultiSelect = True Then - Dim oControl = oControls.AddVorschlag_ComboBox(oControlName, oControlPosition, oConnectionId, oRow.Item("SQL_RESULT"), MultiSelect, oDataType, DefaultValue, AddNewItems, PreventDuplicates, oSQLSuggestion) + Dim oControl = oControls.AddVorschlag_ComboBox(oControlName, oControlPosition, oConnectionId, oRow.Item("SQL_RESULT"), MultiSelect, oDataType, oDefaultValue, AddNewItems, PreventDuplicates, oSQLSuggestion) If Not IsNothing(oControl) Then pnlIndex.Controls.Add(oControl) End If @@ -396,7 +411,7 @@ Public Class frmGlobix_Index pnlIndex.Controls.Add(oControl) End If Else - Dim VORBELGUNG As String = DefaultValue + Dim VORBELGUNG As String = oDefaultValue Dim oControl = oControls.AddTextBox(oControlName, oControlPosition, VORBELGUNG, oDataType) If Not IsNothing(oControl) Then pnlIndex.Controls.Add(oControl) @@ -404,7 +419,7 @@ Public Class frmGlobix_Index End If End If Case "DATE" - Dim oPicker = oControls.AddDateTimePicker(oControlName, oControlPosition, oDataType, DefaultValue) + Dim oPicker = oControls.AddDateTimePicker(oControlName, oControlPosition, oDataType, oDefaultValue) pnlIndex.Controls.Add(oPicker) Case Else @@ -475,26 +490,26 @@ Public Class frmGlobix_Index Return oResult End Function - 'Function Check_HistoryValues(Indexname As String, Dokart As String) As String - ' Try - ' Dim result = Nothing - ' Dim DT As DataTable = MyDataset.TBTEMP_INDEXRESULTS - ' If DT.Rows.Count > 0 Then - ' For Each row As DataRow In DT.Rows - ' If row.Item("Indexname") = Indexname And row.Item("Dokumentart") = Dokart Then - ' result = row.Item("Value") - ' Return result - ' End If - ' Next - ' Else - ' Return Nothing - ' End If - ' Catch ex As Exception - ' _Logger.Error(ex) - ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Check_HistoryValues:") - ' Return Nothing - ' End Try - 'End Function + Function Check_HistoryValues(Indexname As String, Dokart As String) As String + Try + Dim result = Nothing + Dim DT As DataTable = GlobixDataset.TBTEMP_INDEXRESULTS + If DT.Rows.Count > 0 Then + For Each row As DataRow In DT.Rows + If row.Item("Indexname") = Indexname And row.Item("Dokumentart") = Dokart Then + result = row.Item("Value") + Return result + End If + Next + Else + Return Nothing + End If + Catch ex As Exception + _Logger.Error(ex) + MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Check_HistoryValues:") + Return Nothing + End Try + End Function Sub ClearError() labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Never labelError.Caption = String.Empty @@ -613,7 +628,7 @@ Public Class frmGlobix_Index ClearNotice() Me.Cursor = Cursors.WaitCursor Refresh_RegexTable() - For Each rowregex As DataRow In My.Application.BASE_DATA_DT_REGEX.Rows + For Each rowregex As DataRow In My.Application.Globix.DT_FUNCTION_REGEX.Rows If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then My.Application.Globix.REGEX_CLEAN_FILENAME = rowregex.Item("REGEX") End If @@ -657,10 +672,14 @@ Public Class frmGlobix_Index If WORK_FILE() = True Then Me.Cursor = Cursors.Default If My.UIConfig.Globix.ShowIndexResult = True Then + + NI_TYPE = "INFO" If My.Application.User.Language = "de-DE" Then - MsgBox("Die Datei wurde erfolgreich verarbeitet!" & vbNewLine & "Ablagepfad:" & vbNewLine & My.Application.Globix.CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Erfolgsmeldung") + NI_TITLE = "Globix Flow erfolgreich" + NI_MESSAGE = "Die Datei wurde erfolgreich verarbeitet" Else - MsgBox("File sucessfully processed!" & vbNewLine & "Path:" & vbNewLine & My.Application.Globix.CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Success") + NI_TITLE = "Success Globix Flow" + NI_MESSAGE = "File successfully processed" End If End If @@ -677,7 +696,8 @@ Public Class frmGlobix_Index Private Function WORK_FILE() Try Dim oSQL = $"SELECT * ,CONVERT(VARCHAR(512),'') As IndexValueGUI,CONVERT(VARCHAR(512),'') As IndexValue_File,CONVERT(Bit,0) as Indexed FROM VWDDINDEX_MAN WHERE DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}" - My.Application.Globix.CURR_DT_MAN_INDEXE = My.Database.GetDatatable(oSQL) + Dim oFilter = "DOK_ID = " & My.Application.Globix.CURRENT_DOCTYPE_ID + My.Application.Globix.CURR_DT_MAN_INDEXE = _DataASorDB.GetDatatable("DD_ECM", oSQL, "VWDDINDEX_MAN", oFilter, "") _Logger.Debug("Manuelle Indexe geladen") @@ -947,16 +967,17 @@ Public Class frmGlobix_Index End If - Dim oExportSuccessful As Boolean = False + Dim oIDBImportResult As Boolean = False 'Variable Folder If DropType = "|DROPFROMFSYSTEM|" Or DropType = "|OUTLOOK_ATTACHMENT|" Or DropType = "|ATTMNTEXTRACTED|" Or DropType = "|FW_SIMPLEINDEXER|" Then - Move_File(My.Application.Globix.CURRENT_WORKFILE, My.Application.Globix.CURRENT_NEWFILENAME, My.Application.Globix.CURRENT_WORKFILE_EXTENSION, My.Application.Globix.FILE_DELIMITER) + oIDBImportResult = ImportFile2IDB() ' oExportSuccessful = SINGLEFILE_2_WINDREAM(My.Application.Globix.CURR_D) ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Or DropType = "|MSGONLY|" Or DropType = "|FW_OUTLOOK_MESSAGE|" Then - ' oExportSuccessful = SINGLEFILE_2_WINDREAM(CURR_DOKART_OBJECTTYPE) + oIDBImportResult = ImportFile2IDB() End If - If oExportSuccessful = True Then + If oIDBImportResult = True Then + 'Kein Fehler in Export2windream oError = False If Write_Indizes() = True Then @@ -966,7 +987,7 @@ Public Class frmGlobix_Index Dim tempCur_WF = My.Application.Globix.CURRENT_WORKFILE.Replace("'", "''") Dim tempCur_New_FN = My.Application.Globix.CURRENT_NEWFILENAME.Replace("'", "''") Insert_String = sql_history_INSERT_INTO & ",ADDED_WHO) VALUES ('" & tempCur_WF & "','" & tempCur_New_FN & "'" & sql_history_Index_Values & ",'" & Environment.UserDomainName & "\" & Environment.UserName & "')" - My.Database.GetScalarValue(Insert_String) + My.Database.ExecuteNonQuery(Insert_String) If DropType.Contains("MSG") Or DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then If My.Application.Globix.CURRENT_MESSAGEID <> "" Then Dim max As String = "SELECT MAX(GUID) FROM TBGI_HISTORY" @@ -1000,11 +1021,13 @@ Public Class frmGlobix_Index End If Else oError = True - + NI_TYPE = "ERROR" If My.Application.User.Language = "de-DE" Then - MsgBox("Der Export nach windream war nicht erfolgreich - Check LogFile", MsgBoxStyle.Exclamation) + NI_TITLE = "Fehler Globix-Import" + NI_MESSAGE = "Der Import war nicht erfolgreich - Check LogFile" Else - MsgBox("Export to windream was unsucessful - Check LogFile", MsgBoxStyle.Exclamation) + NI_TITLE = "Error Globix-Import" + NI_MESSAGE = "The import was not successful - Check LogFile" End If End If @@ -1033,7 +1056,7 @@ Public Class frmGlobix_Index If oDTRESULT.Rows.Count = 0 Then Return False Else - My.Application.Globix.CURRENT_DOC_ID = oDTRESULT.Rows(0).Item(0) + My.Application.Globix.CURRENT_IDB_OBJ_ID = oDTRESULT.Rows(0).Item(0) Return True End If End If @@ -1042,6 +1065,7 @@ Public Class frmGlobix_Index Catch ex As Exception _Logger.Error(ex) + Return False End Try End Function Function Move_File(Quelle As String, _NewFilename As String, extension As String, _versionTz As String) As Boolean @@ -1059,6 +1083,10 @@ Public Class frmGlobix_Index My.Application.Globix.CURRENT_NEWFILENAME = neuername Loop End If + Dim opath = Path.GetDirectoryName(My.Application.Globix.CURRENT_NEWFILENAME) + If Directory.Exists(opath) = False Then + Directory.CreateDirectory(opath) + End If 'Die Datei wird nun verschoben If My.Application.Globix.CURR_DELETE_ORIGIN = True Then My.Computer.FileSystem.MoveFile(My.Application.Globix.CURRENT_WORKFILE, My.Application.Globix.CURRENT_NEWFILENAME) @@ -1100,139 +1128,107 @@ Public Class frmGlobix_Index End Function Private Function Write_Indizes() Try - Dim indexierung_erfolgreich As Boolean = False - ' 'Manuelle Indexe Indexieren - ' Dim DTMan As DataTable = MyDataset.VWDDINDEX_MAN - ' If DTMan.Rows.Count > 0 Then - ' Dim Count As Integer = 0 - ' For Each row As DataRow In DTMan.Rows - ' Dim idxvalue = row.Item("IndexValueGUI") - ' Dim indexname = row.Item("WD_INDEX").ToString - ' _Logger.Debug($"Write_Indizes - Index [{indexname}]...") - ' Dim optional_Index = CBool(row.Item("OPTIONAL")) - ' Dim Indexed = CBool(row.Item("Indexed")) - ' If Indexed And idxvalue.ToString <> "" And idxvalue <> "EMPTY_OI" Then - ' If indexname <> String.Empty Then - ' If row.Item("SAVE_VALUE") = True Then - ' 'Den Indexwert zwischenspeichern - ' Dim DTTemp As DataTable = MyDataset.TBTEMP_INDEXRESULTS - ' Dim rowexists As Boolean = False - ' For Each rowTemp As DataRow In DTTemp.Rows - ' 'Wenn bereits ein Eintrag existiert..... - ' If rowTemp.Item("Dokumentart") = row.Item("DOKUMENTART") And rowTemp.Item("Indexname") = row.Item("INDEXNAME") Then - ' rowexists = True - ' '......überschreiben - ' rowTemp.Item("Value") = row.Item("IndexValueGUI") - ' End If - ' Next - ' '.....ansonsten neu anlegen - ' If rowexists = False Then - ' Dim newRow As DataRow = DTTemp.NewRow() - ' newRow("Dokumentart") = row.Item("DOKUMENTART").ToString - ' newRow("Indexname") = row.Item("INDEXNAME").ToString - ' newRow("Value") = row.Item("IndexValueGUI") - ' DTTemp.Rows.Add(newRow) - ' End If - ' End If + Dim oSetVariableOK As Boolean = False + Dim oAttributeValue As String + Dim oAttributeName As String + 'Manuelle Indexe Indexieren + If My.Application.Globix.CURR_DT_MAN_INDEXE.Rows.Count > 0 Then + Dim Count As Integer = 0 + For Each row As DataRow In My.Application.Globix.CURR_DT_MAN_INDEXE.Rows - ' _Logger.Debug($"Manueller Indexvalue [{idxvalue.ToString}]...NOW THE INDEXING...") - ' Count += 1 + oAttributeValue = row.Item("IndexValueGUI") + oAttributeName = row.Item("WD_INDEX").ToString + _Logger.Debug($"Write_Indizes - Index [{oAttributeName}]...") + Dim oIsOptional = CBool(row.Item("OPTIONAL")) + Dim oIndexed = CBool(row.Item("Indexed")) + If oIndexed And oAttributeValue.ToString <> "" And oAttributeValue <> "EMPTY_OI" Then + If oAttributeName <> String.Empty Then + If row.Item("SAVE_VALUE") = True Then + 'Den Indexwert zwischenspeichern + Dim oDTIndexResults As DataTable = GlobixDataset.TBTEMP_INDEXRESULTS + Dim rowexists As Boolean = False + For Each rowTemp As DataRow In oDTIndexResults.Rows + 'Wenn bereits ein Eintrag existiert..... + If rowTemp.Item("Dokumentart") = row.Item("DOKUMENTART") And rowTemp.Item("Indexname") = row.Item("INDEXNAME") Then + rowexists = True + '......überschreiben + rowTemp.Item("Value") = row.Item("IndexValueGUI") + End If + Next + '.....ansonsten neu anlegen + If rowexists = False Then + Dim newRow As DataRow = oDTIndexResults.NewRow() + newRow("Dokumentart") = row.Item("DOKUMENTART").ToString + newRow("Indexname") = row.Item("INDEXNAME").ToString + newRow("Value") = row.Item("IndexValueGUI") + oDTIndexResults.Rows.Add(newRow) + End If + End If + End If + _Logger.Debug($"Manueller Indexvalue [{oAttributeValue.ToString}]...NOW THE INDEXING...") + Count += 1 + ' den Typ des Zielindexes auslesen + Dim oIndexType As Integer = _idbdata.GetTypeOfIndex(oAttributeName) + _Logger.Debug($"oIndexType [{oIndexType.ToString}]...") + _Logger.Debug($"Indexing oIndexType < 8...") + oSetVariableOK = _idbdata.SetVariableValue(oAttributeName, oAttributeValue) + 'indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_NEWFILENAME, indexname, idxvalue) + If oSetVariableOK = False Then + MsgBox("Error in Indexing file - See log", MsgBoxStyle.Critical) + Return False + Exit For + End If + Else + _Logger.Debug("No Indexing Attributename: " & oAttributeName) + _Logger.Debug("is optional? " & oIsOptional.ToString) + End If + 'Else + '_Logger.Debug("Indexvalue is empty or field is not indexed - Indexname: " & oAttributeName) + '_Logger.Info("Indexvalue is empty or field is not indexed - Indexname: " & oAttributeName) + 'End If + Next - ' ' den Typ des Zielindexes auslesen - ' Dim oIndexType As Integer = WINDREAM.GetIndexType(indexname) - ' _Logger.Debug($"oIndexType [{oIndexType.ToString}]...") - ' If oIndexType < WINDREAM.WMObjectVariableValueTypeVector Then - ' _Logger.Debug($"Indexing oIndexType < WINDREAM.WMObjectVariableValueTypeVector...") - ' indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, idxvalue, CURR_DOKART_OBJECTTYPE) - ' Else - ' Dim oSplitArray = Split(idxvalue, ClassConstants.VECTORSEPARATOR) - ' Dim oListofString As New List(Of String) - ' If oSplitArray.Count = 0 Then - ' oListofString.Add(idxvalue) - ' Else - ' For Each oStr In oSplitArray - ' oListofString.Add(oStr) - ' Next - ' End If + End If + oSetVariableOK = False + 'Automatische Indexe Indexieren + If My.Application.Globix.CURR_DT_AUTO_INDEXE.Rows.Count > 0 Then + Dim Count As Integer = 0 + For Each row As DataRow In My.Application.Globix.CURR_DT_AUTO_INDEXE.Rows + oSetVariableOK = CBool(row.Item("Indexed")) + oAttributeValue = row.Item("IndexValueGUI").ToString + oAttributeName = row.Item("INDEXNAME").ToString + If oSetVariableOK = True And oAttributeValue <> "" Then + If oAttributeValue <> "EMPTY_OI" Then + _Logger.Info("Auto Indexname: " & oAttributeName.ToString) + _Logger.Info("oAttributeValue: " & oAttributeValue.ToString) + Count += 1 + ' den Typ des Zielindexes auslesen + Dim indexType As Integer = _idbdata.GetTypeOfIndex(oAttributeName) + oSetVariableOK = _idbdata.SetVariableValue(oAttributeName, oAttributeValue) - - ' indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, oListofString, CURR_DOKART_OBJECTTYPE) - ' End If - - ' 'indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_NEWFILENAME, indexname, idxvalue) - ' If indexierung_erfolgreich = False Then - ' MsgBox("Error in Indexing file - See log", MsgBoxStyle.Critical) - ' Return False - ' Exit For - ' End If - ' Else - - ' _Logger.Debug("No Indexing: indexname: " & indexname) - ' _Logger.Debug("No Indexing: is optional? " & optional_Index.ToString) - ' End If - ' Else - ' _Logger.Debug("Indexvalue is empty or field is not indexed - Indexname: " & indexname) - ' _Logger.Info("Indexvalue is empty or field is not indexed - Indexname: " & indexname) - ' End If - ' Next - - ' End If - ' 'Automatische Indexe Indexieren - ' Dim DTAut As DataTable = MyDataset.VWDDINDEX_AUTOM - ' If DTAut.Rows.Count > 0 Then - ' Dim Count As Integer = 0 - ' For Each row As DataRow In DTAut.Rows - ' Dim Indexed = CBool(row.Item("Indexed")) - ' Dim Indexvalue = row.Item("IndexValueGUI").ToString - ' Dim indexname = row.Item("INDEXNAME").ToString - ' If Indexed = True And Indexvalue <> "" Then - ' If Indexvalue <> "EMPTY_OI" Then - ' _Logger.Info("Auto Indexname: " & indexname.ToString) - ' _Logger.Info("Indexvalue: " & Indexvalue.ToString) - ' Count += 1 - - ' ' den Typ des Zielindexes auslesen - ' Dim indexType As Integer = WINDREAM.GetIndexType(indexname) - - ' If indexType < WINDREAM.WMObjectVariableValueTypeVector Then - ' indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, Indexvalue, CURR_DOKART_OBJECTTYPE) - ' Else - ' Dim oSplitArray = Split(Indexvalue, ClassConstants.VECTORSEPARATOR) - ' Dim oListofString As New List(Of String) - ' If oSplitArray.Count = 0 Then - ' oListofString.Add(Indexvalue) - ' Else - ' For Each oStr In oSplitArray - ' oListofString.Add(oStr) - ' Next - ' End If - ' indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, oListofString, CURR_DOKART_OBJECTTYPE) - ' End If - - ' 'indexierung_erfolgreich = WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, Indexvalue, CURR_DOKART_OBJECTTYPE) - ' If indexierung_erfolgreich = False Then - ' MsgBox("Error in indexing file - See log", MsgBoxStyle.Critical) - ' Return False - ' Exit For - ' End If - ' End If - ' End If - ' Next - ' End If - ' If DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Or DropType = "|MSGONLY|" Or CURRENT_NEWFILENAME.EndsWith(".msg") Then - ' indexierung_erfolgreich = SetEmailIndices() - ' If indexierung_erfolgreich = False Then - ' MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical) - ' Return False - ' End If - ' ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then - ' indexierung_erfolgreich = SetAttachmentIndices() - ' If indexierung_erfolgreich = False Then - ' MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical) - ' Return False - ' End If - ' End If + If oSetVariableOK = False Then + MsgBox("Error in indexing file - See log", MsgBoxStyle.Critical) + Return False + Exit For + End If + End If + End If + Next + End If + If DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Or DropType = "|MSGONLY|" Or My.Application.Globix.CURRENT_NEWFILENAME.EndsWith(".msg") Then + oSetVariableOK = SetEmailIndices() + If oSetVariableOK = False Then + MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical) + Return False + End If + ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then + oSetVariableOK = SetAttachmentIndices() + If oSetVariableOK = False Then + MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical) + Return False + End If + End If Return True Catch ex As Exception _Logger.Warn("Unexpected error in Write_Indizes - Fehler: " & vbNewLine & ex.Message) @@ -1622,7 +1618,52 @@ Public Class frmGlobix_Index Return False End Try End Function + Private Function SetAttachmentIndices() + Dim indexierung_erfolgreich As Boolean = True + Try + Dim DT As DataTable = My.Database.GetDatatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = 'DEFAULT'") + If DT.Rows.Count = 1 Then + If Not My.Application.Globix.CURRENT_MESSAGEID Is Nothing Then + If My.Application.Globix.CURRENT_MESSAGEID <> "" Then + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_ID").ToString, My.Application.Globix.CURRENT_MESSAGEID) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetAttachmentIndices MESSAGE-ID - See log", MsgBoxStyle.Critical) + Return False + End If + End If + End If + 'Das Subject speichern + If My.Application.Globix.CURRENT_MESSAGESUBJECT <> "" Then + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_SUBJECT").ToString, My.Application.Globix.CURRENT_MESSAGESUBJECT) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetAttachmentIndices SUBJECT - See log", MsgBoxStyle.Critical) + Return False + End If + End If + 'Das MesageDate speichern + If My.Application.Globix.CURRENT_MESSAGEDATE <> "" Then + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_DATE_IN").ToString, My.Application.Globix.CURRENT_MESSAGEDATE) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetAttachmentIndices DATE - See log", MsgBoxStyle.Critical) + Return False + End If + End If + 'Kennzeichnen das es ein Anhang war! + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_CHECK_ATTACHMENT").ToString, True) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetAttachmentIndices ATTACHMENT Y/N - See log", MsgBoxStyle.Critical) + Return False + End If + Return indexierung_erfolgreich + End If + Catch ex As Exception + _Logger.Error(ex) + MsgBox("Error in SetAttachmentIndices:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return False + End Try + + End Function Function Indexwert_checkValueDB(indexname As String, wert As String) Try Dim oRow As DataRow @@ -1678,8 +1719,10 @@ Public Class frmGlobix_Index Try Dim oSQL = $"SELECT * FROM VWDDINDEX_AUTOM WHERE DOCTYPE_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}" + Dim oFilter = $"DOCTYPE_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}" + My.Application.Globix.CURR_DT_AUTO_INDEXE = _DataASorDB.GetDatatable("DD_ECM", oSQL, "VWDDINDEX_AUTOM", oFilter, "") + - My.Application.Globix.CURR_DT_AUTO_INDEXE = My.Database.GetDatatable(oSQL) Dim oRegex As New Regex("\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}") @@ -1853,7 +1896,7 @@ Public Class frmGlobix_Index 'FILE AND INDEX 'Zuerst nur die Fälle für die Variante ONLY FILE/FOLDER Dim DTNB As DataTable = FilterDatatable(My.Application.Globix.CURR_INDEX_MAN_POSTPROCESSING, "IDXMAN_ID = " & idxid & " AND VARIANT = 'ONLY FILE/FOLDER'", "", "SEQUENCE", True) - 'ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & idxid & " AND VARIANT = 'ONLY FILE/FOLDER' ORDER BY SEQUENCE") + If DTNB Is Nothing = False Then If DTNB.Rows.Count > 0 Then value_post = clsPostProcessing.Get_Nachbearbeitung_Wert(wert_in, DTNB) @@ -1865,7 +1908,7 @@ Public Class frmGlobix_Index DTNB = Nothing DTNB = FilterDatatable(My.Application.Globix.CURR_INDEX_MAN_POSTPROCESSING, "IDXMAN_ID = " & idxid & " AND VARIANT = 'FILE AND INDEX'", "", "SEQUENCE", True) - 'ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & idxid & " AND VARIANT = 'FILE AND INDEX' ORDER BY SEQUENCE") + If DTNB Is Nothing = False Then If DTNB.Rows.Count > 0 Then value_post = clsPostProcessing.Get_Nachbearbeitung_Wert(wert_in, DTNB) @@ -1887,6 +1930,331 @@ Public Class frmGlobix_Index GlobixFlow() End Sub + + Private Function SetEmailIndices() + Dim indexierung_erfolgreich As Boolean = False + Dim _step As String = "1" + Try + Dim msg As Msg.Message = New Msg.Message(My.Application.Globix.CURRENT_NEWFILENAME) + Dim msgDisplayTo = msg.DisplayTo + Dim msgInternetAccountName = msg.InternetAccountName + + _Logger.Debug("") + _Logger.Debug("msgInternetAccountName: " & msgInternetAccountName) + _Logger.Debug("SenderName: " & msg.SenderName) + _Logger.Debug("SenderEmailAddress: " & msg.SenderEmailAddress) + _Logger.Debug("ReceivedByName: " & msg.ReceivedByName) + _Logger.Debug("ReceivedByEmailAddress: " & msg.ReceivedByEmailAddress) + _Logger.Debug("") + + _step = "2" + + Dim fromPattern As String = "" + Dim toPattern As String = "" + Dim messageIDPattern As String = "" + Dim finalize_pattern As String = "" + + ' Email Header auslesen + Dim headers As String = ClassEmailHeaderExtractor.getMessageHeaders(msg) + + For Each rowregex As DataRow In My.Application.Globix.DT_FUNCTION_REGEX.Rows + If rowregex.Item("FUNCTION_NAME") = "FROM_EMAIL_HEADER" Then + fromPattern = rowregex.Item("REGEX") + ElseIf rowregex.Item("FUNCTION_NAME") = "TO_EMAIL_HEADER" Then + toPattern = rowregex.Item("REGEX") + ElseIf rowregex.Item("FUNCTION_NAME") = "MESSAGE_ID" Then + messageIDPattern = rowregex.Item("REGEX") + ElseIf rowregex.Item("FUNCTION_NAME") = "FINALIZE" Then + finalize_pattern = rowregex.Item("REGEX") + End If + Next + + Dim DT As DataTable = My.Database.GetDatatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = 'DEFAULT'") + If IsNothing(DT) Then + _Logger.Info("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX RESULTED in NOTHING") + Return False + End If + If DT.Rows.Count = 1 Then + _step = "3" + My.Application.Globix.CURRENT_MESSAGEDATE = "" + My.Application.Globix.CURRENT_MESSAGESUBJECT = "" + 'Message-ID nur auswerten wenn vorher nicht gestzt wurde! + If My.Application.Globix.CURRENT_MESSAGEID = "" Then + If Not msg.InternetMessageId Is Nothing Then + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_ID").ToString, msg.InternetMessageId) + + 'Die aktuelle Message-ID zwischenspeichern + My.Application.Globix.CURRENT_MESSAGEID = msg.InternetMessageId + If indexierung_erfolgreich = False Then + MsgBox("Error in SetEmailIndices-EmailID - See log", MsgBoxStyle.Critical) + Return False + End If + Else + If messageIDPattern = String.Empty Then + _Logger.Info("A messageID could not be read!") + Else + If Not IsNothing(headers) Then + My.Application.Globix.CURRENT_MESSAGEID = ClassEmailHeaderExtractor.extractFromHeader(headers, messageIDPattern) + If IsNothing(My.Application.Globix.CURRENT_MESSAGEID) Then + My.Application.Globix.CURRENT_MESSAGEID = "" + End If + Else + _Logger.Info("A messageID could not be read - messageheader nothing/messagIDpattern value!") + End If + End If + + End If + Else + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_ID").ToStrin, My.Application.Globix.CURRENT_MESSAGEID) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetEmailIndices-EmailID - See log", MsgBoxStyle.Critical) + Return False + End If + End If + _step = "4" + ' Regular Expressions vorbereiten + + If fromPattern <> "" And toPattern <> "" Then + _step = "4.1" + Dim FromRegexList As New List(Of Regex) + Dim ToRegexList As New List(Of Regex) + Dim fromRegex As New Regex(fromPattern, RegexOptions.IgnoreCase) + Dim toRegex As New Regex(toPattern, RegexOptions.IgnoreCase) + + FromRegexList.Add(fromRegex) + ToRegexList.Add(toRegex) + + + Dim emailFrom + Dim emailTo + ' Email Absender und Empfänger + If headers Is Nothing Then + _step = "4.2" + If IsNothing(msgDisplayTo) Then + _step = "4.3" + _Logger.Info("DisplayTo in email is nothing - default will be set") + emailTo = "NO RECIPIENT" + Else + _step = "4.4" + emailTo = msgDisplayTo.ToString.Replace("'", "") + End If + If IsNothing(msgInternetAccountName) Then + _step = "4.5" + _Logger.Info("InternetAccountName in email is nothing - default will be set") + emailFrom = "" + Else + _step = "4.6" + emailFrom = msgInternetAccountName.ToString.Replace("'", "") + End If + Else + _step = "5" + _Logger.Info("emailTo and From Extraction via messageheader.") + emailFrom = ClassEmailHeaderExtractor.extractFromHeader(headers, fromPattern) 'FromRegexList) + + emailTo = ClassEmailHeaderExtractor.extractFromHeader(headers, toPattern) ' extractToAddress(headers, ToRegexList) + + 'Handler für leere emailTo-Adresse + If IsNothing(emailTo) Then + _step = "5.1" + _Logger.Info("emailTo couldn't be extracted from messageheader...") + If (headers.Contains("exc") Or headers.Contains("exchange")) Then + _step = "5.2" + _Logger.Info("...try with LDAP-option") + Dim _email = GetUserEmailfromLDAP(msgDisplayTo) + _step = "5.3" + If _email <> "" Then + emailTo = _email + Else + _Logger.Info(">> email-adress couldn't be read from LDAP with name '" & msgDisplayTo & "'") + MsgBox("Could't get 'emailto' from messageHeader and later on with LDAP-Option." & vbNewLine & "Please check the dropped email and Configuration of Email-Indexing!", MsgBoxStyle.Exclamation) + Return False + End If + Else + _step = "5.4" + CURR_MISSING_PATTERN_NAME = "Email To" + CURR_MISSING_SEARCH_STRING = headers + CURR_MISSING_MANUAL_VALUE = String.Empty + frmGlobixMissingInput.ShowDialog() + _step = "5.4.1" + If CURR_MISSING_MANUAL_VALUE <> String.Empty Then + _step = "5.4.2" + emailTo = CURR_MISSING_MANUAL_VALUE + Else + _step = "5.4.3" + _Logger.Info("no exchange patterns found in headers!") + MsgBox("Could't get 'emailto' from messageHeader and exhange-Patterns weren't found." & vbNewLine & "Please check the dropped email and Configuration of Email-Indexing!", MsgBoxStyle.Exclamation) + Return False + End If + + End If + End If + _step = "6" + emailTo = ClassEmailHeaderExtractor.extractFromHeader(emailTo, finalize_pattern) + emailFrom = ClassEmailHeaderExtractor.extractFromHeader(emailFrom, finalize_pattern) + _step = "6.1" + If Not IsNothing(emailFrom) Then + emailFrom = emailFrom.Replace("<", "") + emailFrom = emailFrom.Replace(">", "") + Else + _step = "6.1.x" + _Logger.Info("emailFrom is Nothing?!") + End If + + If Not IsNothing(emailTo) Then + _step = "6.1.1 " & emailTo.ToString + emailTo = emailTo.Replace("<", "") + emailTo = emailTo.Replace(">", "") + _step = "6.2" + Dim _duplicatesCheck As List(Of String) = New List(Of String) + _duplicatesCheck = emailTo.ToString.Split(";").ToList + ' Filter distinct elements, and convert back into list. + Dim result As List(Of String) = _duplicatesCheck.Distinct().ToList + ' Display result. + Dim i As Integer = 0 + For Each element As String In result + If i = 0 Then + emailTo = element + Else + emailTo = emailTo & ";" & element + End If + i += 1 + Next + Else + _step = "6.3" + _Logger.Info("emailTo is Nothing?!") + End If + + _Logger.Info("Headers-Content: ") + _Logger.Info(headers.ToString) + End If + 'Handler für leere emailFrom-Adresse + If IsNothing(emailFrom) Then + _step = "7" + _Logger.Info("emailFrom couldn't be extracted from messageheader...") + If Not IsNothing(msg.SenderEmailAddress) Then + If msg.SenderEmailAddress <> String.Empty Then + _step = "7.1" + _Logger.Info("emailFrom via msg.SenderEmailAddress will be used instead!") + emailFrom = msg.SenderEmailAddress.ToString.Replace("'", "") + End If + End If + End If + If IsNothing(emailFrom) Or emailFrom = String.Empty Then + _step = "7.2" + CURR_MISSING_PATTERN_NAME = "Email From" + CURR_MISSING_SEARCH_STRING = emailFrom + CURR_MISSING_MANUAL_VALUE = String.Empty + frmGlobixMissingInput.ShowDialog() + If CURR_MISSING_MANUAL_VALUE <> String.Empty Then + _step = "7.3" + emailFrom = CURR_MISSING_MANUAL_VALUE + Else + MsgBox("Could't get 'emailfrom' from messageHeader." & vbNewLine & "Please check the dropped email and Configuration of Email-Indexing!", MsgBoxStyle.Exclamation) + Return False + End If + End If + + _Logger.Info("emailFrom: " & emailFrom) + _Logger.Info("emailTo: " & emailTo) + 'FROM + If Not IsNothing(emailFrom) Then + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_FROM").ToString, emailFrom) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetEmailIndices [emailFrom] - See log", MsgBoxStyle.Critical) + Return False + End If + Else + _Logger.Info("emailFrom is still Nothing?!") + _step = "7.4" + End If + 'TO + If Not IsNothing(emailTo) Then + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_TO").ToString, emailTo) + If indexierung_erfolgreich = False Then + MsgBox("Error in SetEmailIndices [emailTo] - See log", MsgBoxStyle.Critical) + Return False + End If + Else + _Logger.Info("emailTo is still Nothing?!") + _step = "7.5" + End If + + ' Dim subj As String = ClassFormFunctions.CleanInput(msg.Subject) + Dim subj As String = msg.Subject + If IsNothing(subj) Or subj = "" Then + _Logger.Info("msg subject is empty...DEFAULT will be set") + subj = "No subject" + MsgBox("Attention: Email was send without a subject - Default value 'No subject' will be used!", MsgBoxStyle.Exclamation) + Else + subj = encode_utf8(msg.Subject) + If IsNothing(subj) Then + subj = msg.Subject + End If + End If + + _Logger.Info("Now all email-items will be indexed!") + + _Logger.Info("subj: " & subj) + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_SUBJECT").ToString, subj) + My.Application.Globix.CURRENT_MESSAGESUBJECT = subj + If indexierung_erfolgreich = False Then + MsgBox("Error in SetEmailIndices [Subject] - See log", MsgBoxStyle.Critical) + Return False + End If + _Logger.Info("MessageDeliveryTime: " & msg.MessageDeliveryTime) + indexierung_erfolgreich = _idbdata.SetVariableValue(DT.Rows(0).Item("IDX_EMAIL_DATE_IN").ToString, msg.MessageDeliveryTime) + My.Application.Globix.CURRENT_MESSAGEDATE = msg.MessageDeliveryTime + If indexierung_erfolgreich = False Then + MsgBox("Error in SetEmailIndices [Datein] - See log", MsgBoxStyle.Critical) + Return False + End If + Else + indexierung_erfolgreich = False + End If + + Return indexierung_erfolgreich + End If + Catch ex As Exception + MsgBox("Error in SetEmailIndices:" & vbNewLine & ex.Message & vbNewLine & "Please check the configuration Email-Indexing!", MsgBoxStyle.Critical) + _Logger.Warn("Error in SetEmailIndices (Step finisched: " & _step & "): " & ex.Message) + _Logger.Error(ex) + Return False + End Try + End Function + Public Function GetUserEmailfromLDAP(ByVal userName As String) As String + + Dim domainName As String = Environment.UserDomainName '"PutYourDomainNameHere" '< Change this value to your actual domain name. For example: "yahoo" + Dim dommain As String = "com" '> Unexpected Error in GetUserEmail from LDAP: " & ex.Message) + _Logger.Error(ex) + End Try + End Using + + Return userEmail + + End Function + Private Sub PictureEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles PictureEdit1.EditValueChanged End Sub diff --git a/GUIs.ZooFlow/ModuleHelpers.vb b/GUIs.ZooFlow/ModuleHelpers.vb index e266785e..845d5944 100644 --- a/GUIs.ZooFlow/ModuleHelpers.vb +++ b/GUIs.ZooFlow/ModuleHelpers.vb @@ -2,7 +2,6 @@ Imports System.Text.RegularExpressions Module ModuleHelpers - ''' ''' Überprüft einen Wert auf verschiedene Arten von "Null" und gibt einen Standard-Wert zurück, wenn der Wert "Null" ist. ''' @@ -55,7 +54,8 @@ Module ModuleHelpers End Try End Function Public Sub Refresh_RegexTable() - My.Application.BASE_DATA_DT_REGEX = My.Database.GetDatatable("SELECT * FROM TBGI_FUNCTION_REGEX") + Dim oSQL = "select * from TBGI_FUNCTION_REGEX" + My.Application.Globix.DT_FUNCTION_REGEX = clsDataASorDB.GetDatatable("DD_ECM", oSQL, "TBGI_FUNCTION_REGEX", "", "") End Sub Public Function FilterDatatable(myDatatable As DataTable, myFilter As String, mycheckColumn As String, pSortString As String, returnDT As Boolean) As Object Try diff --git a/GUIs.ZooFlow/My Project/Resources.Designer.vb b/GUIs.ZooFlow/My Project/Resources.Designer.vb index 713439c1..57a9dc34 100644 --- a/GUIs.ZooFlow/My Project/Resources.Designer.vb +++ b/GUIs.ZooFlow/My Project/Resources.Designer.vb @@ -180,6 +180,36 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property action_add_16xLG() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("action_add_16xLG", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property bell_delete() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("bell_delete", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property bell_go() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("bell_go", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -250,6 +280,26 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property GLOBIX_short() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("GLOBIX_short", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property save_16xLG() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("save_16xLG", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/GUIs.ZooFlow/My Project/Resources.resx b/GUIs.ZooFlow/My Project/Resources.resx index 8901cec7..40fc5c2d 100644 --- a/GUIs.ZooFlow/My Project/Resources.resx +++ b/GUIs.ZooFlow/My Project/Resources.resx @@ -118,76 +118,91 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\1_LOGO_ZOO_FLOW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\StatusAnnotations_Stop_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\2_LUPE_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\ZooflowTitle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\DD_Icons_ICO_PMANAGER_256px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\4_GLOBIX_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Editdatasetwithdesigner_8449.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\3_PERSON_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\2_LUPE_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\CW_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\CW_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\3_PERSON_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\ZOO_FLOW_ sysicon_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\2_ZOO_FLOW_Abo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\2_ZOO_FLOW_Abo_MouseOver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bell_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\4_GLOBIX_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\DD_Icons_ICO_PMANAGER_128px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\1_LOGO_ZOO_FLOW_DROP3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\1_LOGO_ZOO_FLOW1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\1_LOGO_ZOO_FLOW_DROP2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Checked-outforEdit_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\StatusAnnotations_Stop_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\CW_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\ZooFlow-25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bell_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ZOO_FLOW_ sysicon_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\DD_Icons_ICO_PMANAGER_128px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\4_GLOBIX_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\1_LOGO_ZOO_FLOW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Editdatasetwithdesigner_8449.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\1_LOGO_ZOO_FLOW1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\2_ZOO_FLOW_Abo_MouseOver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\3_PERSON_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\DD_Icons_ICO_PMANAGER_256px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\GLOBIX_short.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Checked-outforEdit_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\2_LUPE_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\action_add_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\1_LOGO_ZOO_FLOW_DROP2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\3_PERSON_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Stop_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\2_LUPE_AKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ZooflowTitle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\2_ZOO_FLOW_Abo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\save_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/GUIs.ZooFlow/MyApplication.vb b/GUIs.ZooFlow/MyApplication.vb index 51d9fd64..0db27c01 100644 --- a/GUIs.ZooFlow/MyApplication.vb +++ b/GUIs.ZooFlow/MyApplication.vb @@ -58,11 +58,8 @@ Namespace My Public CommandLineFunction As String Public CommandLineArguments As New Dictionary(Of String, String) - - Public Property IDB_DT_DOC_DATA As DataTable - Public Property BASE_DATA_DT_REGEX As DataTable End Class End Namespace diff --git a/GUIs.ZooFlow/Resources/GLOBIX_short.png b/GUIs.ZooFlow/Resources/GLOBIX_short.png new file mode 100644 index 00000000..c0fde1f8 Binary files /dev/null and b/GUIs.ZooFlow/Resources/GLOBIX_short.png differ diff --git a/GUIs.ZooFlow/Resources/action_add_16xLG.png b/GUIs.ZooFlow/Resources/action_add_16xLG.png new file mode 100644 index 00000000..92db8ebd Binary files /dev/null and b/GUIs.ZooFlow/Resources/action_add_16xLG.png differ diff --git a/GUIs.ZooFlow/Resources/bell_delete.png b/GUIs.ZooFlow/Resources/bell_delete.png new file mode 100644 index 00000000..23907bbb Binary files /dev/null and b/GUIs.ZooFlow/Resources/bell_delete.png differ diff --git a/GUIs.ZooFlow/Resources/bell_go.png b/GUIs.ZooFlow/Resources/bell_go.png new file mode 100644 index 00000000..b89bb343 Binary files /dev/null and b/GUIs.ZooFlow/Resources/bell_go.png differ diff --git a/GUIs.ZooFlow/Resources/save_16xLG.png b/GUIs.ZooFlow/Resources/save_16xLG.png new file mode 100644 index 00000000..199d45b0 Binary files /dev/null and b/GUIs.ZooFlow/Resources/save_16xLG.png differ diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj index fee39b72..5f428310 100644 --- a/GUIs.ZooFlow/ZooFlow.vbproj +++ b/GUIs.ZooFlow/ZooFlow.vbproj @@ -84,6 +84,7 @@ + @@ -115,6 +116,25 @@ + + + + frmGlobixBasicConfig.vb + + + Form + + + frmGlobixMissingInput.vb + + + Form + + + True + True + GlobixDataset.xsd + frmFlowSearch.vb @@ -217,6 +237,12 @@ + + frmGlobixBasicConfig.vb + + + frmGlobixMissingInput.vb + frmFlowSearch.vb @@ -266,6 +292,17 @@ DSIDB_Stammdaten.xsd + + GlobixDataset.xsd + + + Designer + MSDataSetGenerator + GlobixDataset.Designer.vb + + + GlobixDataset.xsd + SettingsSingleFileGenerator @@ -390,6 +427,21 @@ + + + + + + + + + + + + + + +