Imports System.Threading Imports System.Globalization Imports DevExpress.LookAndFeel Imports DD_LIB_Standards Public Class frmConfig_Basic Dim formloaded As Boolean = False Private email As New ClassEmail Private Sub BtnConnect_Click(sender As Object, e As EventArgs) Handles BtnConnect.Click Try Dim con As String If chkbxUserAut.Checked Then con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";Trusted_Connection=True;Application Name=DD ADDI-Client" Else con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";Application Name=DD ADDI-Client" End If Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString) 'während Verbindungsaufbau Sanduhr-Mauszeiger Cursor = Cursors.WaitCursor connection.Open() Cursor = Cursors.Default 'DialogResult = Windows.Forms.DialogResult.OK Dim result As MsgBoxResult Dim msg = "Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?" If USER_LANGUAGE <> "de-DE" Then msg = "Connection was successfully opened!" & vbNewLine & "Would You like to save it?" End If result = MessageBox.Show(msg, "Database-Connection", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = MsgBoxResult.Yes Then CONNECTION_CHANGED = True 'Set the construction string If rbConnDefault.Checked Then MyConnectionString = con 'csb.ConnectionString ClassDatabase.Init() Else ClassProxy.MyPROXYConnectionString = con clsDatabase.Init(MyConnectionString, True) End If My.Settings.Save() If chkbxUserAut.Checked = False Then Dim wrapper As New ClassEncryption("!35452didalog=") Dim cipherText As String = wrapper.EncryptData(Me.txtPasswort.Text) Dim pw As String = cipherText con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & pw & ";" End If If rbConnDefault.Checked Then SaveMySettingsValue("MyConnectionString", con, "ConfigMain") Else SaveMySettingsValue("MyProxyConnectionString", con, "ConfigMain") End If Dim csb As New SqlClient.SqlConnectionStringBuilder csb.ConnectionString = MyConnectionString Dim constr = connection.ConnectionString If chkbxUserAut.Checked = False Then constr = constr.Replace(csb.Password, "XXXXX") End If Me.txtActualConnection.Text = constr End If Catch ex As Exception Cursor = Cursors.Default MsgBox("Error in Connectionbuild: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation) End Try End Sub Private Sub cmbDatenbank_MouseClick(sender As Object, e As MouseEventArgs) Handles cmbDatenbank.MouseClick Load_Databases() End Sub Sub Load_Databases() Try Me.Cursor = Cursors.WaitCursor Dim csb As New SqlClient.SqlConnectionStringBuilder csb.DataSource = Me.txtServer.Text csb.IntegratedSecurity = False csb.UserID = Me.txtUser.Text csb.Password = Me.txtPasswort.Text Dim con As String If chkbxUserAut.Checked Then con = "Data Source=" & Me.txtServer.Text & ";Trusted_Connection=True;" Else 'con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";" con = "Server=" & Me.txtServer.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";" End If Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString) connection.Open() Dim cmd As New SqlClient.SqlCommand("sp_databases", connection) cmd.CommandType = CommandType.StoredProcedure ' Ausführen und Ergebnis in einer ListBox anzeigen Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader If dr.HasRows Then cmbDatenbank.Items.Clear() Do While dr.Read cmbDatenbank.Items.Add(dr("Database_Name")) Loop cmbDatenbank.DroppedDown = True Else MsgBox("The standard-databases could not be retrieved. The default database will be set!" & vbNewLine & "Check rights in sql-server for user: " & Me.txtUser.Text, MsgBoxStyle.Exclamation) End If connection.Close() Catch ex As Exception If ex.Message.ToLower.Contains("he standard-databases") Or ex.Message.ToLower.Contains("ie standard-datenbanken") Then cmbDatenbank.Text = "DD_ECM" End If MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load Databases:") End Try Cursor = Cursors.Default End Sub Private Sub frmConfig_Basic_Load(sender As Object, e As EventArgs) Handles MyBase.Load If LICENSE_PROXY = True Then Me.rbConn_Proxy.Visible = True Else Me.rbConn_Proxy.Visible = False End If If Not MyConnectionString = String.Empty Then CONNECTION_CHANGED = False 'Try Dim csb As New SqlClient.SqlConnectionStringBuilder csb.ConnectionString = MyConnectionString Dim constr = MyConnectionString If Not MyConnectionString.Contains("Trusted") Then constr = constr.Replace(csb.Password, "XXXXX") txtUser.Text = csb.UserID chkbxUserAut.Checked = False Else chkbxUserAut.Checked = True End If Try txtServer.Text = csb.DataSource cmbDatenbank.Text = csb.InitialCatalog Catch ex As Exception End Try Me.txtActualConnection.Text = constr chkLogErrorsOnly.Checked = LogErrorsOnly 'txtwdSearch_Count.Text = WDResultListCount.ToString txtTask_Popup.Text = Task_Popup_minutes.ToString CheckBoxGridDocResult_BestFitColumns.Checked = GridDocResult_BestFitColumns Dim sql As String = "SELECT 0,'' UNION ALL SELECT T.GUID, T.FORM_TITLE FROM TBPMO_FORM_CONSTRUCTOR T" Dim DT As DataTable = ClassDatabase.Return_Datatable(sql) If DT.Rows.Count > 0 Then cmbConstructor.Enabled = True cmbConstructor.DataSource = DT cmbConstructor.DisplayMember = DT.Columns(1).ColumnName cmbConstructor.ValueMember = DT.Columns(0).ColumnName If Sett_ConstructorStart <> 0 Then cmbConstructor.SelectedValue = Sett_ConstructorStart End If Else cmbConstructor.Enabled = False End If cmbDesign.Text = MyFormsDesign 'Catch ex As Exception ' MsgBox("Fehler in FormLoad: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) 'End Try End If End Sub Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked ' Specify that the link was visited. Me.LinkLabel1.LinkVisited = True ' Navigate to a URL. System.Diagnostics.Process.Start("http://www.didalog.de/Support") End Sub Private Sub btnApplicationFolder_Click(sender As Object, e As EventArgs) Handles btnApplicationFolder.Click Process.Start(Application.UserAppDataPath()) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Process.Start(ClassLogger.DateiSpeicherort) End Sub Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged LogErrorsOnly = chkLogErrorsOnly.Checked SaveMySettingsValue("LogErrorsOnly", LogErrorsOnly, "ConfigMain") clsCURRENT.LOG_ERRORS_ONLY = LogErrorsOnly End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged My.Settings.Save() End Sub Private Sub cmbConstructor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbConstructor.SelectedIndexChanged If cmbConstructor.SelectedIndex <> -1 And formloaded = True Then If Sett_ConstructorStart <> cmbConstructor.SelectedValue Then Sett_ConstructorStart = cmbConstructor.SelectedValue SaveMySettingsValue("Sett_ConstructorStart", Sett_ConstructorStart, "ConfigMain") End If End If End Sub Private Sub frmConfig_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown formloaded = True End Sub Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged Select Case TabControl1.SelectedIndex Case 1 cmbLanguage.SelectedIndex = cmbLanguage.FindStringExact(USER_LANGUAGE) Case 2 Dim DTSCAN_folderwatch As DataTable = ClassDatabase.Return_Datatable("SELECT FOLDER_PATH,SUBDIRECTORIES FROM TBPMO_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_GUID) If Not DTSCAN_folderwatch Is Nothing Then If DTSCAN_folderwatch.Rows.Count = 1 Then CURRENT_SCAN_FOLDERWATCH = DTSCAN_folderwatch.Rows(0).Item(0) CURRENT_SCAN_FOLDERWATCH_SD = DTSCAN_folderwatch.Rows(0).Item(1) End If End If Me.txtScanFolderWatch.Text = CURRENT_SCAN_FOLDERWATCH If Not ClassFolderWatcher.FolderWatcher_SCAN Is Nothing Then If ClassFolderWatcher.FolderWatcher_SCAN.EnableRaisingEvents = True Then 'If USER_LANGUAGE = "de-DE" Then btnstartstop2.Text = "Überwachung stoppen" 'Else ' btnstartstop2.Text = "Stop hotfolder" 'End If btnstartstop2.Image = My.Resources.bell_delete Else ' If USER_LANGUAGE = "de-DE" Then btnstartstop2.Text = "Überwachung starten" 'Else 'btnstartstop2.Text = "Stop hotfolder" 'End If btnstartstop2.Image = My.Resources.bell_go End If Else ' If USER_LANGUAGE = "de-DE" Then btnstartstop2.Text = "Überwachung starten" 'Else ' btnstartstop2.Text = "Stop hotfolder" 'End If btnstartstop2.Image = My.Resources.bell_go End If Me.DataGridView1.DataSource = DTEXCLUDE_FILES End Select End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim fbdialog As New FolderBrowserDialog If txtScanFolderWatch.Text <> "" Then fbdialog.SelectedPath = txtScanFolderWatch.Text End If If fbdialog.ShowDialog() = DialogResult.OK Then CheckScanFolder(fbdialog.SelectedPath, chkSubfolder.Checked) End If End Sub Sub CheckScanFolder(mypath As String, SUBDIRECTORIES As Boolean) Try If mypath <> "" Then Try If (Not System.IO.Directory.Exists(mypath)) Then System.IO.Directory.CreateDirectory(mypath) End If Catch ex As Exception ClassLogger.Add(" >> Fehler beim Erstellen des Folderwatchordners: " & mypath, False) ClassLogger.Add(" >> " & ex.Message, False) MsgBox("Error in creating Hotfolder: " & mypath & vbNewLine & "Please check the rights!" & vbNewLine & ex.Message, MsgBoxStyle.Critical) Exit Sub End Try End If Dim _SUBDIRECTORIES If SUBDIRECTORIES = False Then _SUBDIRECTORIES = 0 Else _SUBDIRECTORIES = 1 End If Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = " & USER_GUID & " AND FOLDER_TYPE = 'SCAN'") Dim sql As String If folderwatch Is Nothing And mypath <> "" Then sql = "INSERT INTO TBPMO_FOLDERWATCH_USER (USER_ID, FOLDER_PATH, FOLDER_TYPE,SUBDIRECTORIES, ADDED_WHO) VALUES (" & USER_GUID & ",'" & mypath & "','SCAN', " & _SUBDIRECTORIES & ",'" & USER_USERNAME & "')" Else sql = "UPDATE TBPMO_FOLDERWATCH_USER SET FOLDER_PATH = '" & mypath & "', SUBDIRECTORIES = " & _SUBDIRECTORIES & ", CHANGED_WHO = '" & USER_USERNAME & "' where GUID = " & folderwatch End If If ClassDatabase.Execute_non_Query(sql) Then Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT FOLDER_PATH, SUBDIRECTORIES FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = " & USER_GUID & " AND FOLDER_TYPE = 'SCAN'") CURRENT_SCAN_FOLDERWATCH = DT.Rows(0).Item(0) CURRENT_SCAN_FOLDERWATCH_SD = DT.Rows(0).Item(1) Me.txtScanFolderWatch.Text = CURRENT_SCAN_FOLDERWATCH Me.chkSubfolder.Checked = CURRENT_SCAN_FOLDERWATCH_SD End If If FWSCAN_started = True Then ClassFolderWatcher.Restart_FolderWatchSCAN() End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in CheckFolder:") End Try End Sub Private Sub btnSaveExclusionFiles_Click(sender As Object, e As EventArgs) Handles btnSaveExclusionFiles.Click Try DTEXCLUDE_FILES.AcceptChanges() DTEXCLUDE_FILES.WriteXml(PATH_FileExclusions) MsgBox("Changes saved.", MsgBoxStyle.Information) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Saving Exclusion files:") End Try End Sub Private Sub btnstartstop2_Click(sender As Object, e As EventArgs) Handles btnstartstop2.Click If CURRENT_SCAN_FOLDERWATCH <> "" Then ClassFolderWatcher.DELETE_SCAN_File_User() CheckScanFolder(CURRENT_SCAN_FOLDERWATCH, chkSubfolder.Checked) CheckFWSCAN_State() End If End Sub Sub CheckFWSCAN_State() Select Case ClassFolderWatcher.StartStop_FolderWatchSCAN() Case 1 'If USER_LANGUAGE = "de-DE" Then btnstartstop2.Text = "Überwachung stoppen" ' Else 'btnstartstop2.Text = "Stop Hotfolder" ' End If btnstartstop2.Image = My.Resources.bell_delete Case 0 ' If USER_LANGUAGE = "de-DE" Then btnstartstop2.Text = "Überwachung starten" 'Else ' btnstartstop2.Text = "Start Hotfolder" 'End If btnstartstop2.Image = My.Resources.bell_go End Select End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim result As MsgBoxResult If USER_LANGUAGE = "de-DE" Then result = MessageBox.Show("Wollen Sie die Applikationssprache nun auf '" & cmbLanguage.Text & "' ändern?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) Else result = MessageBox.Show("Would You like to change Your application language to '" & cmbLanguage.Text & "' ?", "Confirmation required:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) End If If result = MsgBoxResult.Yes Then formloaded = False Try Dim update As String = "UPDATE TBDD_USER SET [LANGUAGE] = '" & cmbLanguage.Text & "' WHERE GUID = " & USER_GUID USER_LANGUAGE = cmbLanguage.Text If ClassDatabase.Execute_non_Query(update) = True Then If USER_LANGUAGE = "de-DE" Then MsgBox("Die Sprache wurde erfolgreich geändert und nach einem Neustart angewendet!", MsgBoxStyle.Information) Else MsgBox("The language was changed successfully and will be set after App-Restart", MsgBoxStyle.Information) End If LANGUAGE_CHANGED = True End If Catch ex As Exception End Try formloaded = True End If End Sub Private Sub chkbxUserAut_CheckedChanged(sender As Object, e As EventArgs) Handles chkbxUserAut.CheckedChanged If chkbxUserAut.Checked Then Me.txtPasswort.Enabled = False Me.txtUser.Enabled = False Else Me.txtPasswort.Enabled = True Me.txtUser.Enabled = True End If End Sub Private Sub txtActualConnection_TextChanged(sender As Object, e As EventArgs) Handles txtActualConnection.TextChanged End Sub Private Sub cmbDatenbank_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbDatenbank.SelectedIndexChanged End Sub Private Sub txtPasswort_Leave(sender As Object, e As EventArgs) Handles txtPasswort.Leave End Sub Private Sub txtTask_Popup_TextChanged(sender As Object, e As EventArgs) Handles txtTask_Popup.TextChanged Try If IsNumeric(txtTask_Popup.Text) Then Task_Popup_minutes = txtTask_Popup.Text SaveMySettingsValue("Task_Popup_minutes", txtTask_Popup.Text, "ConfigMain") End If Catch ex As Exception End Try End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click If email.Send_Log_Mail(" Log-/SupportMail Record-Organizer.

", "Support-Mail Record-Organizer", "support@didalog.de", "mail.triplew.de", "support@didalog.de", "ddemail40", "support@didalog.de") = True Then MsgBox("Log Mail was sent to Digital Data!", MsgBoxStyle.Information, "Success!") End If End Sub Private Sub txtScanFolderWatch_TextChanged(sender As Object, e As EventArgs) Handles txtScanFolderWatch.TextChanged CheckScanFolder(txtScanFolderWatch.Text, chkSubfolder.Checked) End Sub Private Sub chkSubfolder_CheckedChanged(sender As Object, e As EventArgs) Handles chkSubfolder.CheckedChanged CheckScanFolder(txtScanFolderWatch.Text, chkSubfolder.Checked) End Sub Private Sub txtPasswort_TextChanged(sender As Object, e As EventArgs) Handles txtPasswort.TextChanged End Sub Private Sub rbConn_Proxy_CheckedChanged(sender As Object, e As EventArgs) Handles rbConn_Proxy.CheckedChanged If rbConn_Proxy.Checked Then Display_Proxy_String() Me.lblLinkedServer.Visible = True Me.txtLinkedServer.Visible = True txtLinkedServer.Text = ClassProxy.MyLinkedServer Else Me.lblLinkedServer.Visible = False Me.txtLinkedServer.Visible = False End If End Sub Sub Display_Proxy_String() If clsDatabase.DB_PROXY_INITIALIZED And ClassProxy.MyPROXYConnectionString <> String.Empty Then Dim csb As New SqlClient.SqlConnectionStringBuilder csb.ConnectionString = ClassProxy.MyPROXYConnectionString Dim constr = ClassProxy.MyPROXYConnectionString If Not constr.Contains("Trusted") Then constr = constr.Replace(csb.Password, "XXXXX") txtUser.Text = csb.UserID chkbxUserAut.Checked = False Else chkbxUserAut.Checked = True End If Try txtServer.Text = csb.DataSource cmbDatenbank.Text = csb.InitialCatalog Catch ex As Exception End Try Me.txtActualConnection.Text = constr btndeleteProxy.Visible = True Else Me.txtActualConnection.Text = "" btndeleteProxy.Visible = False End If End Sub Private Sub rbConnDefault_CheckedChanged(sender As Object, e As EventArgs) Handles rbConnDefault.CheckedChanged If rbConnDefault.Checked Then If MyConnectionString <> String.Empty Then Dim csb As New SqlClient.SqlConnectionStringBuilder csb.ConnectionString = MyConnectionString Dim constr = MyConnectionString If Not constr.Contains("Trusted") Then constr = constr.Replace(csb.Password, "XXXXX") txtUser.Text = csb.UserID chkbxUserAut.Checked = False Else chkbxUserAut.Checked = True End If Try txtServer.Text = csb.DataSource cmbDatenbank.Text = csb.InitialCatalog Catch ex As Exception End Try Me.txtActualConnection.Text = constr End If End If End Sub Private Sub btndeleteProxy_Click(sender As Object, e As EventArgs) Handles btndeleteProxy.Click SaveMySettingsValue("MyProxyConnectionString", "", "ConfigMain") ClassProxy.MyPROXYConnectionString = "" clsDatabase.DB_PROXY_INITIALIZED = False Me.txtActualConnection.Text = "" CONNECTION_CHANGED = True End Sub Private Sub txtLinkedServer_Leave(sender As Object, e As EventArgs) Handles txtLinkedServer.Leave SaveMySettingsValue("MyLinkedServer", txtLinkedServer.Text, "ConfigMain") ClassProxy.MyLinkedServer = txtLinkedServer.Text End Sub Private Sub btncheckWDFolderexists_Click(sender As Object, e As EventArgs) Handles btncheckWDFolderexists.Click If txtwdFolder.Text <> String.Empty And clsWindream.SESSION_CREATED = True Then If clsWD_GET.WD_PATH_EXISTS(txtwdFolder.Text.Replace("W:", "")) Then MsgBox("Folder exists in windream!") Else MsgBox("Folder is not existing in windream!", MsgBoxStyle.Critical) End If End If End Sub Private Sub btnTest_Anmeldung_Click(sender As Object, e As EventArgs) End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click If cmbDesign.SelectedIndex <> -1 Then UserLookAndFeel.Default.SetSkinStyle(cmbDesign.Text) SaveMySettingsValue("MyFormsDesign", cmbDesign.Text, "ConfigMain") End If End Sub Private Sub cmbLanguage_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbLanguage.SelectedIndexChanged End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Dim exists If rbUser.Checked Then exists = clsWD_GET.WM_USER_EXISTS(txtObjectExists.Text) ElseIf rbGruppe.Checked Then exists = clsWD_GET.WM_GROUP_EXISTS(txtObjectExists.Text) End If If exists = True Then MsgBox("Object exists in windream!") Else MsgBox("Object is not existing in windream!", MsgBoxStyle.Critical) End If End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click Dim group If rbGruppe.Checked Then group = clsWD_GET.GET_WM_GROUP_OBJECT(txtObjectExists.Text) If Not IsNothing(group) Then MsgBox("GROUP.NAME: " & group.aname) End If End If End Sub Private Sub CheckBoxGridDocResult_BestFitColumns_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBoxGridDocResult_BestFitColumns.CheckedChanged If formloaded = False Then Exit Sub GridDocResult_BestFitColumns = chkLogErrorsOnly.Checked SaveMySettingsValue("GridDocResult_BestFitColumns", GridDocResult_BestFitColumns, "ConfigMain") End Sub End Class