This commit is contained in:
SchreiberM 2021-01-12 17:25:58 +01:00
parent ce6c69b742
commit 0a5439e413
14 changed files with 129 additions and 91 deletions

View File

@ -136,8 +136,20 @@ Public Class ClassInit
My.Application.Globix.DT_FUNCTION_REGEX = My.Database.GetDatatable(oSql) My.Application.Globix.DT_FUNCTION_REGEX = My.Database.GetDatatable(oSql)
oSql = "SELECT * FROM TBIDB_COMMON_SQL WHERE ACTIVE = 1" oSql = "SELECT * FROM TBIDB_COMMON_SQL WHERE ACTIVE = 1"
My.DTCOMMON_SQL = My.DatabaseIDB.GetDatatable(oSql) My.DTCOMMON_SQL = My.DatabaseIDB.GetDatatable(oSql)
oSql = "SELECT * FROM TBIDB_CATALOG"
My.DTCATALOG = My.DatabaseIDB.GetDatatable(oSql)
For Each oRow As DataRow In My.DTCATALOG.Rows
'Console.WriteLine(oRow.Item("CAT_TITLE").ToString)
Select Case oRow.Item("CAT_TITLE").ToString
Case "FILESTORE_ARCHIVE"
My.Filestore_Archive = oRow.Item("CAT_STRING")
Case "FILESTORE_WORK"
My.Filestore_Work = oRow.Item("CAT_STRING")
My.Filestore_Work = "Q:\DigitalData - IDB"
End Select
Next
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
Throw New InitException("Error in InitBasicData") Throw New InitException("Error in InitBasicData")
@ -302,6 +314,7 @@ Public Class ClassInit
_Logger.Info($"Wrong WorkingMode: {oLine}") _Logger.Info($"Wrong WorkingMode: {oLine}")
End If End If
Next Next
End Select End Select
End Sub End Sub
End Class End Class

View File

@ -220,7 +220,7 @@ Public Class ClassFilehandle
''' <param name="sChar">Ersatzzeichen für alle unzulässigen Zeichen ''' <param name="sChar">Ersatzzeichen für alle unzulässigen Zeichen
''' im Dateinamen</param> ''' im Dateinamen</param>
Public Function CleanFilename(ByVal sFilename As String, Optional ByVal REPLACEChar As String = "") As String Public Function CleanFilename(ByVal sFilename As String, Optional ByVal REPLACEChar As String = "") As String
_LOGGER.Info(" >> Filename before CleanFilename: '" & sFilename & "'") _LOGGER.Info(" Filename before CleanFilename: '" & sFilename & "'")
If sFilename.Contains(".\") Then If sFilename.Contains(".\") Then
sFilename = sFilename.Replace(".\", "\") sFilename = sFilename.Replace(".\", "\")
End If End If
@ -235,7 +235,7 @@ Public Class ClassFilehandle
sFilename = System.Text.RegularExpressions.Regex.Replace(sFilename, "[\\/:*?""<>|\r\n]", "", System.Text.RegularExpressions.RegexOptions.Singleline) sFilename = System.Text.RegularExpressions.Regex.Replace(sFilename, "[\\/:*?""<>|\r\n]", "", System.Text.RegularExpressions.RegexOptions.Singleline)
'Dim oCleanFileName As String = String.Join(REPLACEChar, sFilename.Split(Path.GetInvalidFileNameChars())) 'Dim oCleanFileName As String = String.Join(REPLACEChar, sFilename.Split(Path.GetInvalidFileNameChars()))
Dim oCleanFileName As New System.IO.FileInfo(System.Text.RegularExpressions.Regex.Replace(sFilename, String.Format("[{0}]", String.Join(String.Empty, Path.GetInvalidFileNameChars)), REPLACEChar)) Dim oCleanFileName As New System.IO.FileInfo(System.Text.RegularExpressions.Regex.Replace(sFilename, String.Format("[{0}]", String.Join(String.Empty, Path.GetInvalidFileNameChars)), REPLACEChar))
_LOGGER.Info(" >> Filename after CleanFilename: '" & sFilename & "'") _LOGGER.Info("Filename after CleanFilename: '" & sFilename & "'")
Return sFilename Return sFilename
End Function End Function
End Class End Class

View File

@ -78,7 +78,7 @@ Public Class GlobixControls
.IndexType = DataType .IndexType = DataType
} }
} }
oControl.Properties.AppearanceFocused.BackColor = Color.Lime oControl.Properties.AppearanceFocused.BackColor = Color.LightGray
If Not String.IsNullOrEmpty(Vorgabe) Then If Not String.IsNullOrEmpty(Vorgabe) Then
Dim oDefaultValues As New List(Of String) Dim oDefaultValues As New List(Of String)
@ -105,7 +105,7 @@ Public Class GlobixControls
_Logger.Debug("Connection String (redacted): [{0}]", oConnectionString.Substring(0, 30)) _Logger.Debug("Connection String (redacted): [{0}]", oConnectionString.Substring(0, 30))
If Patterns.HasComplexPatterns(oSql) Then If Patterns.HasComplexPatterns(oSql) Then
_Logger.Debug(" >>sql enthält Platzhalter und wird erst während der Laufzeit gefüllt!", False) _Logger.Debug("sql enthält Platzhalter und wird erst während der Laufzeit gefüllt!", False)
Else Else
Dim oDatatable = My.Database.GetDatatableWithConnection(oSql, oConnectionString) Dim oDatatable = My.Database.GetDatatableWithConnection(oSql, oConnectionString)
oControl.DataSource = oDatatable oControl.DataSource = oDatatable
@ -157,7 +157,7 @@ Public Class GlobixControls
Public Sub OncmbGotFocus(sender As System.Object, e As System.EventArgs) Public Sub OncmbGotFocus(sender As System.Object, e As System.EventArgs)
Dim cmb As ComboBox = sender Dim cmb As ComboBox = sender
cmb.BackColor = Color.Lime cmb.BackColor = Color.LightGray
End Sub End Sub
Public Sub OncmbLostFocus(sender As System.Object, e As System.EventArgs) Public Sub OncmbLostFocus(sender As System.Object, e As System.EventArgs)
@ -333,7 +333,7 @@ Public Class GlobixControls
Public Sub OnTextBoxFocus(sender As System.Object, e As System.EventArgs) Public Sub OnTextBoxFocus(sender As System.Object, e As System.EventArgs)
Dim oTextbox As DevExpress.XtraEditors.TextEdit = sender Dim oTextbox As DevExpress.XtraEditors.TextEdit = sender
oTextbox.BackColor = Color.Lime oTextbox.BackColor = Color.LightGray
oTextbox.SelectAll() oTextbox.SelectAll()
End Sub End Sub
@ -383,7 +383,7 @@ Public Class GlobixControls
oPicker.EditValue = Vorgabe oPicker.EditValue = Vorgabe
End If End If
oPicker.Properties.AppearanceFocused.BackColor = Color.Lime oPicker.Properties.AppearanceFocused.BackColor = Color.LightGray
Return oPicker Return oPicker
End Function End Function

View File

@ -39,7 +39,6 @@ Partial Class frmGlobix_Index
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarHeaderItem1 = New DevExpress.XtraBars.BarHeaderItem() Me.BarHeaderItem1 = New DevExpress.XtraBars.BarHeaderItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupMultiIndex = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupMultiIndex = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@ -49,21 +48,22 @@ Partial Class frmGlobix_Index
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.pnlIndex = New System.Windows.Forms.Panel() Me.pnlIndex = New System.Windows.Forms.Panel()
Me.Panel3 = New System.Windows.Forms.Panel() Me.Panel3 = New System.Windows.Forms.Panel()
Me.PictureEdit1 = New DevExpress.XtraEditors.PictureEdit()
Me.Panel1 = New System.Windows.Forms.Panel() Me.Panel1 = New System.Windows.Forms.Panel()
Me.Label1 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label()
Me.cmbDoctype = New System.Windows.Forms.ComboBox() Me.cmbDoctype = New System.Windows.Forms.ComboBox()
Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer() Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer()
Me.PictureEdit1 = New DevExpress.XtraEditors.PictureEdit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout() Me.SplitContainerControl1.SuspendLayout()
Me.Panel3.SuspendLayout() Me.Panel3.SuspendLayout()
Me.Panel1.SuspendLayout()
CType(Me.PictureEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'RibbonControl1 'RibbonControl1
' '
Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem2, Me.BarButtonItem3, Me.SkipItem, Me.BarButtonItem5, Me.checkItemTopMost, Me.SourceDeleteItem, Me.checkItemPreselection, Me.PreviewItem, Me.labelFilePath, Me.labelError, Me.labelNotice, Me.chkMultiindexing, Me.BarButtonItem1, Me.BarHeaderItem1}) Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem2, Me.BarButtonItem3, Me.SkipItem, Me.BarButtonItem5, Me.checkItemTopMost, Me.SourceDeleteItem, Me.checkItemPreselection, Me.PreviewItem, Me.labelFilePath, Me.labelError, Me.labelNotice, Me.chkMultiindexing, Me.BarButtonItem1, Me.BarHeaderItem1})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
@ -71,7 +71,8 @@ Partial Class frmGlobix_Index
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1005, 158) Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
Me.RibbonControl1.Size = New System.Drawing.Size(1005, 66)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
' '
'BarButtonItem2 'BarButtonItem2
@ -185,18 +186,10 @@ Partial Class frmGlobix_Index
' '
'RibbonPage1 'RibbonPage1
' '
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup1, Me.RibbonPageGroupMultiIndex, Me.RibbonPageGroup2}) Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupMultiIndex, Me.RibbonPageGroup2})
Me.RibbonPage1.Name = "RibbonPage1" Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start" Me.RibbonPage1.Text = "Start"
' '
'RibbonPageGroup3
'
Me.RibbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup3.AllowTextClipping = False
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
Me.RibbonPageGroup3.Text = "Start"
'
'RibbonPageGroup1 'RibbonPageGroup1
' '
Me.RibbonPageGroup1.ItemLinks.Add(Me.SourceDeleteItem) Me.RibbonPageGroup1.ItemLinks.Add(Me.SourceDeleteItem)
@ -224,10 +217,10 @@ Partial Class frmGlobix_Index
Me.RibbonStatusBar1.ItemLinks.Add(Me.labelFilePath) Me.RibbonStatusBar1.ItemLinks.Add(Me.labelFilePath)
Me.RibbonStatusBar1.ItemLinks.Add(Me.labelError) Me.RibbonStatusBar1.ItemLinks.Add(Me.labelError)
Me.RibbonStatusBar1.ItemLinks.Add(Me.labelNotice) Me.RibbonStatusBar1.ItemLinks.Add(Me.labelNotice)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 572) Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 574)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1005, 24) Me.RibbonStatusBar1.Size = New System.Drawing.Size(1005, 22)
' '
'RibbonPage2 'RibbonPage2
' '
@ -245,7 +238,7 @@ Partial Class frmGlobix_Index
' '
Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2 Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 158) Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 66)
Me.SplitContainerControl1.Name = "SplitContainerControl1" Me.SplitContainerControl1.Name = "SplitContainerControl1"
Me.SplitContainerControl1.Panel1.Controls.Add(Me.pnlIndex) Me.SplitContainerControl1.Panel1.Controls.Add(Me.pnlIndex)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.Panel3) Me.SplitContainerControl1.Panel1.Controls.Add(Me.Panel3)
@ -253,7 +246,7 @@ Partial Class frmGlobix_Index
Me.SplitContainerControl1.Panel1.Text = "Panel1" Me.SplitContainerControl1.Panel1.Text = "Panel1"
Me.SplitContainerControl1.Panel2.Controls.Add(Me.DocumentViewer1) Me.SplitContainerControl1.Panel2.Controls.Add(Me.DocumentViewer1)
Me.SplitContainerControl1.Panel2.Text = "Panel2" Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(1005, 414) Me.SplitContainerControl1.Size = New System.Drawing.Size(1005, 508)
Me.SplitContainerControl1.SplitterPosition = 591 Me.SplitContainerControl1.SplitterPosition = 591
Me.SplitContainerControl1.TabIndex = 2 Me.SplitContainerControl1.TabIndex = 2
' '
@ -262,18 +255,31 @@ Partial Class frmGlobix_Index
Me.pnlIndex.Dock = System.Windows.Forms.DockStyle.Fill Me.pnlIndex.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlIndex.Location = New System.Drawing.Point(0, 50) Me.pnlIndex.Location = New System.Drawing.Point(0, 50)
Me.pnlIndex.Name = "pnlIndex" Me.pnlIndex.Name = "pnlIndex"
Me.pnlIndex.Size = New System.Drawing.Size(591, 255) Me.pnlIndex.Size = New System.Drawing.Size(591, 383)
Me.pnlIndex.TabIndex = 3 Me.pnlIndex.TabIndex = 3
' '
'Panel3 'Panel3
' '
Me.Panel3.Controls.Add(Me.PictureEdit1) Me.Panel3.Controls.Add(Me.PictureEdit1)
Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel3.Location = New System.Drawing.Point(0, 305) Me.Panel3.Location = New System.Drawing.Point(0, 433)
Me.Panel3.Name = "Panel3" Me.Panel3.Name = "Panel3"
Me.Panel3.Size = New System.Drawing.Size(591, 109) Me.Panel3.Size = New System.Drawing.Size(591, 75)
Me.Panel3.TabIndex = 2 Me.Panel3.TabIndex = 2
' '
'PictureEdit1
'
Me.PictureEdit1.Dock = System.Windows.Forms.DockStyle.Fill
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZooFlow_25
Me.PictureEdit1.Location = New System.Drawing.Point(0, 0)
Me.PictureEdit1.MenuManager = Me.RibbonControl1
Me.PictureEdit1.Name = "PictureEdit1"
Me.PictureEdit1.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Office2003
Me.PictureEdit1.Properties.ShowCameraMenuItem = DevExpress.XtraEditors.Controls.CameraMenuItemVisibility.[Auto]
Me.PictureEdit1.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom
Me.PictureEdit1.Size = New System.Drawing.Size(591, 75)
Me.PictureEdit1.TabIndex = 0
'
'Panel1 'Panel1
' '
Me.Panel1.Controls.Add(Me.Label1) Me.Panel1.Controls.Add(Me.Label1)
@ -308,23 +314,12 @@ Partial Class frmGlobix_Index
'DocumentViewer1 'DocumentViewer1
' '
Me.DocumentViewer1.Dock = System.Windows.Forms.DockStyle.Fill Me.DocumentViewer1.Dock = System.Windows.Forms.DockStyle.Fill
Me.DocumentViewer1.FileLoaded = False
Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0) Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer1.Name = "DocumentViewer1" Me.DocumentViewer1.Name = "DocumentViewer1"
Me.DocumentViewer1.Size = New System.Drawing.Size(404, 414) Me.DocumentViewer1.Size = New System.Drawing.Size(404, 508)
Me.DocumentViewer1.TabIndex = 0 Me.DocumentViewer1.TabIndex = 0
' '
'PictureEdit1
'
Me.PictureEdit1.Dock = System.Windows.Forms.DockStyle.Right
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZooFlow_25
Me.PictureEdit1.Location = New System.Drawing.Point(384, 0)
Me.PictureEdit1.MenuManager = Me.RibbonControl1
Me.PictureEdit1.Name = "PictureEdit1"
Me.PictureEdit1.Properties.ShowCameraMenuItem = DevExpress.XtraEditors.Controls.CameraMenuItemVisibility.[Auto]
Me.PictureEdit1.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom
Me.PictureEdit1.Size = New System.Drawing.Size(207, 109)
Me.PictureEdit1.TabIndex = 0
'
'frmGlobix_Index 'frmGlobix_Index
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@ -341,9 +336,9 @@ Partial Class frmGlobix_Index
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False) Me.SplitContainerControl1.ResumeLayout(False)
Me.Panel3.ResumeLayout(False) Me.Panel3.ResumeLayout(False)
CType(Me.PictureEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False) Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout() Me.Panel1.PerformLayout()
CType(Me.PictureEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@ -370,7 +365,6 @@ Partial Class frmGlobix_Index
Friend WithEvents chkMultiindexing As DevExpress.XtraBars.BarCheckItem Friend WithEvents chkMultiindexing As DevExpress.XtraBars.BarCheckItem
Friend WithEvents RibbonPageGroupMultiIndex As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroupMultiIndex As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents Panel1 As Panel Friend WithEvents Panel1 As Panel
Friend WithEvents cmbDoctype As ComboBox Friend WithEvents cmbDoctype As ComboBox

View File

@ -10,11 +10,10 @@ Public Class frmGlobix_Index
Public vPathFile As String Public vPathFile As String
Private MULTIFILES As Integer Private MULTIFILES As Integer
Private akttxtbox As TextBox Private akttxtbox As TextBox
Dim DT_INDEXEMAN As DataTable
Dim DT_DOKART As DataTable Dim DT_DOKART As DataTable
Public FormLoaded As Boolean = False Public FormLoaded As Boolean = False
Dim DropType As String Dim DropType As String
Private DT_INDEXEMAN As DataTable
Dim sql_history_INSERT_INTO As String Dim sql_history_INSERT_INTO As String
Dim sql_history_Index_Values As String Dim sql_history_Index_Values As String
@ -608,7 +607,7 @@ Public Class frmGlobix_Index
End If End If
End Sub End Sub
Private Sub BarButtonItem1_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Private Sub GlobixFlow()
ClearError() ClearError()
ClearNotice() ClearNotice()
Me.Cursor = Cursors.WaitCursor Me.Cursor = Cursors.WaitCursor
@ -676,7 +675,7 @@ Public Class frmGlobix_Index
Private Function WORK_FILE() Private Function WORK_FILE()
Try Try
Dim oSQL = $"SELECT * FROM VWDDINDEX_MAN WHERE DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}" 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) My.Application.Globix.CURR_DT_MAN_INDEXE = My.Database.GetDatatable(oSQL)
_Logger.Debug("Manuelle Indexe geladen") _Logger.Debug("Manuelle Indexe geladen")
@ -742,13 +741,10 @@ Public Class frmGlobix_Index
Function Name_Generieren() Function Name_Generieren()
Try Try
_Logger.Debug("#### Name_Generieren ####") _Logger.Debug("#### Name_Generieren ####")
Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES WHERE GUID = 1" My.Application.Globix.FILE_DELIMITER = "~"
My.Application.Globix.VERSION_DELIMITER = "~"
Dim oFilesystem As New DigitalData.Modules.Filesystem.File(_LogConfig) Dim oFilesystem As New DigitalData.Modules.Filesystem.File(_LogConfig)
Dim DT1 As DataTable = My.Database.GetDatatable(sql)
For Each row As DataRow In DT1.Rows
My.Application.Globix.FILE_DELIMITER = row.Item("FILE_DELIMITER")
My.Application.Globix.VERSION_DELIMITER = row.Item("VERSION_DELIMITER")
Next
Dim err As Boolean = False Dim err As Boolean = False
Dim folder_Created As Boolean = False Dim folder_Created As Boolean = False
@ -761,8 +757,8 @@ Public Class frmGlobix_Index
'CURR_DOKART_OBJECTTYPE = DT.Rows(0).Item("OBJEKTTYP") 'CURR_DOKART_OBJECTTYPE = DT.Rows(0).Item("OBJEKTTYP")
My.Application.Globix.CURRENT_WORKFILE_EXTENSION = extension My.Application.Globix.CURRENT_WORKFILE_EXTENSION = extension
'oRAWZielordner = WINDREAM.GetNormalizedPath(My.Application.Globix.CURR_DT_DOCTYPE.Rows(0).Item("ZIEL_PFAD")) oRAWZielordner = My.Application.Globix.CURR_DT_DOCTYPE.Rows(0).Item("ZIEL_PFAD")
oRAWZielordner = Path.Combine("\\windream\objects", oRAWZielordner)
'#### '####
' Regulären Ausdruck zum Auslesen der Indexe definieren ' Regulären Ausdruck zum Auslesen der Indexe definieren
@ -1023,6 +1019,7 @@ Public Class frmGlobix_Index
Return False Return False
End Try End Try
End Function End Function
Private Function
Private Function Write_Indizes() Private Function Write_Indizes()
Try Try
Dim indexierung_erfolgreich As Boolean = False Dim indexierung_erfolgreich As Boolean = False
@ -1031,12 +1028,12 @@ Public Class frmGlobix_Index
' If DTMan.Rows.Count > 0 Then ' If DTMan.Rows.Count > 0 Then
' Dim Count As Integer = 0 ' Dim Count As Integer = 0
' For Each row As DataRow In DTMan.Rows ' For Each row As DataRow In DTMan.Rows
' Dim idxvalue = row.Item("Indexwert") ' Dim idxvalue = row.Item("IndexValueGUI")
' Dim indexname = row.Item("WD_INDEX").ToString ' Dim indexname = row.Item("WD_INDEX").ToString
' _Logger.Debug($"Write_Indizes - Index [{indexname}]...") ' _Logger.Debug($"Write_Indizes - Index [{indexname}]...")
' Dim optional_Index = CBool(row.Item("OPTIONAL")) ' Dim optional_Index = CBool(row.Item("OPTIONAL"))
' Dim indexiert = CBool(row.Item("Indexiert")) ' Dim Indexed = CBool(row.Item("Indexed"))
' If indexiert And idxvalue.ToString <> "" And idxvalue <> "EMPTY_OI" Then ' If Indexed And idxvalue.ToString <> "" And idxvalue <> "EMPTY_OI" Then
' If indexname <> String.Empty Then ' If indexname <> String.Empty Then
' If row.Item("SAVE_VALUE") = True Then ' If row.Item("SAVE_VALUE") = True Then
' 'Den Indexwert zwischenspeichern ' 'Den Indexwert zwischenspeichern
@ -1047,7 +1044,7 @@ Public Class frmGlobix_Index
' If rowTemp.Item("Dokumentart") = row.Item("DOKUMENTART") And rowTemp.Item("Indexname") = row.Item("INDEXNAME") Then ' If rowTemp.Item("Dokumentart") = row.Item("DOKUMENTART") And rowTemp.Item("Indexname") = row.Item("INDEXNAME") Then
' rowexists = True ' rowexists = True
' '......überschreiben ' '......überschreiben
' rowTemp.Item("Value") = row.Item("Indexwert") ' rowTemp.Item("Value") = row.Item("IndexValueGUI")
' End If ' End If
' Next ' Next
' '.....ansonsten neu anlegen ' '.....ansonsten neu anlegen
@ -1055,7 +1052,7 @@ Public Class frmGlobix_Index
' Dim newRow As DataRow = DTTemp.NewRow() ' Dim newRow As DataRow = DTTemp.NewRow()
' newRow("Dokumentart") = row.Item("DOKUMENTART").ToString ' newRow("Dokumentart") = row.Item("DOKUMENTART").ToString
' newRow("Indexname") = row.Item("INDEXNAME").ToString ' newRow("Indexname") = row.Item("INDEXNAME").ToString
' newRow("Value") = row.Item("Indexwert") ' newRow("Value") = row.Item("IndexValueGUI")
' DTTemp.Rows.Add(newRow) ' DTTemp.Rows.Add(newRow)
' End If ' End If
' End If ' End If
@ -1108,10 +1105,10 @@ Public Class frmGlobix_Index
' If DTAut.Rows.Count > 0 Then ' If DTAut.Rows.Count > 0 Then
' Dim Count As Integer = 0 ' Dim Count As Integer = 0
' For Each row As DataRow In DTAut.Rows ' For Each row As DataRow In DTAut.Rows
' Dim indexiert = CBool(row.Item("Indexiert")) ' Dim Indexed = CBool(row.Item("Indexed"))
' Dim Indexvalue = row.Item("Indexwert").ToString ' Dim Indexvalue = row.Item("IndexValueGUI").ToString
' Dim indexname = row.Item("INDEXNAME").ToString ' Dim indexname = row.Item("INDEXNAME").ToString
' If indexiert = True And Indexvalue <> "" Then ' If Indexed = True And Indexvalue <> "" Then
' If Indexvalue <> "EMPTY_OI" Then ' If Indexvalue <> "EMPTY_OI" Then
' _Logger.Info("Auto Indexname: " & indexname.ToString) ' _Logger.Info("Auto Indexname: " & indexname.ToString)
' _Logger.Info("Indexvalue: " & Indexvalue.ToString) ' _Logger.Info("Indexvalue: " & Indexvalue.ToString)
@ -1320,8 +1317,8 @@ Public Class frmGlobix_Index
For Each oDataRow As DataRow In My.Application.Globix.CURR_DT_MAN_INDEXE.Rows For Each oDataRow As DataRow In My.Application.Globix.CURR_DT_MAN_INDEXE.Rows
If oDataRow.Item("INDEXNAME").ToString.ToLower = indexname.ToLower Then If oDataRow.Item("INDEXNAME").ToString.ToLower = indexname.ToLower Then
Dim oIndexWert = oDataRow.Item("Indexwert") Dim oIndexWert = oDataRow.Item("IndexValueGUI")
Dim oIsIndexed = oDataRow.Item("Indexiert") Dim oIsIndexed = oDataRow.Item("Indexed")
If oIsIndexed = True Then If oIsIndexed = True Then
If oIndexWert.ToString <> String.Empty Then If oIndexWert.ToString <> String.Empty Then
@ -1355,24 +1352,24 @@ Public Class frmGlobix_Index
Function GetManIndex_Value(indexname As String, RequestFor As String, opt As Boolean) Function GetManIndex_Value(indexname As String, RequestFor As String, opt As Boolean)
Try Try
For Each DR As DataRow In DT_INDEXEMAN.Rows For Each DR As DataRow In My.Application.Globix.CURR_DT_MAN_INDEXE.Rows
If DR.Item("INDEXNAME").ToString.ToLower = indexname.ToLower Then If DR.Item("INDEXNAME").ToString.ToLower = indexname.ToLower Then
If DR.Item("Indexiert") = True Then If DR.Item("Indexed") = True Then
_Logger.Info("## Manueller Index: " & indexname) _Logger.Info("## Manueller Index: " & indexname)
Select Case RequestFor Select Case RequestFor
Case "FILE" Case "FILE"
If DR.Item("Indexwert_File").ToString <> String.Empty Then If DR.Item("IndexValue_File").ToString <> String.Empty Then
_Logger.Info(" >>Es liegt ein separater nachbearbeiteter Wert für die Dateibenennung vor: " & DR.Item("Indexwert_File").ToString) _Logger.Info("Es liegt ein separater nachbearbeiteter Wert für die Dateibenennung vor: " & DR.Item("IndexValue_File").ToString)
_Logger.Info(" >>Zurückgegebener NachbearbeitungsWert: " & DR.Item("Indexwert_File")) _Logger.Info("Zurückgegebener NachbearbeitungsWert: " & DR.Item("IndexValue_File"))
Return DR.Item("Indexwert_File") Return DR.Item("IndexValue_File")
Else Else
If DR.Item("Indexwert").ToString <> String.Empty Then If DR.Item("IndexValueGUI").ToString <> String.Empty Then
_Logger.Info("Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert")) _Logger.Info("Zurückgegebener manueller Indexwert: " & DR.Item("IndexValueGUI"))
Return DR.Item("Indexwert") Return DR.Item("IndexValueGUI")
Else Else
If opt = False Then If opt = False Then
_Logger.Info("Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!") _Logger.Info("Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
ShowNotice("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!") ShowNotice("Indexed = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!")
Return Nothing Return Nothing
Else Else
Return "" Return ""
@ -1381,9 +1378,9 @@ Public Class frmGlobix_Index
End If End If
End If End If
Case Else Case Else
If DR.Item("Indexwert").ToString <> String.Empty Then If DR.Item("IndexValueGUI").ToString <> String.Empty Then
_Logger.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert")) _Logger.Info("Zurückgegebener manueller Indexwert: " & DR.Item("IndexValueGUI"))
Return DR.Item("Indexwert") Return DR.Item("IndexValueGUI")
Else Else
If opt = False Then If opt = False Then
@ -1602,7 +1599,8 @@ Public Class frmGlobix_Index
Function FillIndexe_Autom(dokart_id As Integer) Function FillIndexe_Autom(dokart_id As Integer)
Try Try
Dim oSQL = $"SELECT * FROM VWDDINDEX_AUTOM WHERE DOK_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}" Dim oSQL = $"SELECT * FROM VWDDINDEX_AUTOM WHERE DOCTYPE_ID = {My.Application.Globix.CURRENT_DOCTYPE_ID}"
My.Application.Globix.CURR_DT_AUTO_INDEXE = My.Database.GetDatatable(oSQL) My.Application.Globix.CURR_DT_AUTO_INDEXE = My.Database.GetDatatable(oSQL)
Dim oRegex As New Regex("\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}") Dim oRegex As New Regex("\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}")
@ -1632,8 +1630,8 @@ Public Class frmGlobix_Index
oValue = oPlaceholderResult oValue = oPlaceholderResult
End If End If
oAutoIndexRow.Item("Indexiert") = True oAutoIndexRow.Item("Indexed") = True
oAutoIndexRow.Item("Indexwert") = oValue oAutoIndexRow.Item("IndexValueGUI") = oValue
Continue For Continue For
End If End If
@ -1709,14 +1707,14 @@ Public Class frmGlobix_Index
If oIsFirstMatch Then If oIsFirstMatch Then
Exit For Exit For
End If End If
oAutoIndexRow.Item("Indexiert") = True oAutoIndexRow.Item("Indexed") = True
oAutoIndexRow.Item("Indexwert") = String.Join(ClassConstants.VECTORSEPARATOR, oEndResult.ToArray) oAutoIndexRow.Item("IndexValueGUI") = String.Join(ClassConstants.VECTORSEPARATOR, oEndResult.ToArray)
Next Next
Else Else
Dim oResult = GetAutomaticIndexSQLValue(oSqlResult, oSqlConnectionId, oSqlProvider) Dim oResult = GetAutomaticIndexSQLValue(oSqlResult, oSqlConnectionId, oSqlProvider)
_Logger.Info("Got a simple SQLResult: " & oResult.ToString) _Logger.Info("Got a simple SQLResult: " & oResult.ToString)
oAutoIndexRow.Item("Indexiert") = True oAutoIndexRow.Item("Indexed") = True
oAutoIndexRow.Item("Indexwert") = oResult oAutoIndexRow.Item("IndexValueGUI") = oResult
End If End If
Next Next
@ -1772,7 +1770,7 @@ Public Class frmGlobix_Index
Dim idxid As Integer = oDataRow.Item("GUID") Dim idxid As Integer = oDataRow.Item("GUID")
If idxid > 0 Then If idxid > 0 Then
' In jedem Fall schon mal den Wert einfügen ' In jedem Fall schon mal den Wert einfügen
oDataRow.Item("Indexwert") = wert_in oDataRow.Item("IndexValueGUI") = wert_in
'Die Nachbearbeitungsschritte laden 'Die Nachbearbeitungsschritte laden
'FILE AND INDEX 'FILE AND INDEX
'Zuerst nur die Fälle für die Variante ONLY FILE/FOLDER 'Zuerst nur die Fälle für die Variante ONLY FILE/FOLDER
@ -1781,8 +1779,8 @@ Public Class frmGlobix_Index
If DTNB Is Nothing = False Then If DTNB Is Nothing = False Then
If DTNB.Rows.Count > 0 Then If DTNB.Rows.Count > 0 Then
value_post = clsPostProcessing.Get_Nachbearbeitung_Wert(wert_in, DTNB) value_post = clsPostProcessing.Get_Nachbearbeitung_Wert(wert_in, DTNB)
oDataRow.Item("Indexwert") = wert_in oDataRow.Item("IndexValueGUI") = value_post
oDataRow.Item("Indexwert_File") = value_post oDataRow.Item("IndexValue_File") = value_post
End If End If
End If End If
'Jetzt die Fälle für die Variante FILE AND INDEX 'Jetzt die Fälle für die Variante FILE AND INDEX
@ -1793,11 +1791,11 @@ Public Class frmGlobix_Index
If DTNB Is Nothing = False Then If DTNB Is Nothing = False Then
If DTNB.Rows.Count > 0 Then If DTNB.Rows.Count > 0 Then
value_post = clsPostProcessing.Get_Nachbearbeitung_Wert(wert_in, DTNB) value_post = clsPostProcessing.Get_Nachbearbeitung_Wert(wert_in, DTNB)
oDataRow.Item("Indexwert") = value_post oDataRow.Item("IndexValueGUI") = value_post
End If End If
End If End If
End If End If
oDataRow.Item("Indexiert") = True oDataRow.Item("Indexed") = True
End If End If
Next Next
Catch ex As Exception Catch ex As Exception
@ -1806,4 +1804,12 @@ Public Class frmGlobix_Index
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Indexwert_Postprocessing:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Indexwert_Postprocessing:")
End Try End Try
End Sub End Sub
Private Sub PictureEdit1_Click(sender As Object, e As EventArgs) Handles PictureEdit1.Click
GlobixFlow()
End Sub
Private Sub PictureEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles PictureEdit1.EditValueChanged
End Sub
End Class End Class

View File

@ -58,6 +58,9 @@ Module ModuleHelpers
End Sub End Sub
Public Function FilterDatatable(myDatatable As DataTable, myFilter As String, mycheckColumn As String, pSortString As String, returnDT As Boolean) As Object Public Function FilterDatatable(myDatatable As DataTable, myFilter As String, mycheckColumn As String, pSortString As String, returnDT As Boolean) As Object
Try Try
If myDatatable.Rows.Count = 0 Then
Return Nothing
End If
Dim dv As DataView = myDatatable.DefaultView Dim dv As DataView = myDatatable.DefaultView
dv.RowFilter = myFilter dv.RowFilter = myFilter
If dv.Count = 1 And returnDT = False Then If dv.Count = 1 And returnDT = False Then

View File

@ -27,6 +27,7 @@ Namespace My
Property DTAttributes As DataTable Property DTAttributes As DataTable
Property DTCOMMON_SQL As DataTable Property DTCOMMON_SQL As DataTable
Property DTCATALOG As DataTable
Property IDB_DT_DOC_DATA As DataTable Property IDB_DT_DOC_DATA As DataTable
Property LogConfig As LogConfig Property LogConfig As LogConfig
Property MainForm As frmAdministrationZooFlow Property MainForm As frmAdministrationZooFlow
@ -34,6 +35,8 @@ Namespace My
Property Database As MSSQLServer Property Database As MSSQLServer
Property DatabaseIDB As MSSQLServer Property DatabaseIDB As MSSQLServer
Property Queries As New ClassQueries Property Queries As New ClassQueries
Property Filestore_Work As String
Property Filestore_Archive As String
End Module End Module
''' <summary> ''' <summary>

View File

@ -114,13 +114,13 @@
<Compile Include="Base\BaseClass.vb" /> <Compile Include="Base\BaseClass.vb" />
<Compile Include="ClassClipboardWatcher.vb" /> <Compile Include="ClassClipboardWatcher.vb" />
<Compile Include="ClassCommandlineArgs.vb" /> <Compile Include="ClassCommandlineArgs.vb" />
<Compile Include="modCurrent.vb" />
<Compile Include="Search\frmFlowSearch.Designer.vb"> <Compile Include="Search\frmFlowSearch.Designer.vb">
<DependentUpon>frmFlowSearch.vb</DependentUpon> <DependentUpon>frmFlowSearch.vb</DependentUpon>
</Compile> </Compile>
<Compile Include="Search\frmFlowSearch.vb"> <Compile Include="Search\frmFlowSearch.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="modCurrent.vb" />
<Compile Include="Search\ClassControlCreator.vb" /> <Compile Include="Search\ClassControlCreator.vb" />
<Compile Include="Globix\ClassFileDrop.vb" /> <Compile Include="Globix\ClassFileDrop.vb" />
<Compile Include="Globix\ClassFilehandle.vb" /> <Compile Include="Globix\ClassFilehandle.vb" />

View File

@ -0,0 +1,3 @@
Module modCurrent
End Module

View File

@ -43,6 +43,9 @@
<setting name="MSSQLEmailOutAccountID" serializeAs="String"> <setting name="MSSQLEmailOutAccountID" serializeAs="String">
<value>1</value> <value>1</value>
</setting> </setting>
<setting name="DEBUG" serializeAs="String">
<value>False</value>
</setting>
</DDZUGFeRDService.My.MySettings> </DDZUGFeRDService.My.MySettings>
</applicationSettings> </applicationSettings>
<runtime> <runtime>

View File

@ -152,6 +152,15 @@ Namespace My
Return CType(Me("MSSQLEmailOutAccountID"),Integer) Return CType(Me("MSSQLEmailOutAccountID"),Integer)
End Get End Get
End Property End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public ReadOnly Property DEBUG() As Boolean
Get
Return CType(Me("DEBUG"),Boolean)
End Get
End Property
End Class End Class
End Namespace End Namespace

View File

@ -35,5 +35,8 @@
<Setting Name="MSSQLEmailOutAccountID" Type="System.Int32" Scope="Application"> <Setting Name="MSSQLEmailOutAccountID" Type="System.Int32" Scope="Application">
<Value Profile="(Default)">1</Value> <Value Profile="(Default)">1</Value>
</Setting> </Setting>
<Setting Name="DEBUG" Type="System.Boolean" Scope="Application">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View File

@ -30,6 +30,7 @@ Public Class ThreadRunner
Public Sub New(LogConfig As LogConfig, Firebird As Firebird, Optional MSSQL As MSSQLServer = Nothing) Public Sub New(LogConfig As LogConfig, Firebird As Firebird, Optional MSSQL As MSSQLServer = Nothing)
_logConfig = LogConfig _logConfig = LogConfig
_logger = _logConfig.GetLogger() _logger = _logConfig.GetLogger()
_logConfig.Debug = My.Settings.DEBUG
_firebird = Firebird _firebird = Firebird
_mssql = MSSQL _mssql = MSSQL
Try Try

View File

@ -13,7 +13,7 @@ Public Class ZUGFeRDService
Protected Overrides Sub OnStart(ByVal args() As String) Protected Overrides Sub OnStart(ByVal args() As String)
_logConfig = New LogConfig(PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, "Digital Data", "DDZUGFeRDService") _logConfig = New LogConfig(PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, "Digital Data", "DDZUGFeRDService")
_logConfig.Debug = True _logConfig.Debug = My.Settings.DEBUG
_logger = _logConfig.GetLogger() _logger = _logConfig.GetLogger()
Try Try
Dim directory As New IO.DirectoryInfo(_logConfig.LogDirectory) Dim directory As New IO.DirectoryInfo(_logConfig.LogDirectory)