diff --git a/GUIs.ZooFlow/ClassConstants.vb b/GUIs.ZooFlow/ClassConstants.vb
index ba632e93..7a92b55c 100644
--- a/GUIs.ZooFlow/ClassConstants.vb
+++ b/GUIs.ZooFlow/ClassConstants.vb
@@ -18,4 +18,5 @@
Public Const ATTR_TYPE_INTEGER = "BIG INTEGER"
Public Const ATTR_TYPE_DATE = "DATE"
Public Const ATTR_TYPE_BOOLEAN = "BIT"
+ Public Const VECTORSEPARATOR = "╚"
End Class
diff --git a/GUIs.ZooFlow/ClassInit.vb b/GUIs.ZooFlow/ClassInit.vb
index 4d540920..a7500bca 100644
--- a/GUIs.ZooFlow/ClassInit.vb
+++ b/GUIs.ZooFlow/ClassInit.vb
@@ -112,7 +112,7 @@ Public Class ClassInit
Private Sub Initialize3rdParty(MyApplication As My.MyApplication)
Try
- Dim oSql = "SELECT * FROM TBCW_CONFIGURATION"
+ Dim oSql = "Select LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE'"
Dim oDatatable As DataTable = My.Database.GetDatatable(oSql)
If oDatatable.Rows.Count = 0 Then
@@ -121,10 +121,11 @@ Public Class ClassInit
Dim oRow As DataRow = oDatatable.Rows.Item(0)
- MyApplication.Settings.GdPictureKey = NotNull(oRow.Item("GDPICTURE_LICENSE"), String.Empty)
+ MyApplication.Settings.GdPictureKey = NotNull(oRow.Item("LICENSE"), String.Empty)
+ My.Application.Settings.GdPictureKey = NotNull(oRow.Item("LICENSE"), String.Empty)
Catch ex As Exception
_Logger.Error(ex)
- Throw New InitException("Fehler beim Laden der Konfiguration!")
+ Throw New InitException("Error initializing3rdParty!")
End Try
End Sub
Private Sub InitBasicData(MyApplication As My.MyApplication)
diff --git a/GUIs.ZooFlow/ClassFileDrop.vb b/GUIs.ZooFlow/Globix/ClassFileDrop.vb
similarity index 100%
rename from GUIs.ZooFlow/ClassFileDrop.vb
rename to GUIs.ZooFlow/Globix/ClassFileDrop.vb
diff --git a/GUIs.ZooFlow/ClassFilehandle.vb b/GUIs.ZooFlow/Globix/ClassFilehandle.vb
similarity index 100%
rename from GUIs.ZooFlow/ClassFilehandle.vb
rename to GUIs.ZooFlow/Globix/ClassFilehandle.vb
diff --git a/GUIs.ZooFlow/Globix/State.vb b/GUIs.ZooFlow/Globix/State.vb
index 88c4dcec..623880dd 100644
--- a/GUIs.ZooFlow/Globix/State.vb
+++ b/GUIs.ZooFlow/Globix/State.vb
@@ -24,8 +24,9 @@
Public Property ECMDirect As Boolean = True
Public Property CURRENT_PROFILE_LOG_INDEX As String
Public Property ShowIndexResult As Boolean = True
- Public Property CURR_MAN_INDEXE As DataTable
- Public Property CURR_AUTO_INDEXE As DataTable
+ Public Property CURR_DT_MAN_INDEXE As DataTable
+ Public Property CURR_DT_AUTO_INDEXE As DataTable
+ Public Property CURR_DT_DOCTYPE As DataTable
Public Property CURR_INDEX_MAN_POSTPROCESSING As DataTable
Public Property FILE_DELIMITER As String
Public Property VERSION_DELIMITER As String
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb
index 301159b2..bb59f7ce 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.Designer.vb
@@ -48,6 +48,7 @@ Partial Class frmGlobix_Index
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.pnlIndex = New System.Windows.Forms.Panel()
Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.Label1 = New System.Windows.Forms.Label()
Me.cmbDoctype = New System.Windows.Forms.ComboBox()
Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -141,6 +142,7 @@ Partial Class frmGlobix_Index
Me.labelError.ImageOptions.SvgImage = CType(resources.GetObject("labelError.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.labelError.Name = "labelError"
Me.labelError.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
+ Me.labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
'
'labelNotice
'
@@ -149,6 +151,7 @@ Partial Class frmGlobix_Index
Me.labelNotice.ImageOptions.SvgImage = CType(resources.GetObject("labelNotice.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.labelNotice.Name = "labelNotice"
Me.labelNotice.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
+ Me.labelNotice.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
'
'chkMultiindexing
'
@@ -161,10 +164,11 @@ Partial Class frmGlobix_Index
'
'BarButtonItem1
'
- Me.BarButtonItem1.Caption = "Starten"
+ Me.BarButtonItem1.Caption = "Ablage-Flow"
Me.BarButtonItem1.Id = 14
- Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
+ Me.BarButtonItem1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large
'
'RibbonPage1
'
@@ -177,7 +181,7 @@ Partial Class frmGlobix_Index
Me.RibbonPageGroup3.AllowTextClipping = False
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
- Me.RibbonPageGroup3.Text = "Datei verarbeiten"
+ Me.RibbonPageGroup3.Text = "Start"
'
'RibbonPageGroup1
'
@@ -242,27 +246,38 @@ Partial Class frmGlobix_Index
'pnlIndex
'
Me.pnlIndex.Dock = System.Windows.Forms.DockStyle.Fill
- Me.pnlIndex.Location = New System.Drawing.Point(0, 56)
+ Me.pnlIndex.Location = New System.Drawing.Point(0, 50)
Me.pnlIndex.Name = "pnlIndex"
- Me.pnlIndex.Size = New System.Drawing.Size(591, 359)
+ Me.pnlIndex.Size = New System.Drawing.Size(591, 365)
Me.pnlIndex.TabIndex = 1
'
'Panel1
'
+ Me.Panel1.Controls.Add(Me.Label1)
Me.Panel1.Controls.Add(Me.cmbDoctype)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Name = "Panel1"
- Me.Panel1.Size = New System.Drawing.Size(591, 56)
+ Me.Panel1.Size = New System.Drawing.Size(591, 50)
Me.Panel1.TabIndex = 0
'
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ 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(192, 13)
+ Me.Label1.TabIndex = 2
+ Me.Label1.Text = "Bitte wählen Sie einen Ablage-Flow:"
+ '
'cmbDoctype
'
Me.cmbDoctype.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.cmbDoctype.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmbDoctype.FormattingEnabled = True
- Me.cmbDoctype.Location = New System.Drawing.Point(12, 17)
+ Me.cmbDoctype.Location = New System.Drawing.Point(6, 19)
Me.cmbDoctype.Name = "cmbDoctype"
Me.cmbDoctype.Size = New System.Drawing.Size(555, 25)
Me.cmbDoctype.TabIndex = 0
@@ -291,6 +306,7 @@ Partial Class frmGlobix_Index
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -323,4 +339,5 @@ Partial Class frmGlobix_Index
Friend WithEvents cmbDoctype As ComboBox
Friend WithEvents DocumentViewer1 As Controls.DocumentViewer.DocumentViewer
Friend WithEvents pnlIndex As Panel
+ Friend WithEvents Label1 As Label
End Class
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.resx b/GUIs.ZooFlow/Globix/frmGlobix_Index.resx
index aadbd9b6..439bfe61 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.resx
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.resx
@@ -270,19 +270,27 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKMCAAAC77u/
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKUEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
- WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
- OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
- Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
- Pg0KICA8ZyBpZD0iQ2hlY2tCb3giPg0KICAgIDxwYXRoIGQ9Ik0yNyw0SDVDNC41LDQsNCw0LjUsNCw1
- djIyYzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcuNSw0LDI3LDR6
- IE0xNCwyMmwtNi02bDItMmw0LDQgICBsOC04bDIsMkwxNCwyMnoiIGNsYXNzPSJHcmVlbiIgLz4NCiAg
- PC9nPg0KPC9zdmc+Cw==
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
+ MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
+ bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRW1wbG95ZWVQcm9maWxlIj4NCiAg
+ ICA8cGF0aCBkPSJNMjksMEgzQzIuNSwwLDIsMC41LDIsMXYzMGMwLDAuNSwwLjUsMSwxLDFoMjZjMC41
+ LDAsMS0wLjUsMS0xVjFDMzAsMC41LDI5LjUsMCwyOSwweiBNMjgsMzBINFYyaDI0VjMweiIgY2xhc3M9
+ IkJsYWNrIiAvPg0KICAgIDxwYXRoIGQ9Ik0xMi4zLDEzLjhjLTAuMS0wLjMtMC4zLTAuNi0wLjMtMC45
+ YzAuMS0wLjEsMC4zLTAuMiwwLjMtMC4yQzExLjYsMTAuNSwxMiw4LDE1LjIsOGMzLjUsMCwzLjcsMS45
+ LDMuNywxLjkgICBzMS45LTAuMSwwLjcsMi45YzAuMS0wLjEsMC4zLTAuMSwwLjMsMC4yYzAuMSwwLjMt
+ MC4xLDAuNi0wLjIsMC45Yy0wLjIsMC4zLDAuMSwxLjEtMC42LDF2MC4xQzE4LjgsMTYuNCwxNy44LDE4
+ LDE2LDE4ICAgcy0yLjctMS42LTMuMS0zLjFjMC0wLjEsMC0wLjEsMC0wLjFDMTIuMiwxNC45LDEyLjQs
+ MTQuMSwxMi4zLDEzLjh6IE0xOC43LDE4Yy0wLjUsMS0xLjQsMS45LTIuNywxLjljLTEuMywwLTIuMi0w
+ LjktMi43LTIgICBDMTEuNywyMC4zLDgsMTguNyw4LDIzLjdWMjRoMTZ2LTAuM0MyNCwxOC43LDIwLjMs
+ MjAuMiwxOC43LDE4eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
@@ -403,24 +411,149 @@
cmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-
+
+
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
- LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/
- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
- IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
- MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
- Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
- LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
- MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
- Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
- MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
- bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iR2V0dGluZ1N0YXJ0ZWQiPg0KICAg
- IDxwYXRoIGQ9Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMy
- My43LDIsMTYsMnogTTEyLDIyVjEwbDEwLDZMMTIsMjJ6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
- Cjwvc3ZnPgs=
+ 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
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
index 4298883c..627cda00 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
@@ -1,200 +1,206 @@
-Imports DigitalData.Modules.Logging
+Imports System.IO
+Imports System.Security.AccessControl
+Imports System.Security.Principal
+Imports System.Text.RegularExpressions
+Imports DigitalData.Modules.Logging
Public Class frmGlobix_Index
#Region "+++++ Variablen ++++++"
- Public vPathFile As String
- Private MULTIFILES As Integer
- Private akttxtbox As TextBox
- Dim DT_INDEXEMAN As DataTable
- Dim DT_DOKART As DataTable
- Public FormLoaded As Boolean = False
- Dim DropType As String
- Private Shared WDDirect As Boolean = False
+ Public vPathFile As String
+ Private MULTIFILES As Integer
+ Private akttxtbox As TextBox
+ Dim DT_INDEXEMAN As DataTable
+ Dim DT_DOKART As DataTable
+ Public FormLoaded As Boolean = False
+ Dim DropType As String
- Dim sql_history_INSERT_INTO As String
- Dim sql_history_Index_Values As String
+ Dim sql_history_INSERT_INTO As String
+ Dim sql_history_Index_Values As String
- Private NewFileString As String
- Private CancelAttempts As Integer = 0
- Private Const MaxCancelAttempts = 2
+ Private NewFileString As String
+ Private CancelAttempts As Integer = 0
+ Private Const MaxCancelAttempts = 2
- Private Property ViewerString As String
-
- Private Const TEXT_MISSING_INPUT = "Bitte vervollständigen Sie die Eingaben!"
- Private _LogConfig As LogConfig
- Private _Logger As Logger
-
- Private clswindowLocation As ClassWindowLocation
+ Private Property ViewerString As String
+ Private Const TEXT_MISSING_INPUT = "Bitte vervollständigen Sie die Eingaben!"
+ Private _LogConfig As LogConfig
+ Private _Logger As Logger
+ Private clswindowLocation As ClassWindowLocation
+ Private clsPatterns As GlobixPatterns
+ Private clsPostProcessing As GlobixPostprocessing
#End Region
- Public Sub New(LogConfig As LogConfig)
+ Public Sub New(LogConfig As LogConfig)
- ' Dieser Aufruf ist für den Designer erforderlich.
- InitializeComponent()
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
- ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
- _Logger = LogConfig.GetLogger()
- _LogConfig = LogConfig
- clswindowLocation = New ClassWindowLocation(_LogConfig)
- End Sub
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+ _Logger = LogConfig.GetLogger()
+ _LogConfig = LogConfig
+ clswindowLocation = New ClassWindowLocation(_LogConfig)
+ clsPatterns = New GlobixPatterns(LogConfig)
+ clsPostProcessing = New GlobixPostprocessing(LogConfig)
+ End Sub
- Private Sub frmGlobix_Index_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- ' Abbruchzähler zurücksetzen
- CancelAttempts = 0
+ Private Sub frmGlobix_Index_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ ' Abbruchzähler zurücksetzen
+ CancelAttempts = 0
- My.Application.Globix.INDEXING_ACTIVE = True
+ My.Application.Globix.INDEXING_ACTIVE = True
- Try
- My.Application.Globix.CURRENT_ISATTACHMENT = False
- DropType = My.Database.GetScalarValue("SELECT HANDLE_TYPE FROM TBGI_FILES_USER WHERE GUID = " & My.Application.Globix.CURRENT_WORKFILE_GUID).ToString
+ Try
+ My.Application.Globix.CURRENT_ISATTACHMENT = False
+ DropType = My.Database.GetScalarValue("SELECT HANDLE_TYPE FROM TBGI_FILES_USER WHERE GUID = " & My.Application.Globix.CURRENT_WORKFILE_GUID).ToString
- My.Application.Globix.CURR_DELETE_ORIGIN = My.UIConfig.Globix.DeleteOriginalFile
- SourceDeleteItem.Enabled = True
- SourceDeleteItem.Checked = My.UIConfig.Globix.DeleteOriginalFile
+ My.Application.Globix.CURR_DELETE_ORIGIN = My.UIConfig.Globix.DeleteOriginalFile
+ SourceDeleteItem.Enabled = True
+ SourceDeleteItem.Checked = My.UIConfig.Globix.DeleteOriginalFile
- My.Application.GDPictureLicense = My.Database.GetScalarValue("SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE'")
- DocumentViewer1.Init(_LogConfig, My.Application.GDPictureLicense)
- If DropType Is Nothing Then
- _Logger.Debug("File with Id [{0}] was not found in TBGI_FILES_USER. Exiting.", My.Application.Globix.CURRENT_WORKFILE_GUID)
- CancelAttempts = MaxCancelAttempts
- Close()
+ DocumentViewer1.Init(_LogConfig, My.Application.GDPictureLicense)
+
+ If DropType Is Nothing Then
+ _Logger.Debug("File with Id [{0}] was not found in TBGI_FILES_USER. Exiting.", My.Application.Globix.CURRENT_WORKFILE_GUID)
+ CancelAttempts = MaxCancelAttempts
+ Close()
+ Else
+ My.Application.Globix.CURRENT_DROPTYPE = DropType.Replace("|", "")
+
+ If DropType.StartsWith("|FW") Then
+ ' Eine Datei aus FolderWatch wird IMMER gelöscht, egal wie die Einstellung in der Config lautet
+ My.Application.Globix.CURR_DELETE_ORIGIN = True
+ SourceDeleteItem.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ ElseIf DropType.Contains("|OUTLOOK_MESSAGE|") Then
+ ' Eine (DragDrop)-Outlook Nachricht wird NIE gelöscht, egal wie die Einstellung in der Config lautet
+ My.Application.Globix.CURR_DELETE_ORIGIN = False
+ SourceDeleteItem.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
- My.Application.Globix.CURRENT_DROPTYPE = DropType.Replace("|", "")
+ SourceDeleteItem.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ End If
- If DropType.StartsWith("|FW") Then
- ' Eine Datei aus FolderWatch wird IMMER gelöscht, egal wie die Einstellung in der Config lautet
- My.Application.Globix.CURR_DELETE_ORIGIN = True
- SourceDeleteItem.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
- ElseIf DropType.Contains("|OUTLOOK_MESSAGE|") Then
- ' Eine (DragDrop)-Outlook Nachricht wird NIE gelöscht, egal wie die Einstellung in der Config lautet
- My.Application.Globix.CURR_DELETE_ORIGIN = False
- SourceDeleteItem.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ If DropType = "|DROPFROMFSYSTEM|" Then
+ If My.Application.User.Language <> "de-DE" Then
+ Me.Text = "Storage-Flow of dropped file"
Else
- SourceDeleteItem.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ Me.Text = "Ablage-Flow - Dropped File"
End If
+ ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Then
+ Select Case DropType
+ Case "|FW_MSGONLY|"
+ _Logger.Info(".msg-file from folderwatch")
+ If My.Application.User.Language <> "de-DE" Then
+ Me.Text = "Storage-Flow - msg-File (without Attachments) - from Folderwatch"
+ Else
+ Me.Text = "Ablage-Flow - msg-Datei (ohne Anhang) - aus Folderwatch"
+ End If
+ Case "|OUTLOOK_MESSAGE|"
+ _Logger.Info(".msg-file through dragdrop")
+ If My.Application.User.Language <> "de-DE" Then
+ Me.Text = "Storage-Flow - msg-File (without Attachments)"
+ Else
+ Me.Text = "Ablage-Flow - msg-Datei (ohne Anhang)"
+ End If
+ End Select
- If DropType = "|DROPFROMFSYSTEM|" Then
- If My.Application.User.Language <> "de-DE" Then
- Me.Text = "Indexing of dropped file"
- Else
- Me.Text = "Indexierung der gedroppten Datei"
- End If
- ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Then
- Select Case DropType
- Case "|FW_MSGONLY|"
- _Logger.Info(".msg-file from folderwatch")
- If My.Application.User.Language <> "de-DE" Then
- Me.Text = "Indexing of msg-File (without Attachments) - from Folderwatch"
- Else
- Me.Text = "Indexierung der msg-Datei (ohne Anhang) - aus Folderwatch"
- End If
- Case "|OUTLOOK_MESSAGE|"
- _Logger.Info(".msg-file through dragdrop")
- If My.Application.User.Language <> "de-DE" Then
- Me.Text = "Indexing of msg-File (without Attachments)"
- Else
- Me.Text = "Indexierung der msg-Datei (ohne Anhang)"
- End If
- End Select
-
- ElseIf DropType = "|MSGONLY|" Then
- If My.Application.User.Language = "de-DE" Then
- Me.Text = "Indexierung der msg-Datei (ohne Anhang)"
- Else
- Me.Text = "Indexing of msg-File (without Attachments)"
- End If
- ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
- My.Application.Globix.CURRENT_ISATTACHMENT = True
-
- If My.Application.User.Language = "de-DE" Then
- Me.Text = "Indexierung eines Email-Attachments"
- Else
- Me.Text = "Indexing of email-Attachment"
- End If
- ElseIf DropType = "|FW_SIMPLEINDEXER|" Then
-
- If My.Application.User.Language = "de-DE" Then
- Me.Text = "Indexierung einer Folderwatch-Datei"
- Else
- Me.Text = "Indexing of Folderwatch-File"
- End If
- End If
-
- labelFilePath.Caption = My.Application.Globix.CURRENT_WORKFILE
-
- clswindowLocation.LoadFormLocationSize(Me)
-
- SetFilePreview(My.UIConfig.Globix.FilePreview)
-
- 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")
- 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
- If My.Application.User.Language = "de-DE" Then
- RibbonPageGroupMultiIndex.Text = "Alle nachfolgenden Dateien (" & MULTIFILES & ") identisch indexieren"
- Else
- RibbonPageGroupMultiIndex.Text = "All following files (" & MULTIFILES & ") will be indexed identically"
- End If
-
- chkMultiindexing.Checked = False
- chkMultiindexing.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
-
+ ElseIf DropType = "|MSGONLY|" Then
+ If My.Application.User.Language = "de-DE" Then
+ Me.Text = "Ablage-Flow der msg-Datei (ohne Anhang)"
Else
+ Me.Text = "Storage-Flow of msg-File (without Attachments)"
+ End If
+ ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
+ My.Application.Globix.CURRENT_ISATTACHMENT = True
- chkMultiindexing.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ If My.Application.User.Language = "de-DE" Then
+ Me.Text = "Ablage-Flow eines Email-Attachments"
+ Else
+ Me.Text = "Storage-Flow of email-Attachment"
+ End If
+ ElseIf DropType = "|FW_SIMPLEINDEXER|" Then
+ If My.Application.User.Language = "de-DE" Then
+ Me.Text = "Ablage-Flow einer Folderwatch-Datei"
+ Else
+ Me.Text = "Storage-Flow of Folderwatch-File"
End If
End If
+ labelFilePath.Caption = My.Application.Globix.CURRENT_WORKFILE
- Catch ex As Exception
- _Logger.Warn(" - Unexpected error in Öffnen des Formulares - Fehler: " & vbNewLine & ex.Message)
- _Logger.Error(ex.Message)
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Öffnen des Formulares:")
- End Try
- End Sub
- Private Sub SetFilePreview(ShowPreview As Boolean)
- If ShowPreview Then
- SplitContainerControl1.Collapsed = False
- PreviewFile()
- PreviewItem.Checked = True
- Else
- SplitContainerControl1.Collapsed = True
- PreviewItem.Checked = False
+ clswindowLocation.LoadFormLocationSize(Me)
+
+ SetFilePreview(My.UIConfig.Globix.FilePreview)
+
+ 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")
+ 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
+ If My.Application.User.Language = "de-DE" Then
+ RibbonPageGroupMultiIndex.Text = "Alle nachfolgenden Dateien (" & MULTIFILES & ") identisch indexieren"
+ Else
+ RibbonPageGroupMultiIndex.Text = "All following files (" & MULTIFILES & ") will be indexed identically"
+ End If
+
+ chkMultiindexing.Checked = False
+ chkMultiindexing.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+
+ Else
+
+ chkMultiindexing.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+
+ End If
End If
- End Sub
- Sub PreviewFile()
- Try
- DocumentViewer1.LoadFile(My.Application.Globix.CURRENT_WORKFILE)
- Catch ex As Exception
- _Logger.Error(ex)
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in PreviewFile:")
- End Try
- End Sub
- Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SourceDeleteItem.ItemClick
- If SourceDeleteItem.Visibility <> DevExpress.XtraBars.BarItemVisibility.Never Then
- My.Application.Globix.CURR_DELETE_ORIGIN = SourceDeleteItem.Checked
- My.UIConfig.Globix.DeleteOriginalFile = SourceDeleteItem.Checked
- My.SystemConfigManager.Save()
- End If
- End Sub
- Private Sub BarCheckItem5_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles PreviewItem.CheckedChanged
+ Catch ex As Exception
+ _Logger.Warn(" - Unexpected error in Öffnen des Formulares - Fehler: " & vbNewLine & ex.Message)
+ _Logger.Error(ex.Message)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Öffnen des Formulares:")
+ End Try
+ End Sub
+ Private Sub SetFilePreview(ShowPreview As Boolean)
+ If ShowPreview Then
+ SplitContainerControl1.Collapsed = False
+ PreviewFile()
+ PreviewItem.Checked = True
+ Else
+ SplitContainerControl1.Collapsed = True
+ PreviewItem.Checked = False
+ End If
+ End Sub
+ Sub PreviewFile()
+ Try
+ DocumentViewer1.LoadFile(My.Application.Globix.CURRENT_WORKFILE)
+ Catch ex As Exception
+ _Logger.Error(ex)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in PreviewFile:")
+ End Try
+ End Sub
- End Sub
+ Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SourceDeleteItem.ItemClick
+ If SourceDeleteItem.Visibility <> DevExpress.XtraBars.BarItemVisibility.Never Then
+ My.Application.Globix.CURR_DELETE_ORIGIN = SourceDeleteItem.Checked
+ My.UIConfig.Globix.DeleteOriginalFile = SourceDeleteItem.Checked
+ My.SystemConfigManager.Save()
+ End If
+ End Sub
- Private Sub SourceDeleteItem_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SourceDeleteItem.CheckedChanged
+ Private Sub BarCheckItem5_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles PreviewItem.CheckedChanged
- End Sub
+ End Sub
+
+ Private Sub SourceDeleteItem_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SourceDeleteItem.CheckedChanged
+
+ End Sub
'Private Sub SaveProfileItem_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SaveProfileItem.CheckedChanged
' My.UIConfig.Globix.ProfilePreselection = SaveProfileItem.Checked
@@ -202,16 +208,877 @@ Public Class frmGlobix_Index
'End Sub
Private Sub SkipItem_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SkipItem.ItemClick
- My.Database.ExecuteNonQuery($"DELETE FROM TBGI_FILES_USER WHERE GUID = {My.Application.Globix.CURRENT_WORKFILE_GUID}")
- CancelAttempts = 2
- Close()
- End Sub
+ My.Database.ExecuteNonQuery($"DELETE FROM TBGI_FILES_USER WHERE GUID = {My.Application.Globix.CURRENT_WORKFILE_GUID}")
+ CancelAttempts = 2
+ Close()
+ End Sub
- Private Sub BarCheckItem3_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkMultiindexing.CheckedChanged
- If chkMultiindexing.Checked Then
- chkMultiindexing.Caption = "Active"
+ Private Sub BarCheckItem3_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkMultiindexing.CheckedChanged
+ If chkMultiindexing.Checked Then
+ chkMultiindexing.Caption = "Active"
+ Else
+ chkMultiindexing.Caption = "Inactive"
+ End If
+ End Sub
+
+ Private Sub frmGlobix_Index_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ BringToFront()
+ Focus()
+ Cursor = Cursors.Default
+ Refresh_Dokart()
+ pnlIndex.Controls.Clear()
+
+ checkItemTopMost.Checked = My.UIConfig.Globix.TopMost
+ TopMost = My.UIConfig.Globix.TopMost
+ BringToFront()
+
+ FormLoaded = True
+
+ Try
+ ' Letzte Auswahl merken überschreibt die automatische selektion
+ If My.UIConfig.Globix.ProfilePreselection Then
+ checkItemPreselection.Checked = True
+
+ If My.Application.Globix.CURRENT_LASTDOCTYPE <> "" Then
+ cmbDoctype.SelectedIndex = cmbDoctype.FindStringExact(My.Application.Globix.CURRENT_LASTDOCTYPE)
+ End If
Else
- chkMultiindexing.Caption = "Inactive"
+ If My.Application.Globix.DTTBGI_REGEX_DOCTYPE.Rows.Count > 0 Then
+ For Each oRoW As DataRow In My.Application.Globix.DTTBGI_REGEX_DOCTYPE.Rows
+ Dim oOnlyFilename = Path.GetFileName(My.Application.Globix.CURRENT_WORKFILE)
+ If Regex.IsMatch(oOnlyFilename, oRoW.Item("Regex")) Then
+
+ _Logger.Debug("There is a match on REGEX_DOCTYPE: [{0}]", oRoW.Item("DOCTYPE"))
+ _Logger.Debug("Regex: [{0}], FileName: [{1}]", oRoW.Item("Regex"), oOnlyFilename)
+ cmbDoctype.SelectedIndex = cmbDoctype.FindStringExact(oRoW.Item("DOCTYPE"))
+ Exit For
+ End If
+ Next
+ End If
End If
- End Sub
- End Class
+ Catch ex As Exception
+ _Logger.Warn("Unexpected error DTTBGI_REGEX_DOCTYPE - ErrorMessage: " & vbNewLine & ex.Message)
+
+ End Try
+ 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)
+ cmbDoctype.DataSource = DT_DOKART
+ cmbDoctype.ValueMember = DT_DOKART.Columns("DOCTYPE_ID").ColumnName
+ cmbDoctype.DisplayMember = DT_DOKART.Columns("DOCTYPE").ColumnName
+ cmbDoctype.AutoCompleteMode = AutoCompleteMode.Suggest
+ cmbDoctype.AutoCompleteSource = AutoCompleteSource.ListItems
+ cmbDoctype.SelectedIndex = -1
+ Catch ex As Exception
+ _Logger.Warn("Unexpected error in Refresh_Dokart: " & vbNewLine & ex.Message)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Laden der Dokumentarten:")
+ End Try
+ End Sub
+
+ Private Sub cmbDoctype_SelectedValueChanged(sender As Object, e As EventArgs) Handles cmbDoctype.SelectedValueChanged
+
+ End Sub
+
+ Private Sub cmbDoctype_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbDoctype.SelectedIndexChanged
+ If cmbDoctype.SelectedIndex <> -1 And FormLoaded = True Then
+ If cmbDoctype.SelectedValue.GetType.ToString = "System.Int32" Then
+ My.Application.Globix.CURRENT_DOCTYPE_ID = cmbDoctype.SelectedValue
+
+ 'lblhinweis.Visible = False
+ ClearNotice()
+
+ 'lblerror.Visible = False
+ ClearError()
+
+
+ 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)
+
+
+ My.Application.Globix.CURRENT_DOCTYPE_DuplicateHandling = My.Application.Globix.CURR_DT_DOCTYPE.Rows(0).Item("DUPLICATE_HANDLING").ToString
+ Refresh_IndexeMan(cmbDoctype.SelectedValue)
+ End If
+
+ End If
+ End Sub
+ Private Sub Refresh_IndexeMan(dokartid As Integer)
+ 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)
+ pnlIndex.Visible = True
+ LoadIndexe_Man()
+ Catch ex As System.Exception
+ _Logger.Error(ex)
+ _Logger.Warn("Fehler Refresh_IndexeMan: DOKART-ID: " & dokartid & " - Fehler: " & vbNewLine & ex.Message & vbNewLine & oSql)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Refresh_IndexeMan:")
+ End Try
+ End Sub
+ Sub addLabel(indexname As String, hinweis As String, ylbl As Integer, anz As String)
+ Dim lbl As New Label With {
+ .Name = "lbl" & indexname,
+ .AutoSize = True,
+ .Text = hinweis,
+ .Location = New Point(11, ylbl)
+ }
+
+ pnlIndex.Controls.Add(lbl)
+ End Sub
+ Sub ShowError(text As String)
+ 'lblerror.Visible = True
+ 'lblerror.Text = text
+ 'lblerror.ForeColor = Color.Red
+ labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ labelError.Caption = text
+ End Sub
+ Private Sub LoadIndexe_Man()
+ Try
+ Dim oControlCount As Integer = 1
+ Dim oLabelPosition As Integer = 11
+ Dim oControlPosition As Integer = 33
+ Dim oControls As New GlobixControls(_LogConfig, pnlIndex, Me)
+
+ If DT_INDEXEMAN.Rows.Count = 0 Then
+ ShowError("Keine Manuellen Indizes für die " & vbNewLine & "Dokumentart " & cmbDoctype.Text & " definiert")
+ _Logger.Info(" - Keine Manuellen Indizes für die " & vbNewLine & "Dokumentart " & cmbDoctype.Text & " definiert")
+ End If
+
+ For Each oRow As DataRow In DT_INDEXEMAN.Rows
+ Dim oDataType = oRow.Item("DATATYPE")
+ Dim MultiSelect As Boolean = oRow.Item("MULTISELECT")
+ Dim AddNewItems As Boolean = oRow.Item("VKT_ADD_ITEM")
+ Dim PreventDuplicates As Boolean = oRow.Item("VKT_PREVENT_MULTIPLE_VALUES")
+ Dim oControlName As String = oRow.Item("NAME")
+ Dim oConnectionId = NotNull(oRow.Item("CONNECTION_ID"), 0)
+ Dim oSQLSuggestion = oRow.Item("SUGGESTION")
+
+ If oDataType <> "BOOLEAN" Then
+ 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
+ Select Case oDataType
+ Case "BOOLEAN"
+ Dim chk As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, DefaultValue, 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)
+ If Not IsNothing(oControl) Then
+ pnlIndex.Controls.Add(oControl)
+ End If
+ Else
+ 'nur eine Textbox
+ Dim oControl = oControls.AddTextBox(oControlName, oControlPosition, DefaultValue, 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)
+ If Not IsNothing(oControl) Then
+ pnlIndex.Controls.Add(oControl)
+ End If
+ Else
+ If oControlName.ToString.ToLower = "dateiname" Then
+ Dim oControl = oControls.AddTextBox(oControlName, oControlPosition, System.IO.Path.GetFileNameWithoutExtension(My.Application.Globix.CURRENT_WORKFILE), oDataType)
+ If Not IsNothing(oControl) Then
+ pnlIndex.Controls.Add(oControl)
+ End If
+ Else
+ Dim VORBELGUNG As String = DefaultValue
+ Dim oControl = oControls.AddTextBox(oControlName, oControlPosition, VORBELGUNG, oDataType)
+ If Not IsNothing(oControl) Then
+ pnlIndex.Controls.Add(oControl)
+ End If
+ End If
+ End If
+ Case "DATE"
+ Dim oPicker = oControls.AddDateTimePicker(oControlName, oControlPosition, oDataType, DefaultValue)
+ pnlIndex.Controls.Add(oPicker)
+
+ Case Else
+ If My.Application.User.Language = "de-DE" Then
+ MsgBox("Bitte überprüfen Sie den Datentyp des hinterlegten Indexwertes!", MsgBoxStyle.Critical, "Achtung:")
+ Else
+ MsgBox("Please check Datatype of Indexvalue!", MsgBoxStyle.Critical, "Warning:")
+ End If
+
+ _Logger.Warn(" - Datentyp nicht hinterlegt - LoadIndexe_Man")
+ End Select
+
+ oControlCount += 1
+ oLabelPosition += 50
+ oControlPosition += 50
+ 'make y as height in fom
+ Next
+ Dim oPanelHeight = oControlPosition - 30
+
+ If pnlIndex.Height < oPanelHeight Then
+ If (Me.Height - 315) < oPanelHeight Then
+ Me.Height = (Me.Height - 315) + oPanelHeight
+ End If
+ pnlIndex.Height = oPanelHeight
+ End If
+
+ SendKeys.Send("{TAB}")
+ Catch ex As Exception
+ _Logger.Error(ex)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in LoadIndexe_Man:")
+ End Try
+ End Sub
+ Function GetPlaceholderValue(InputValue As String, FileName As String, UserShortName As String) As String
+ Dim oResult As String
+
+ Try
+ Select Case InputValue.ToString.ToUpper
+ Case "$filename_ext".ToUpper
+ oResult = Path.GetFileName(FileName)
+ Case "$filename".ToUpper
+ oResult = Path.GetFileNameWithoutExtension(FileName)
+ Case "$extension".ToUpper
+ oResult = Path.GetExtension(FileName).Replace(".", "")
+ Case "$FileCreateDate".ToUpper
+ Dim oFileInfo As New FileInfo(FileName)
+ Dim oCreationDate As Date = oFileInfo.CreationTime
+ oResult = oCreationDate.ToShortDateString
+ Case "$FileCreatedWho".ToUpper
+ Dim oFileSecurity As FileSecurity = File.GetAccessControl(FileName)
+ Dim oSecurityId As IdentityReference = oFileSecurity.GetOwner(GetType(SecurityIdentifier))
+ Dim oNTAccount As IdentityReference = oSecurityId.Translate(GetType(NTAccount))
+ Dim oOwner As String = oNTAccount.ToString()
+ oResult = oOwner
+ Case "$DateDDMMYYY".ToUpper
+ oResult = System.DateTime.Now.ToShortDateString
+ Case "$Username".ToUpper
+ oResult = Environment.UserName
+ Case "$Usercode".ToUpper
+ oResult = UserShortName
+ Case Else
+ oResult = InputValue
+ End Select
+ Catch ex As Exception
+ _Logger.Warn("Error in ReplacePlaceholders: " & ex.Message)
+ _Logger.Error(ex.Message)
+ oResult = Nothing
+ End Try
+
+ 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
+ Sub ClearError()
+ labelError.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ labelError.Caption = String.Empty
+ End Sub
+
+ Sub ShowNotice(text As String)
+ 'lblhinweis.Visible = True
+ 'lblhinweis.Text = text
+ labelNotice.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
+ labelNotice.Caption = text
+ End Sub
+
+ Sub ClearNotice()
+ labelNotice.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
+ labelNotice.Caption = String.Empty
+ End Sub
+
+ Private Sub frmGlobix_Index_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
+ If File.Exists(My.Application.Globix.CURRENT_FILENAME) Then
+ Select Case CancelAttempts
+ Case 0
+ If My.Application.User.Language = "de-DE" Then
+ MsgBox("Bitte indexieren Sie die Datei vollständig!" & vbNewLine & "(Abbruch 1 des Indexierungsvorgangs)", MsgBoxStyle.Information)
+ Else
+ MsgBox("Please Index file completely" & vbNewLine & "(Abort 1 of Indexdialog)", MsgBoxStyle.Information)
+ End If
+ CancelAttempts = CancelAttempts + 1
+ e.Cancel = True
+ Case 1
+ Dim result As MsgBoxResult
+ If My.Application.User.Language = "de-DE" Then
+ result = MessageBox.Show("Sie brechen nun zum zweiten Mal den Indexierungsvorgang ab!" & vbNewLine & "Wollen Sie die Indexierung aller Dateien abbrechen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ Else
+ result = MessageBox.Show("You abort the indexdialog for the 2nd time!" & vbNewLine & "Do You want to abort indexing?", "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ End If
+
+ If result = MsgBoxResult.Yes Then
+ Dim containsfw_file As Boolean = False
+ Try
+ My.Application.Globix.ABORT_INDEXING = True
+ Dim sql As String = $"SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('{My.Application.User.UserName}')"
+ Dim DT As DataTable = My.Database.GetDatatable(sql)
+
+ Dim anz = DT.Rows.Count
+ For Each Filerow As DataRow In DT.Rows
+ Dim filestring As String = Filerow.Item("FILENAME2WORK")
+ Dim handletype As String = Filerow.Item("HANDLE_TYPE")
+
+ If handletype = "|MSGONLY|" Or handletype = "|ATTMNTEXTRACTED|" Then
+ Try
+ System.IO.File.Delete(filestring)
+ Catch ex As Exception
+
+ End Try
+
+ ElseIf handletype.StartsWith("|FW") Then
+ containsfw_file = True
+ End If
+ Next
+ 'Zuerst die Daten des Ablaufs löschen
+ If My.Database.ExecuteNonQuery($"DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('{My.Application.User.UserName}')") = True Then
+ If containsfw_file = True Then
+ If My.Application.User.Language = "de-DE" Then
+ MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:")
+ Else
+ MsgBox("The Indexingprocess contained (also) files from folderwatch!" & vbNewLine & "These files weren't deleted and will stay in the folderwatch-folder!" & vbNewLine & "Please move these files manually.", MsgBoxStyle.Information, "Achtung - Hinweis:")
+ End If
+
+ End If
+ End If
+
+
+ Catch ex As Exception
+ _Logger.Error(ex)
+ MsgBox("Unexpected Error in Abort Indexing: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ End Try
+
+ Try
+ My.Application.Globix.INDEXING_ACTIVE = False
+
+ DocumentViewer1.CloseDocument()
+ DocumentViewer1.Done()
+ clswindowLocation.SaveFormLocationSize(Me)
+ My.Settings.Save()
+ Catch ex As Exception
+ _Logger.Info(" - Unexpected error in Schliessen des Formulares - Fehler: " & vbNewLine & ex.Message)
+ _Logger.Error(ex.Message)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Schliessen des Formulares:")
+ End Try
+
+ e.Cancel = False
+ Else
+ e.Cancel = True
+ End If
+ Case Else
+ Try
+ My.Application.Globix.INDEXING_ACTIVE = False
+
+ DocumentViewer1.CloseDocument()
+ DocumentViewer1.Done()
+ clswindowLocation.SaveFormLocationSize(Me)
+ My.Settings.Save()
+ Catch ex As Exception
+ _Logger.Warn(" - Unexpected error in Schliessen des Formulares - Fehler: " & vbNewLine & ex.Message)
+ _Logger.Error(ex)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Schliessen des Formulares:")
+ End Try
+ End Select
+ Else
+ My.Application.Globix.INDEXING_ACTIVE = False
+ End If
+ End Sub
+
+ Private Sub BarButtonItem1_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
+ 'ClearError()
+ 'ClearNotice()
+ 'Me.Cursor = Cursors.WaitCursor
+ 'Refresh_RegexTable()
+ 'For Each rowregex As DataRow In My.Application.BASE_DATA_DT_REGEX.Rows
+ ' If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then
+ ' My.Application.Globix.REGEX_CLEAN_FILENAME = rowregex.Item("REGEX")
+ ' End If
+ 'Next
+ 'If chkMultiindexing.Visibility = DevExpress.XtraBars.BarItemVisibility.Always And chkMultiindexing.Checked = True Then
+ ' 'Die erste Datei indexieren
+ ' If WORK_FILE() = True Then
+ ' 'Und nun die folgenden
+ ' Dim DTFiles2Work As DataTable = My.Database.GetDatatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & My.Application.Globix.CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & My.Application.User.UserName & "')")
+ ' If Not DTFiles2Work Is Nothing Then
+ ' Dim err = False
+ ' For Each filerow As DataRow In DTFiles2Work.Rows
+ ' My.Application.Globix.CURRENT_WORKFILE_GUID = filerow.Item("GUID")
+ ' My.Application.Globix.CURRENT_WORKFILE = filerow.Item("FILENAME2WORK")
+ ' DropType = filerow.Item("HANDLE_TYPE")
+
+ ' If WORK_FILE() = False Then
+ ' err = True
+ ' Exit For
+ ' End If
+ ' Next
+ ' Me.Cursor = Cursors.Default
+ ' If err = False Then
+ ' If My.Application.User.Language = "de-DE" Then
+ ' MsgBox("Alle Dateien wurden mit Multiindexing erfolgreich verarbeitet!", MsgBoxStyle.Information, "Erfolgsmeldung:")
+ ' Else
+ ' MsgBox("All files were successfully processed through Multiindexing", MsgBoxStyle.Information, "Success")
+ ' End If
+
+ ' 'DTACTUAL_FILES.Clear()
+
+ ' DocumentViewer1.CloseDocument()
+ ' DocumentViewer1.Done()
+
+ ' CancelAttempts = 2
+ ' Me.Close()
+ ' End If
+ ' End If
+ ' End If
+ 'Else
+ ' If WORK_FILE() = True Then
+ ' Me.Cursor = Cursors.Default
+ ' If My.UIConfig.Globix.ShowIndexResult = True Then
+ ' 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")
+ ' Else
+ ' MsgBox("File sucessfully processed!" & vbNewLine & "Path:" & vbNewLine & My.Application.Globix.CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Success")
+ ' End If
+ ' End If
+
+ ' DocumentViewer1.CloseDocument()
+ ' DocumentViewer1.Done()
+
+ ' CancelAttempts = 2
+ ' Me.Close()
+ ' End If
+ 'End If
+ 'Me.Cursor = Cursors.Default
+ End Sub
+
+ 'Private Function WORK_FILE()
+ ' Try
+ ' Dim oSQL = $"SELECT * FROM VWDDINDEX_MAN WHERE DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}"
+ ' My.Application.Globix.CURR_DT_MAN_INDEXE = My.Database.GetDatatable(oSQL)
+
+ ' _Logger.Debug("Manuelle Indexe geladen")
+
+ ' If My.Application.Globix.CURR_DT_MAN_INDEXE.Rows.Count > 0 Then
+ ' My.Application.Globix.CURRENT_DOCTYPE_ID = Me.cmbDoctype.SelectedValue
+ ' If CheckWrite_IndexeMan(Me.cmbDoctype.SelectedValue) = True Then
+ ' '##### Manuelle Indexe indexiert #####
+ ' _Logger.Info("Datei [" & My.Application.Globix.CURRENT_WORKFILE & "] wird nun indexiert...")
+ ' If FillIndexe_Autom(Me.cmbDoctype.SelectedValue) = True Then
+ ' _Logger.Debug(" ...FillIndexe_Autom durchlaufen")
+
+ ' 'Den Zielnamen zusammenbauen
+ ' If Name_Generieren() = True Then
+ ' 'Dokumentenviewer ausblenden um keinen Zugriffsfehler zu produzieren
+ ' DocumentViewer1.Done()
+ ' DocumentViewer1.CloseDocument()
+
+ ' _Logger.Debug(" ...Viewer geschlossen")
+ ' 'Die Datei verschieben
+ ' If Move_File2_Target() = True Then
+ ' _Logger.Debug(" ...Move_File2_Target durchlaufen")
+ ' My.Application.Globix.CURRENT_LASTDOCTYPE = cmbDoctype.Text
+ ' _Logger.Info("Datei '" & My.Application.Globix.CURRENT_NEWFILENAME & "' erfolgreich erzeugt.")
+ ' Dim oDEL As String = "DELETE FROM TBGI_FILES_USER WHERE GUID = " & My.Application.Globix.CURRENT_WORKFILE_GUID
+ ' My.Database.ExecuteNonQuery(oDEL)
+ ' Return True
+ ' End If
+
+ ' Else
+ ' If My.Application.User.Language = "de-DE" Then
+ ' MsgBox("Unerwarteter Fehler in Name_Generieren - Bitte überprüfen sie die Logdatei", MsgBoxStyle.Critical)
+ ' Else
+ ' MsgBox("Unexpected error in Name_Generieren - Please check the Logfile", MsgBoxStyle.Critical)
+ ' End If
+ ' Return False
+ ' End If
+ ' Else
+ ' If My.Application.User.Language = "de-DE" Then
+ ' MsgBox("Unerwarteter Fehler in FillIndexe_Autom - Bitte überprüfen sie die Logdatei", MsgBoxStyle.Critical)
+ ' Else
+ ' MsgBox("Unexpected error in FillIndexe_Autom - Please check the Logfile", MsgBoxStyle.Critical)
+ ' End If
+ ' Return False
+ ' End If
+ ' '#### Automatische Werte indexieren ####
+ ' End If
+ ' Else
+ ' If My.Application.User.Language = "de-DE" Then
+ ' MsgBox("Bitte überprüfen Sie die Konfiguration dieser Dokumentart." & vbNewLine & "Es sind KEINE manuellen Indizes konfiguriert oder aktiv geschaltet!", MsgBoxStyle.Exclamation)
+ ' Else
+ ' MsgBox("Please check the configuration for this document-type." & vbNewLine & "There are NO manual indicies that are either configured or set to active!", MsgBoxStyle.Exclamation)
+ ' End If
+ ' Return False
+ ' End If
+ ' Catch ex As Exception
+ ' _Logger.Error(ex)
+ ' MsgBox("Unexpected Error in WORK_FILE:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ ' Return False
+ ' End Try
+ 'End Function
+ 'Function CheckWrite_IndexeMan(dokartid As Integer)
+ ' '#### Zuerst manuelle Werte indexieren ####
+ ' Try
+ ' _Logger.Info("In CheckWrite_IndexeMan")
+ ' Dim result As Boolean = False
+ ' For Each oControl As Control In Me.pnlIndex.Controls
+ ' ' MsgBox(ctrl.Name)
+ ' If oControl.Name.StartsWith("txt") Then
+ ' Dim box As DevExpress.XtraEditors.TextEdit = oControl
+ ' If box.Text = "" Then
+ ' Dim oIndexName = Replace(box.Name, "txt", "")
+ ' Dim optional_index As Boolean = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = dokartid AND INDEXNAME = '{oIndexName}'", "OPTIONAL", "", False)
+ ' 'My.Database.ExecuteNonQuery("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & dokartid & " AND NAME = '" & Replace(box.Name, "txt", "") & "'", MyConnectionString, True)
+ ' If optional_index = False Then
+ ' MsgBox(TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, "Fehlende Eingabe:")
+ ' box.Focus()
+ ' Return False
+ ' Else
+ ' Indexwert_Postprocessing(Replace(box.Name, "txt", ""), "")
+ ' result = True
+ ' End If
+ ' Else
+ ' If Indexwert_checkValueDB(Replace(box.Name, "txt", ""), box.Text) = False Then
+ ' _Logger.Info(" - Der eingegebene Wert wurde nicht in der Datenbank gefunden")
+ ' MsgBox("Der eingegebene Wert wurde nicht in der Datenbank gefunden!", MsgBoxStyle.Exclamation, "Fehlerhafte Indexierung:")
+ ' box.Focus()
+ ' Return False
+ ' Else
+ ' Indexwert_Postprocessing(Replace(box.Name, "txt", ""), box.Text)
+ ' result = True
+ ' End If
+ ' End If
+ ' End If
+
+ ' If oControl.Name.StartsWith("cmbMulti") Then
+ ' Dim oLookup = DirectCast(oControl, DigitalData.Controls.LookupGrid.LookupControl2)
+ ' Dim values As List(Of String) = oLookup.SelectedValues
+
+ ' If values.Count = 0 Then
+ ' Dim oIndexName = Replace(oLookup.Name, "cmbMulti", "")
+ ' Dim optional_index As Boolean = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = dokartid AND INDEXNAME = '{oIndexName}'", "OPTIONAL", "", False)
+ ' 'ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & dokartid & " AND NAME = '" & Replace(oLookup.Name, "cmbMulti", "") & "'", MyConnectionString, True)
+
+ ' If optional_index = False Then
+ ' MsgBox(TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, Text)
+ ' oLookup.Focus()
+ ' Return False
+ ' Else
+ ' Indexwert_Postprocessing(Replace(oLookup.Name, "cmbMulti", ""), "")
+ ' result = True
+ ' End If
+ ' Else
+ ' Dim vectorValue = String.Join(ClassConstants.VECTORSEPARATOR, values)
+ ' Indexwert_Postprocessing(Replace(oLookup.Name, "cmbMulti", ""), vectorValue)
+ ' result = True
+ ' End If
+ ' ElseIf oControl.Name.StartsWith("cmbSingle") Then
+ ' Dim cmbSingle As TextBox = oControl
+
+ ' If cmbSingle.Text = "" Then
+ ' Dim oIndexName = Replace(cmbSingle.Name, "cmbSingle", "")
+ ' Dim optional_index As Boolean = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = dokartid AND INDEXNAME = '{oIndexName}'", "OPTIONAL", "", False)
+ ' 'ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & dokartid & " AND NAME = '" & Replace(cmbSingle.Name, "cmbSingle", "") & "'", MyConnectionString, True)
+
+ ' If optional_index = False Then
+ ' MsgBox(TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, Text)
+ ' cmbSingle.Focus()
+ ' Return False
+ ' Else
+ ' Indexwert_Postprocessing(Replace(cmbSingle.Name, "cmbSingle", ""), "")
+ ' result = True
+ ' End If
+ ' Else
+ ' Indexwert_Postprocessing(Replace(cmbSingle.Name, "cmbSingle", ""), cmbSingle.Text)
+ ' result = True
+ ' End If
+ ' ElseIf oControl.Name.StartsWith("cmb") Then
+ ' Dim cmb As ComboBox = oControl
+ ' If cmb.Text = "" Then
+ ' Dim oIndexName = Replace(cmb.Name, "cmb", "")
+ ' Dim optional_index As Boolean = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = dokartid AND INDEXNAME = '{oIndexName}'", "OPTIONAL", "", False)
+ ' 'Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & dokartid & " AND NAME = '" & Replace(cmb.Name, "cmb", "") & "'", MyConnectionString, True)
+ ' If optional_index = False Then
+ ' MsgBox(TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, Text)
+ ' cmb.Focus()
+ ' Return False
+ ' Else
+ ' Indexwert_Postprocessing(Replace(cmb.Name, "cmb", ""), "")
+ ' result = True
+ ' End If
+ ' Else
+ ' Indexwert_Postprocessing(Replace(cmb.Name, "cmb", ""), cmb.Text)
+ ' result = True
+ ' End If
+ ' End If
+ ' If oControl.Name.StartsWith("dtp") Then
+ ' Dim dtp As DevExpress.XtraEditors.DateEdit = oControl
+ ' Dim oIndexName As String = Replace(dtp.Name, "dtp", "")
+
+ ' If dtp.Text = String.Empty Then
+ ' Dim optional_index As Boolean = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = dokartid AND INDEXNAME = '{oIndexName}'", "OPTIONAL", "", False)
+ ' 'ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {dokartid} AND NAME = '{oIndexName}'", MyConnectionString, True)
+
+ ' If optional_index = False Then
+ ' MsgBox(TEXT_MISSING_INPUT, MsgBoxStyle.Exclamation, Text)
+ ' dtp.Focus()
+ ' Return False
+ ' Else
+ ' Indexwert_Postprocessing(oIndexName, "")
+ ' result = True
+ ' End If
+ ' Else
+ ' Indexwert_Postprocessing(Replace(dtp.Name, "dtp", ""), dtp.Text)
+ ' result = True
+ ' End If
+ ' End If
+ ' If oControl.Name.StartsWith("chk") Then
+ ' Dim chk As CheckBox = oControl
+ ' Indexwert_Postprocessing(Replace(chk.Name, "chk", ""), chk.Checked)
+ ' result = True
+ ' End If
+ ' If TypeOf (oControl) Is Button Then
+ ' Continue For
+ ' End If
+ ' If oControl.Name.StartsWith("lbl") = False And result = False Then
+ ' _Logger.Info("Die Überprüfung der manuellen Indices ist fehlerhaft. Bitte informieren Sie den Systembetreuer")
+ ' Return False
+ ' End If
+ ' Next
+
+ ' Return True
+ ' Catch ex As Exception
+ ' _Logger.Warn(" - Unvorhergesehener Fehler in CheckWrite_IndexeMan - Fehler: " & vbNewLine & ex.Message)
+ ' _Logger.Error(ex.Message)
+ ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Unerwarteter Unexpected error in CheckWrite_IndexeMan:")
+ ' Return False
+ ' End Try
+ 'End Function
+ 'Function FillIndexe_Autom(dokart_id As Integer)
+ ' Try
+
+ ' Dim oSQL = $"SELECT * FROM VWDDINDEX_AUTOM WHERE DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}"
+ ' My.Application.Globix.CURR_DT_AUTO_INDEXE = My.Database.GetDatatable(oSQL)
+
+ ' Dim oRegex As New Regex("\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}")
+
+ ' If My.Application.Globix.CURR_DT_AUTO_INDEXE.Rows.Count = 0 Then
+ ' Return True
+ ' End If
+
+ ' ' 1. Schritt: Einfach-Indexe und Platzhalter ersetzen
+ ' For Each oAutoIndexRow As DataRow In My.Application.Globix.CURR_DT_AUTO_INDEXE.Rows
+ ' _Logger.Info("Working on AutomaticIndex: " & oAutoIndexRow.Item("INDEXNAME") & "...")
+ ' Dim oSqlResult As String = NotNull(oAutoIndexRow.Item("SQL_RESULT"), "")
+ ' Dim oSqlActive As Boolean = NotNull(oAutoIndexRow.Item("SQL_ACTIVE"), False)
+ ' Dim oSqlConnectionId As Integer = NotNull(oAutoIndexRow.Item("CONNECTION_ID"), -1)
+ ' Dim oSqlProvider As String = NotNull(oAutoIndexRow.Item("SQL_PROVIDER"), "")
+ ' Dim oEndResult As New List(Of String)
+
+ ' ' Wenn kein SQL Befehl vorhanden oder aktiv ist,
+ ' ' versuchen wir, die Spalte VALUE zu ersetzen
+ ' If oSqlResult = String.Empty Or oSqlActive = 0 Then
+ ' Dim oPlaceholderResult As String
+ ' Dim oValue As String = NotNull(oAutoIndexRow.Item("VALUE"), "")
+
+ ' oPlaceholderResult = GetPlaceholderValue(oValue, My.Application.Globix.CURRENT_WORKFILE, My.Application.User.ShortName)
+
+ ' If Not IsNothing(oPlaceholderResult) Then
+ ' oValue = oPlaceholderResult
+ ' End If
+
+ ' oAutoIndexRow.Item("Indexiert") = True
+ ' oAutoIndexRow.Item("Indexwert") = oValue
+
+ ' Continue For
+ ' End If
+
+ ' ' Wenn ein SQL Befehl vorhanden und aktiv ist
+ ' ' Alle Platzhalter finden
+ ' Dim oMatches As MatchCollection = oRegex.Matches(oSqlResult)
+
+ ' For Each oMatch As Match In oMatches
+ ' Dim oIndexValue As String = StripPlaceholder(oMatch.Value)
+ ' Dim oOptionalIndex = False
+ ' Dim oPlaceholderResult As String = Nothing
+ ' Dim oManualIndexResult As String = Nothing
+
+ ' ' Einfachen Platzhalter Wert erzeugen
+ ' oPlaceholderResult = GetPlaceholderValue(oIndexValue, My.Application.Globix.CURRENT_WORKFILE, My.Application.User.ShortName)
+
+ ' ' Einfachen Platzhalter ersetzen
+ ' If Not IsNothing(oPlaceholderResult) Then
+ ' oSqlResult = oSqlResult.Replace(oMatch.Value, oPlaceholderResult)
+ ' End If
+
+ ' oOptionalIndex = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID} AND INDEXNAME = '{oIndexValue}'", "OPTIONAL", "", False)
+
+ ' 'ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')", MyConnectionString, True)
+ ' oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex)
+
+ ' ' Wenn Ergebnis den VektorPlatzhalter enthält, soll nichts ersetzt werden.
+ ' ' Werden im nächsten Schritt ersetzt.
+ ' If oManualIndexResult.Contains(ClassConstants.VECTORSEPARATOR) Then
+ ' oManualIndexResult = Nothing
+ ' End If
+
+ ' If Not IsNothing(oManualIndexResult) Then
+ ' oSqlResult = oSqlResult.Replace(oMatch.Value, oManualIndexResult)
+ ' End If
+ ' Next
+
+
+ ' 'TODO: Replace Windream Patterns?
+ ' oSqlResult = clsPatterns.ReplaceControlValues(oSqlResult, pnlIndex)
+ ' oSqlResult = clsPatterns.ReplaceInternalValues(oSqlResult)
+ ' If oSqlResult <> String.Empty Then
+ ' _Logger.Debug("oSqlResult after Replace [" & oSqlResult & "]")
+ ' End If
+ ' ' Ergebnis: Es wurden alle einfachen Platzhalter ersetzt, jetzt haben wir einen SQL Befehl,
+ ' ' der nur noch vektorfelder-platzhalter enthält
+
+ ' ' 2. Schritt: Vektorfelder ersetzen
+ ' Dim oVectorMatches As MatchCollection = oRegex.Matches(oSqlResult)
+ ' If oVectorMatches.Count > 0 Then
+ ' _Logger.Info(" There are " & oVectorMatches.Count & " matches for vectors!")
+ ' Dim oIsFirstMatch = True
+
+ ' For Each oVectorMatch As Match In oVectorMatches
+ ' Dim oIndexValue As String = StripPlaceholder(oVectorMatch.Value)
+ ' Dim oOptionalIndex = False
+ ' Dim oManualIndexResult As String = Nothing
+
+ ' oOptionalIndex = FilterDatatable(My.Application.Globix.CURR_DT_MAN_INDEXE, $"DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID} AND INDEXNAME = '{oIndexValue}'", "OPTIONAL", "", False)
+ ' ' ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')", MyConnectionString, True)
+ ' oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex)
+
+ ' Dim oVectorIndexValues = oManualIndexResult.Split(ClassConstants.VECTORSEPARATOR).ToList()
+
+ ' For Each oVectorIndexValue In oVectorIndexValues
+ ' Dim oTempSql = oSqlResult.Replace(oVectorMatch.Value, oVectorIndexValue)
+ ' Dim oResult = GetAutomaticIndexSQLValue(oTempSql, oSqlConnectionId, oSqlProvider)
+ ' oEndResult.Add(oResult)
+ ' Next
+
+ ' ' Verhindert, dass die Schleife mehrmals durchlaufen wird
+ ' If oIsFirstMatch Then
+ ' Exit For
+ ' End If
+ ' oAutoIndexRow.Item("Indexiert") = True
+ ' oAutoIndexRow.Item("Indexwert") = String.Join(ClassConstants.VECTORSEPARATOR, oEndResult.ToArray)
+ ' Next
+ ' Else
+ ' Dim oResult = GetAutomaticIndexSQLValue(oSqlResult, oSqlConnectionId, oSqlProvider)
+ ' _Logger.Info("Got a simple SQLResult: " & oResult.ToString)
+ ' oAutoIndexRow.Item("Indexiert") = True
+ ' oAutoIndexRow.Item("Indexwert") = oResult
+
+ ' End If
+ ' Next
+
+ ' Return True
+ ' Catch ex As Exception
+ ' _Logger.Error(ex)
+ ' MsgBox(ex.Message)
+ ' Return False
+ ' End Try
+ 'End Function
+ 'Function GetAutomaticIndexSQLValue(SQLCommand As String, vconnectionID As Integer, vProvider As String) As String
+ ' Try
+ ' Dim oConnectionString As String
+ ' oConnectionString = My.Database.Get_ConnectionStringforID(vconnectionID)
+ ' If oConnectionString <> "" Then
+ ' 'NEU
+ ' Dim oErgebnis
+ ' 'Welcher Provider?
+ ' 'If vProvider.ToLower = "oracle" Then
+ ' 'oErgebnis = My.Database.leExecute_Scalar(SQLCommand, oConnectionString)
+ ' 'Else 'im Moment nur SQL-Server
+ ' oErgebnis = My.Database.GetScalarValueConStr(SQLCommand, oConnectionString)
+ ' 'End If
+
+
+ ' _Logger.Debug("SQL-ConnectionString: " & oConnectionString.Substring(0, oConnectionString.LastIndexOf("=")))
+
+
+ ' If oErgebnis Is Nothing Then
+ ' 'showlblhinweis("Kein Ergebnis für automatisches SQL: " & vsqlstatement)
+ ' Return ""
+ ' Else
+ ' Return oErgebnis
+ ' End If
+ ' End If
+
+ ' Catch ex As Exception
+ ' _Logger.Warn(" - Unexpected error in Get_AutomatischerIndex_SQL - Fehler: " & vbNewLine & ex.Message)
+ ' _Logger.Error(ex.Message)
+ ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Get_AutomatischerIndex_SQL:")
+ ' Return ""
+ ' End Try
+ 'End Function
+ 'Sub Indexwert_Postprocessing(indexname As String, wert_in As String)
+ ' Try
+
+ ' Dim value_post As String = ""
+ ' For Each oDataRow As DataRow In My.Application.Globix.CURR_DT_MAN_INDEXE.Rows
+ ' If oDataRow.Item("INDEXNAME") = indexname Then
+ ' Dim idxid As Integer = oDataRow.Item("GUID")
+ ' If idxid > 0 Then
+ ' ' In jedem Fall schon mal den Wert einfügen
+ ' oDataRow.Item("Indexwert") = wert_in
+ ' 'Die Nachbearbeitungsschritte laden
+ ' '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)
+ ' oDataRow.Item("Indexwert") = wert_in
+ ' oDataRow.Item("Indexwert_File") = value_post
+ ' End If
+ ' End If
+ ' 'Jetzt die Fälle für die Variante FILE AND 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)
+ ' oDataRow.Item("Indexwert") = value_post
+ ' End If
+ ' End If
+ ' End If
+ ' oDataRow.Item("Indexiert") = True
+ ' End If
+ ' Next
+ ' Catch ex As Exception
+ ' _Logger.Warn(" - Unvorhergesehener Unexpected error in Indexwert_Postprocessing - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
+ ' _Logger.Error(ex.Message)
+ ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Indexwert_Postprocessing:")
+ ' End Try
+ 'End Sub
+End Class
diff --git a/GUIs.ZooFlow/ModuleHelpers.vb b/GUIs.ZooFlow/ModuleHelpers.vb
index fb3e6f45..b2e1b966 100644
--- a/GUIs.ZooFlow/ModuleHelpers.vb
+++ b/GUIs.ZooFlow/ModuleHelpers.vb
@@ -56,5 +56,26 @@ Module ModuleHelpers
Public Sub Refresh_RegexTable()
My.Application.BASE_DATA_DT_REGEX = My.Database.GetDatatable("SELECT * FROM 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
+ Dim dv As DataView = myDatatable.DefaultView
+ dv.RowFilter = myFilter
+ If dv.Count = 1 And returnDT = False Then
+ For Each rowView As DataRowView In dv
+ Dim row As DataRow = rowView.Row
+ Return row.Item(mycheckColumn)
+ Next
+ Else
+ Dim dt_copy As DataTable = New DataTable()
+ dt_copy = myDatatable.Select(myFilter, pSortString).CopyToDataTable()
+
+ Return dt_copy
+ End If
+ Catch ex As Exception
+ MsgBox("Unexpected error in FilterDatatable: " + ex.Message, MsgBoxStyle.Critical)
+ Return Nothing
+ End Try
+
+ End Function
End Module
diff --git a/GUIs.ZooFlow/ClassControlCreator.vb b/GUIs.ZooFlow/Search/ClassControlCreator.vb
similarity index 100%
rename from GUIs.ZooFlow/ClassControlCreator.vb
rename to GUIs.ZooFlow/Search/ClassControlCreator.vb
diff --git a/GUIs.ZooFlow/frmSearchPredefined.Designer.vb b/GUIs.ZooFlow/Search/frmSearchPredefined.Designer.vb
similarity index 100%
rename from GUIs.ZooFlow/frmSearchPredefined.Designer.vb
rename to GUIs.ZooFlow/Search/frmSearchPredefined.Designer.vb
diff --git a/GUIs.ZooFlow/frmSearchPredefined.resx b/GUIs.ZooFlow/Search/frmSearchPredefined.resx
similarity index 100%
rename from GUIs.ZooFlow/frmSearchPredefined.resx
rename to GUIs.ZooFlow/Search/frmSearchPredefined.resx
diff --git a/GUIs.ZooFlow/frmSearchPredefined.vb b/GUIs.ZooFlow/Search/frmSearchPredefined.vb
similarity index 100%
rename from GUIs.ZooFlow/frmSearchPredefined.vb
rename to GUIs.ZooFlow/Search/frmSearchPredefined.vb
diff --git a/GUIs.ZooFlow/frmSearchStart.Designer.vb b/GUIs.ZooFlow/Search/frmSearchStart.Designer.vb
similarity index 98%
rename from GUIs.ZooFlow/frmSearchStart.Designer.vb
rename to GUIs.ZooFlow/Search/frmSearchStart.Designer.vb
index d572c143..122afffb 100644
--- a/GUIs.ZooFlow/frmSearchStart.Designer.vb
+++ b/GUIs.ZooFlow/Search/frmSearchStart.Designer.vb
@@ -126,7 +126,8 @@ Partial Class frmSearchStart
'
Me.BarButtonNewSearch.Caption = "Neue Suche"
Me.BarButtonNewSearch.Id = 1
- Me.BarButtonNewSearch.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonNewSearch.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.BarButtonNewSearch.ImageOptions.Image = CType(resources.GetObject("BarButtonNewSearch.ImageOptions.Image"), System.Drawing.Image)
+ Me.BarButtonNewSearch.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonNewSearch.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonNewSearch.Name = "BarButtonNewSearch"
'
'BarButtonSaveSearch
@@ -186,7 +187,7 @@ Partial Class frmSearchStart
'
'BarButtonStartSearch
'
- Me.BarButtonStartSearch.Caption = "Suche starten (F2)"
+ Me.BarButtonStartSearch.Caption = "Finden (F2)"
Me.BarButtonStartSearch.Id = 9
Me.BarButtonStartSearch.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonStartSearch.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonStartSearch.Name = "BarButtonStartSearch"
diff --git a/GUIs.ZooFlow/frmSearchStart.resx b/GUIs.ZooFlow/Search/frmSearchStart.resx
similarity index 98%
rename from GUIs.ZooFlow/frmSearchStart.resx
rename to GUIs.ZooFlow/Search/frmSearchStart.resx
index e343c8eb..91b7a812 100644
--- a/GUIs.ZooFlow/frmSearchStart.resx
+++ b/GUIs.ZooFlow/Search/frmSearchStart.resx
@@ -135,22 +135,24 @@
Zz4L
-
+
+
- AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
- LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/
- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
- IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
- MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
- Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
- ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
- OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
- dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0
- QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0
- LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
- Cjwvc3ZnPgs=
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
+ cztCYXJzO1JpYmJvbjuVBjMvAAAAYElEQVQ4T92MUQqAMAxDd0Ev5am8XbTSlEwyRBwIfrzRpelrAF5h
+ Q7KsG5KYbceG5EeCnG3HhkQFI86HxadMFRTxJ1q85NXtAiXzEuiOzBOMOEqdQHfEhoSCOP5GcA/aDplf
+ q/kc1pC+AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
+ cztCYXJzO1JpYmJvbjuVBjMvAAAAj0lEQVRYR+3OUQqEMAxFUTfoplyVu4vNhyDpRR4Sokg+DsKdafsW
+ M3sVxkoYK2GshLESRsW67XYVf1dhVPSAHtAD/j0gXp4lvuOm4OhwhviOm4KjwxniO24Kjg5niO+4KaiU
+ yxUYFTRgfG9dz58wKsaF3xvwBEZFD6AB44v/vYNR0QOyYKyEsRLGShjr2HIAeeWOhN7Trl4AAAAASUVO
+ RK5CYII=
@@ -190,20 +192,15 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
- dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALcBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
- Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
- MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
- LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
- MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
- Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
- MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
- bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iR2V0dGluZ1N0YXJ0ZWQiPg0KICAg
- IDxwYXRoIGQ9Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMy
- My43LDIsMTYsMnogTTEyLDIyVjEwbDEwLDZMMTIsMjJ6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N
- Cjwvc3ZnPgs=
+ Y2U9InByZXNlcnZlIiBpZD0iTmV4dCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg
+ MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KPC9zdHls
+ ZT4NCiAgPHBhdGggZD0iTTguOSw0LjFDOC40LDMuOCw4LDQuMSw4LDQuNnYyMC43YzAsMC42LDAuNCww
+ LjgsMC45LDAuNWwxNi44LTEwLjNjMC41LTAuMywwLjUtMC44LDAtMS4xTDguOSw0LjF6IiBjbGFzcz0i
+ Qmx1ZSIgLz4NCjwvc3ZnPgs=
@@ -275,7 +272,6 @@
73
-
AAABAAYAAAAAAAEAIABNFwAAZgAAAICAAAABACAAKAgBALMXAABAQAAAAQAgAChCAADbHwEAMDAAAAEA
diff --git a/GUIs.ZooFlow/frmSearchStart.vb b/GUIs.ZooFlow/Search/frmSearchStart.vb
similarity index 89%
rename from GUIs.ZooFlow/frmSearchStart.vb
rename to GUIs.ZooFlow/Search/frmSearchStart.vb
index 4d07cbbd..553dcf74 100644
--- a/GUIs.ZooFlow/frmSearchStart.vb
+++ b/GUIs.ZooFlow/Search/frmSearchStart.vb
@@ -33,6 +33,7 @@ Public Class frmSearchStart
Public DataLoaded As Boolean = False
Private DatatableAttributes As DataTable
+ Private DatatableAttributeLinks As DataTable
Private DatatableSearchProfiles As DataTable
Private LastSearchForm As frmDocumentResultList
@@ -139,12 +140,17 @@ Public Class frmSearchStart
Dim oWatch1 As New Watch("Getting data from Database")
Dim oSQL = $"SELECT * FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = {SEARCH_ID} ORDER BY [SEQUENCE]"
Dim oDT As DataTable = Await My.DatabaseIDB.GetDatatableAsync(oSQL)
+ oSQL = $"SELECT * FROM VWIDB_SEARCH_ATTRIBUTES_LINKS WHERE SEARCH_PROFIL_ID = {SEARCH_ID} ORDER BY DEP_ATTR_ID"
+ Dim oDT1 As DataTable = Await My.DatabaseIDB.GetDatatableAsync(oSQL)
oWatch1.Stop()
Dim oWatch2 As New Watch("Procesing Dataset")
DatatableAttributes = Nothing
DatatableAttributes = oDT.Clone()
oDT.Select("", "SEQUENCE").CopyToDataTable(DatatableAttributes, LoadOption.PreserveChanges)
+ DatatableAttributeLinks = Nothing
+ DatatableAttributeLinks = oDT1.Clone()
+ oDT1.Select("", "DEP_ATTR_ID").CopyToDataTable(DatatableAttributeLinks, LoadOption.PreserveChanges)
oWatch2.Stop()
Dim oControlCount As Integer = 1
@@ -154,7 +160,7 @@ Public Class frmSearchStart
Dim YActControlHeight As Integer = 0
Dim XActControlWidth As Integer = 0
- For Each oAttributeRow As DataRow In oDT.Rows
+ For Each oAttributeRow As DataRow In DatatableAttributes.Rows
Dim oXPosition As Integer
Dim oYPositionControl As Integer
Dim oYPositionLabel As Integer
@@ -236,6 +242,12 @@ Public Class frmSearchStart
oMyLastGridView = oView
oView.FocusInvalidRow()
+ 'Prüfen ob für dieses Grid eine Abhängigkeit definiert ist?
+ For Each oROW As DataRow In DatatableAttributeLinks.Rows
+ If CInt(oROW.Item("LINKED_ATTR_ID")) = oAttriID Then
+ AddHandler oView.FocusedRowChanged, AddressOf FocusedRowChanged
+ End If
+ Next
ElseIf oAttributeType = ATTR_TYPE_DATE Then
oMyControl = oControls.CreateExistingDatepicker(oAttributeRow, oXPosition, oYPositionControl)
@@ -373,21 +385,66 @@ Public Class frmSearchStart
End Select
Next
End Sub
+ Private Sub Link2ControlActivated(pAttributeID)
+
+
+ For Each oControl As Control In SelectedTab.Controls
+ Dim octrlType = oControl.GetType.ToString
+ Dim oAttrID As Integer
+ Dim oAttrTitle As String
+ Select Case oControl.GetType.FullName
+ Case GetType(GridControl).FullName
+ Dim oMyGridControl As GridControl = CType(oControl, GridControl)
+ Dim oMyGridView As GridView = CType(oMyGridControl.MainView, GridView)
+ oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttributeID
+ oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttributeTitle
+ If pAttributeID = oAttrID Then
+ MsgBox("Attribute" & oAttrTitle & " is linked")
+ Continue For
+ End If
+
+ Case GetType(DateEdit).FullName
+ ' MsgBox("Date")
+ Dim oDateEdit As DateEdit = CType(oControl, DateEdit)
+ oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttributeID
+ oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttributeTitle
+ If pAttributeID = oAttrID Then
+
+ Continue For
+ End If
+
+ Case GetType(CheckBox).FullName
+ Dim myCheckBox As CheckBox = CType(oControl, CheckBox)
+ oAttrID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttributeID
+ oAttrTitle = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).AttributeTitle
+
+ Case Else
+ 'MsgBox(oControl.GetType.ToString)
+ End Select
+ Next
+ End Sub
Private Sub FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs)
If DataLoaded = False Then Exit Sub
- Dim oCurrentView As GridView = DirectCast(sender, GridView)
- Dim oCurrentControl As GridControl = oCurrentView.GridControl
- Dim oRowView As DataRowView = CType(oCurrentView.GetFocusedRow(), DataRowView)
- If IsNothing(oRowView) = False Then
- Dim oResult As String = CType(oRowView.Item(0), String)
- Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttributeID
- Dim oAttrTitle = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttributeTitle
- ' RenewSearchAttributes()
- ' AddSearchAttribute(oAttrID, oAttrTitle, oResult)
+ Dim oMyGridView As GridView = DirectCast(sender, GridView)
+ Dim oMyGridControl As GridControl = oMyGridView.GridControl
+ Dim oSelectedRows As Integer() = oMyGridView.GetSelectedRows()
+ If oSelectedRows.Count = 0 Then
+ Exit Sub
End If
+ Dim oAttrID As Integer
+ Dim oAttrTitle As String
+ oAttrID = DirectCast(oMyGridControl.Tag, ClassControlCreator.ControlMetadata).AttributeID
+ oAttrTitle = DirectCast(oMyGridControl.Tag, ClassControlCreator.ControlMetadata).AttributeTitle
+ For Each orow As DataRow In DatatableAttributeLinks.Rows
+ If CInt(orow.Item("LINKED_ATTR_ID")) = oAttrID Then
+ ' Nun die Controls durchlaufen
+ Link2ControlActivated(CInt(orow.Item("DEP_ATTR_ID")))
+ End If
+ Next
+
End Sub
Private Sub CheckBox_CheckedChanged(sender As Object, e As EventArgs)
diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj
index b2221d76..5bef7657 100644
--- a/GUIs.ZooFlow/ZooFlow.vbproj
+++ b/GUIs.ZooFlow/ZooFlow.vbproj
@@ -114,9 +114,9 @@
-
-
-
+
+
+
@@ -153,16 +153,16 @@
Form
-
+
frmSearchPredefined.vb
-
+
Form
-
+
frmSearchStart.vb
-
+
Form
@@ -223,10 +223,10 @@
frmGlobix_Index.vb
-
+
frmSearchPredefined.vb
-
+
frmSearchStart.vb
@@ -368,7 +368,9 @@
-
+
+
+