From f6862cccc2ab8234834c24eadd688c48d73fba30 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Tue, 19 Jan 2021 13:11:09 +0100 Subject: [PATCH] ms --- .../DocumentViewer.Designer.vb | 14 +- Controls.DocumentViewer/DocumentViewer.resx | 75 +- Controls.DocumentViewer/DocumentViewer.vb | 3 + .../My Project/AssemblyInfo.vb | 4 +- GUIs.ZooFlow/ClassConstants.vb | 3 + GUIs.ZooFlow/ClassDataASorDB.vb | 4 +- GUIs.ZooFlow/ClassIDBData.vb | 18 +- GUIs.ZooFlow/ClassInit.vb | 7 +- GUIs.ZooFlow/Config/ClassUIConfig.vb | 2 + .../Globix/ClassEmailHeaderExtractor.vb | 112 +++ GUIs.ZooFlow/Globix/ClassFileDrop.vb | 2 +- GUIs.ZooFlow/Globix/ClassFilehandle.vb | 4 +- GUIs.ZooFlow/Globix/ClassFolderwatcher.vb | 201 +++++ GUIs.ZooFlow/Globix/GlobixDataset.Designer.vb | 688 ++++++++++++++++ GUIs.ZooFlow/Globix/GlobixDataset.xsc | 9 + GUIs.ZooFlow/Globix/GlobixDataset.xsd | 27 + GUIs.ZooFlow/Globix/GlobixDataset.xss | 12 + GUIs.ZooFlow/Globix/GlobixPatterns.vb | 2 +- GUIs.ZooFlow/Globix/State.vb | 81 +- .../Globix/frmGlobixBasicConfig.Designer.vb | 199 +++++ GUIs.ZooFlow/Globix/frmGlobixBasicConfig.resx | 123 +++ GUIs.ZooFlow/Globix/frmGlobixBasicConfig.vb | 219 +++++ .../Globix/frmGlobixMissingInput.Designer.vb | 205 +++++ .../Globix/frmGlobixMissingInput.resx | 120 +++ GUIs.ZooFlow/Globix/frmGlobixMissingInput.vb | 18 + .../Globix/frmGlobix_Index.Designer.vb | 12 +- GUIs.ZooFlow/Globix/frmGlobix_Index.resx | 3 + GUIs.ZooFlow/Globix/frmGlobix_Index.vb | 746 +++++++++++++----- GUIs.ZooFlow/ModuleHelpers.vb | 4 +- GUIs.ZooFlow/My Project/Resources.Designer.vb | 50 ++ GUIs.ZooFlow/My Project/Resources.resx | 99 ++- GUIs.ZooFlow/MyApplication.vb | 3 - GUIs.ZooFlow/Resources/GLOBIX_short.png | Bin 0 -> 9399 bytes GUIs.ZooFlow/Resources/action_add_16xLG.png | Bin 0 -> 164 bytes GUIs.ZooFlow/Resources/bell_delete.png | Bin 0 -> 824 bytes GUIs.ZooFlow/Resources/bell_go.png | Bin 0 -> 836 bytes GUIs.ZooFlow/Resources/save_16xLG.png | Bin 0 -> 206 bytes GUIs.ZooFlow/ZooFlow.vbproj | 52 ++ GUIs.ZooFlow/frmFlowForm.Designer.vb | 87 +- GUIs.ZooFlow/frmFlowForm.resx | 70 +- GUIs.ZooFlow/frmFlowForm.vb | 394 ++++++++- GUIs.ZooFlow/modCurrent.vb | 8 + 42 files changed, 3299 insertions(+), 381 deletions(-) create mode 100644 GUIs.ZooFlow/Globix/ClassEmailHeaderExtractor.vb create mode 100644 GUIs.ZooFlow/Globix/ClassFolderwatcher.vb create mode 100644 GUIs.ZooFlow/Globix/GlobixDataset.Designer.vb create mode 100644 GUIs.ZooFlow/Globix/GlobixDataset.xsc create mode 100644 GUIs.ZooFlow/Globix/GlobixDataset.xsd create mode 100644 GUIs.ZooFlow/Globix/GlobixDataset.xss create mode 100644 GUIs.ZooFlow/Globix/frmGlobixBasicConfig.Designer.vb create mode 100644 GUIs.ZooFlow/Globix/frmGlobixBasicConfig.resx create mode 100644 GUIs.ZooFlow/Globix/frmGlobixBasicConfig.vb create mode 100644 GUIs.ZooFlow/Globix/frmGlobixMissingInput.Designer.vb create mode 100644 GUIs.ZooFlow/Globix/frmGlobixMissingInput.resx create mode 100644 GUIs.ZooFlow/Globix/frmGlobixMissingInput.vb create mode 100644 GUIs.ZooFlow/Resources/GLOBIX_short.png create mode 100644 GUIs.ZooFlow/Resources/action_add_16xLG.png create mode 100644 GUIs.ZooFlow/Resources/bell_delete.png create mode 100644 GUIs.ZooFlow/Resources/bell_go.png create mode 100644 GUIs.ZooFlow/Resources/save_16xLG.png 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 - - ' _Logger.Debug($"Manueller Indexvalue [{idxvalue.ToString}]...NOW THE INDEXING...") - ' Count += 1 - - - ' ' 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 - - - ' 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 + 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 + + 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 + + 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) + + 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\CW_klein.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\bell_go.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\4_GLOBIX_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\1_LOGO_ZOO_FLOW_DROP3.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\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\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\1_LOGO_ZOO_FLOW1.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\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\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\DD_Icons_ICO_PMANAGER_256px.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\GLOBIX_short.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\Checked-outforEdit_13297.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\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\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\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\Checked-outforEdit_13297.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_16xLG_color.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\ZooFlow-25.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 0000000000000000000000000000000000000000..c0fde1f85451ecb59144cec726767f2165d74704 GIT binary patch literal 9399 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 VOMcA;|LF*zD61+{BV`u+e*i1JI`{wp literal 0 HcmV?d00001 diff --git a/GUIs.ZooFlow/Resources/action_add_16xLG.png b/GUIs.ZooFlow/Resources/action_add_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..92db8ebdbf91d6c767d17da117642d3b914cbd48 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAP%zBX z#WAEJ?(QW+t^)=<&VfrSF5Rq&nSVChx-Dqtv?`7#`Hc@AE@TW$nfm?}o0xbB}+#Cq4R(P5JI1l4)|6_1+XY%?1lyA)pNmp00i_ I>zopr0AsB<7ytkO literal 0 HcmV?d00001 diff --git a/GUIs.ZooFlow/Resources/bell_delete.png b/GUIs.ZooFlow/Resources/bell_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..23907bbba99da9c9da89dd773bb8ef96b3b10a28 GIT binary patch literal 824 zcmV-81IPS{P)3@?;{2!fhnpdDVjACjRc9&&}_7G!fzd+)6QD z^js-e&7gSabE~uFe+JIvM-+_c8dsFa%V9nCP%1n`ZFBWufExnUQvL%p9uS{|rz9GS zB=!3FwxC?C>qzOkK(&;gR>D#|QwS&aKZYg&_8%qOwV#PcJgvI6HTU@27vKC>pjyg5 zVT6Z2i;vBcNZ*ECKSi+9#%s3_ElPTFnA)FPPXm7ks-=7e_$ZRT{odHfEPaN9effQq zW20OLJrYKI8_Xd_qvq6Z&b%<6pVke&3Vg;>lTT^MiAQiZzQDS&h_Y?`o`b#JCDbqU zn}P&_Wh=D@_>P=RPan#}M~@IVD|pQl=-xKsxpX!xyd4*>=V2x_FicdS*xpgCJ;1Z% zU}!Lnv(sSt+amq_iav=F0^*52YHJpT2!?3rgE!Obba7nyeizW~Yihn(`4!)H85o$N zUWwCe4REQpPWM`msav9$x?;29@%x8Av2x-&5=)J{%lDhF0%#(_;(G_aiDgoUr|vky zm#2ypjy{XM)#itCk(AM4$T#V(k1%u3lZ0}&VlS0Bx3~~oU9P;S?N)i=_<{5BeaRWr z45Qhb7|$iBpR4fsr$r84b-3&3aU!c{q46~&lC;e%Kb99S?!EE8W7Yhbx!mc&#PaNg z&CC3;Fd1+0$2@+uAOdTadTmC3hI^7`n$7^#kr*Hlal`IvegYu)Ek%Lu%lyrJD_ z&L6*!HC#uIc^=OXI}#n(XlWr&!hsYz&dqT~oxC<;gIOR^S%DIiX_Scdk}vgKP!L@}D(FJ>QuL4&2|W}( z1Vs^zWETnXMvxi>si`B5la80k%W*t&&OT@Fwt_;DMf+txto41Yz1Cg=V+{Xu`h8v> zQCXQ3(tSn82CHKJ3B2^WDBuzWj8eu<8AZ#!B%=d?AA|cB<9`+S8@=}-U@y~PBb1pf zCc7Byn_{4l)IMat;ah%nGRC*N{eAKxG+Pl#6B;5Ff`7 z7sJ4G21%xLMW89{o-?n|ZA~eMuJnV1?m{H9U_`}SSOSTtAW?!^vmFtQ;C!r(*$5q9 z5fF*x$0s_WM82c9!-u#yidbewJP%rJu?UPwFz~+;HLA#PuE*JtE>vi&b6FtD^Ryw< z^97owA|W9c!5%9@;|aK}#pCLvfCqLPYAw8Z_B`aL6(KX(i-+!LWyuYPc~KxN{=}AB zo_32nX?yP0ax~TXPTPsK_n%npu_(Toq=W=)l|pQ6pBy! zcf7ss=~I+f>)hUaga*gJgG=ymnD>Qh&?o`X3FZ_Dg_*^eCkx_-q1Ldt{Fc%hzjtD2 z`gvrg7X#gGTo8rEN0VyJLYg%jZkvaX)&!R&9bF@BXd7&uTu`xD_>9nsz6z^tMQy zJJHemUXnn!aJX-!iL0IZ6WIn;VKs!{_|5d7OJSl=IGs@P;?7*la?VfOO=or#Hn2Yc O00007Ed}V-p`MCHp9!yQueItDy^j&uQx4SBDHtxHP(iUmf=cD9|W>>Jv~0S32A1q zmw&n2V9g>C<9A_;sow_mAFT4Viw)WG6Xt*BV@@-?dQ41S9_SVZPgg&ebxsLQ0QP}L AfB*mh literal 0 HcmV?d00001 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 @@ + + + + + + + + + + + + + + +