Monorepo/GUIs.ZooFlow/Modules/Globix/frmGlobixBasicConfig.vb
2022-05-23 15:07:07 +02:00

216 lines
9.6 KiB
VB.net

Imports DevExpress.XtraEditors
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Logging
Public Class frmGlobixBasicConfig
Private Logger As Logger
Private FormLoading As Boolean = False
Private FolderWatcher As ClassFolderwatcher
Private ReadOnly FileExclusions As New ClassExclusions()
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub CheckFolder(pMypath As String, FOLDER_TYPE As String)
Try
If pMypath = "" Then
My.DatabaseECM.ExecuteNonQuery("DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
If FOLDER_TYPE = "SCAN" Then
My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = ""
My.UIConfig.Globix.FolderWatchScanStarted = False
My.UIConfigManager.Save()
Else
My.Application.Globix.Folderwatchstarted = False
'SaveConfigValue("FW_started", "False")
My.UIConfig.Globix.FolderWatchStarted = False
My.UIConfigManager.Save()
My.Application.Globix.CurrentFolderWatchPath = ""
End If
Exit Sub
End If
Try
If (Not System.IO.Directory.Exists(pMypath)) Then
System.IO.Directory.CreateDirectory(pMypath)
End If
Catch ex As Exception
Logger.Info(">> Unexpected error in CheckFolder: " & pMypath)
Logger.Error(ex.Message)
Logger.Info(" >> " & ex.Message)
Dim otext As String
If My.Application.User.Language = "de-DE" Then
otext = "Unexpected error in ECheckFolder: " & pMypath & vbNewLine & "Bitte überprüfen Sie die Rechte!" & vbNewLine & ex.Message
Else
otext = "Error in creating Hotfolder: " & pMypath & vbNewLine & "Please check the rights!" & vbNewLine & ex.Message
End If
Dim oMsgBox As New frmDialog("No Match- There might be an error in the RegEx!", Text, frmDialog.DialogType.Warning)
oMsgBox.ShowDialog()
Exit Sub
End Try
Dim folderwatch = My.DatabaseECM.GetScalarValue("SELECT COALESCE(MAX(GUID),999999) FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
Dim oSql As String
If folderwatch = 999999 Then
oSql = "INSERT INTO TBGI_FOLDERWATCH_USER (USER_ID, FOLDER_PATH, FOLDER_TYPE, ADDED_WHO) VALUES (" & My.Application.User.UserId & ",'" & pMypath & "','" & FOLDER_TYPE & "','" & My.Application.User.UserName & "')"
Else
oSql = "UPDATE TBGI_FOLDERWATCH_USER SET FOLDER_PATH = '" & pMypath & "', CHANGED_WHO = '" & My.Application.User.UserName & "' where GUID = " & folderwatch
End If
If My.DatabaseECM.ExecuteNonQuery(oSql) Then
folderwatch = My.DatabaseECM.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & My.Application.User.UserId & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
If FOLDER_TYPE = "SCAN" Then
My.Application.Globix.CURRENT_SCAN_FOLDERWATCH = pMypath
Me.TextEditScanfolder.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH
Else
My.Application.Globix.CurrentFolderWatchPath = pMypath
Me.TextEditHotfolder.Text = My.Application.Globix.CurrentFolderWatchPath
End If
Else
Logger.Error($"Unexpected error in Adding Folder to TBGI_FOLDERWATCH_USER [{oSql}]")
End If
If My.Application.Globix.Folderwatchstarted = True And FOLDER_TYPE = "DEFAULT" Then
FolderWatcher.Restart_FolderWatch()
End If
If My.UIConfig.Globix.FolderWatchScanStarted = True And FOLDER_TYPE = "SCAN" Then
FolderWatcher.Restart_FolderWatchSCAN()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in CheckFolder:")
End Try
End Sub
Private Sub frmGlobixBasicConfig_Load(sender As Object, e As EventArgs) Handles Me.Load
Logger = My.LogConfig.GetLogger()
FolderWatcher = New ClassFolderwatcher(My.LogConfig)
Try
FormLoading = True
If My.Application.Globix.Folderwatchstarted = True Then
ToggleSwitchHotfolder.IsOn = True
Else
ToggleSwitchHotfolder.IsOn = False
End If
If My.Application.Globix.ScanFolderwatchstarted = True Then
ToggleSwitchScanfolder.IsOn = True
Else
ToggleSwitchScanfolder.IsOn = False
End If
Me.TextEditHotfolder.Text = My.Application.Globix.CurrentFolderWatchPath
Me.TextEditScanfolder.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH
FormLoading = False
Me.DataGridView1.DataSource = My.Application.Globix.DTEXCLUDE_FILES
If My.Application.GlobixDropAreaStyle = "PROGRESSIVE" Then
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_LOGO_ZOO_FLOW_DROP3
ToggleSwitchDropArea.IsOn = False
Else
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_LOGO_ZOO_FLOW_DROP2
ToggleSwitchDropArea.IsOn = True
End If
Catch ex As Exception
End Try
End Sub
Sub CheckFWHF_State()
FolderWatcher.StartStop_FolderWatch()
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
My.Application.Globix.DTEXCLUDE_FILES.AcceptChanges()
My.Application.Globix.DTEXCLUDE_FILES.WriteXml(FileExclusions.FileExclusionPath)
MsgBox("Changes saved.", MsgBoxStyle.Information)
End Sub
Private Sub btnScanfolder_Click(sender As Object, e As EventArgs) Handles btnScanfolder.Click
Dim fbdialog As New FolderBrowserDialog
If TextEditScanfolder.Text <> "" Then
fbdialog.SelectedPath = TextEditScanfolder.Text
End If
If fbdialog.ShowDialog() = DialogResult.OK Then
CheckFolder(fbdialog.SelectedPath, "SCAN")
End If
End Sub
Private Sub ToggleSwitchHotfolder_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchHotfolder.Toggled
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
If FormLoading = True Then
Exit Sub
End If
If oToggle.IsOn Then
If My.Application.Globix.CurrentFolderWatchPath <> "" Then
CheckFWHF_State()
Else
ToggleSwitchHotfolder.IsOn = False
End If
Else
CheckFWHF_State()
End If
End Sub
Private Sub ToggleSwitch1_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchScanfolder.Toggled
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
If FormLoading = True Then
Exit Sub
End If
If oToggle.IsOn Then
If My.Application.Globix.CURRENT_SCAN_FOLDERWATCH <> "" Then
FolderWatcher.StartStop_FolderWatchSCAN()
Else
ToggleSwitchScanfolder.IsOn = False
End If
Else
FolderWatcher.StartStop_FolderWatchSCAN()
End If
End Sub
Private Sub btnHotfolder_Click(sender As Object, e As EventArgs) Handles btnHotfolder.Click
Dim fbdialog As New FolderBrowserDialog
If TextEditHotfolder.Text <> "" Then
fbdialog.SelectedPath = TextEditHotfolder.Text
End If
If fbdialog.ShowDialog() = DialogResult.OK Then
CheckFolder(fbdialog.SelectedPath, "DEFAULT")
End If
End Sub
Private Sub ToggleSwitch1_Toggled_1(sender As Object, e As EventArgs) Handles ToggleSwitchDropArea.Toggled
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
If oToggle.IsOn Then
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_LOGO_ZOO_FLOW_DROP2
Dim oUpd = $"UPDATE TBIDB_CATALOG_USER SET CHANGED_WHO = '{My.Application.User.UserName}', CAT_STRING = 'ALTERNATIVE'
WHERE USR_ID = {My.Application.User.UserId} AND CAT_TITLE = '{ClassConstants.USER_CATALOG_GLOBIX_DROPAREA}'"
If My.Database.ExecuteNonQuery(oUpd, DigitalData.Modules.EDMI.API.Constants.DatabaseType.IDB) = True Then
My.Application.GlobixDropAreaStyle = "ALTERNATIVE"
tsinfo.Text = "DropArea-Theme saved!"
End If
Else
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_LOGO_ZOO_FLOW_DROP3
Dim oUpd = $"UPDATE TBIDB_CATALOG_USER SET CHANGED_WHO = '{My.Application.User.UserName}', CAT_STRING = 'PROGRESSIVE'
WHERE USR_ID = {My.Application.User.UserId} AND CAT_TITLE = '{ClassConstants.USER_CATALOG_GLOBIX_DROPAREA}'"
If My.Database.ExecuteNonQuery(oUpd, DigitalData.Modules.EDMI.API.Constants.DatabaseType.IDB) = True Then
My.Application.GlobixDropAreaStyle = "PROGRESSIVE"
tsinfo.Text = "DropArea-Theme saved to progressive!"
End If
End If
End Sub
End Class