Imports System.ServiceProcess Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Messaging Imports DD_WMResulthandler Imports System.Net.Mail Imports System.Net Public Class frmMain Private _windream As clsWindream_allgemein Private _database As clsDatabase Private _profil As clsProfil Dim MyLogger As LogConfig Dim Logger As Logger Dim switchRecord As Boolean = True Private Sub TBPROFILBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles TBPROFILBindingNavigatorSaveItem.Click Save_Profil() End Sub Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBDD_EMAIL_ACCOUNT". Sie können sie bei Bedarf verschieben oder entfernen. 'If My.Settings.myConnString = String.Empty Then ' Dim dbPath As String = Application.StartupPath & "\Database\wdResultHandler.db3" ' If IO.File.Exists(dbPath) Then ' My.Settings.myConnString = dbPath ' My.Settings.Save() ' Else ' MsgBox("Achtung: Die SQLite-Database File exisitiert nicht am angegebenen Ort: " & vbNewLine & dbPath, MsgBoxStyle.Critical, "Fehler:") ' DB_Path() ' End If 'End If MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Application.LocalUserAppDataPath & "\Log", Nothing, My.Application.Info.CompanyName, My.Application.Info.ProductName) MyLogger.Debug = True Logger = MyLogger.GetLogger() Load_Constring() _database = New clsDatabase(MyLogger) Logger.Info("WMKonfig started: " & Now.ToString) Try ' Windream instanziieren _windream = New clsWindream_allgemein(MyLogger) 'Windream initialisieren (Connection, Session, ... aufbauen) _windream.Init() Catch ex As Exception MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") End Try Load_Profil() Load_Uebersicht() ToolStripStatusLabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString) End Sub Sub Load_Uebersicht() ' Try Dim DT As DataTable = MyDataset.TBWMRH_PROFIL ' ClassDIProfile.Init() Dim Count As Integer = 0 ListViewProfile.Items.Clear() Dim running = CheckIfRunning("DDWDResultHandler") If running = False Then ListViewProfile.Columns(3).Width = 150 Else ListViewProfile.Columns(3).Width = 80 End If For Each row As DataRow In DT.Rows ListViewProfile.Items.Add(row.Item("Profilname")) If running = False Then ListViewProfile.Items(Count).ImageIndex = 2 Else If CBool(row.Item("Aktiv")) = True Then ListViewProfile.Items(Count).ImageIndex = 0 Else ListViewProfile.Items(Count).ImageIndex = 1 End If End If Try ListViewProfile.Items(Count).SubItems.Add(row.Item("Aktiv")) Catch ex As Exception End Try ListViewProfile.Items(Count).SubItems.Add(row.Item("Letzter_Durchlauf")) If running = False Then ListViewProfile.Items(Count).SubItems.Add("Service stopped") Else If CBool(row.Item("Running")) = True Then ListViewProfile.Items(Count).SubItems.Add("Running") Else ListViewProfile.Items(Count).SubItems.Add("Waiting") End If End If Count += 1 Next 'Catch ex As Exception ' MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Laden der Dateiimport-Profileiste") 'End Try End Sub Private Function CheckIfRunning(sServiceName As String) As Boolean Try Dim sc As New ServiceController(sServiceName) If sc.Status.Equals(ServiceControllerStatus.Stopped) Or sc.Status.Equals(ServiceControllerStatus.StopPending) Then ' Service is not running Return False Else ' Service is running() Return True End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler inCheckIfRunning") Return False End Try End Function Sub Load_Constring() My.Settings.Save() Me.TBWMRH_KONFIGURATIONTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS Me.TBWMRH_PROFILTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS Me.TBWMRH_PROFIL_JOBTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS Me.TBWMRH_PROFIL_FILE_JOBTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS Me.TBDD_EMAIL_ACCOUNTTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS Load_Grundkonfig() End Sub Sub Load_Grundkonfig() Try 'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBWMRH_TBKONFIGURATION". Sie können sie bei Bedarf verschieben oder entfernen. Me.TBWMRH_KONFIGURATIONTableAdapter.Fill(Me.MyDataset.TBWMRH_KONFIGURATION) clsCURRENT.LogErrorsOnly = MyDataset.TBWMRH_KONFIGURATION.Rows(0).Item("LOG_ERRORS_ONLY") clsCURRENT.WDLAUFWERK = MyDataset.TBWMRH_KONFIGURATION.Rows(0).Item("WD_LAUFWERK") Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Load_Konfiguration:") End Try End Sub Sub Load_Profil() Try switchRecord = True Me.TBWMRH_PROFILTableAdapter.Fill(Me.MyDataset.TBWMRH_PROFIL) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Load_Profil:") End Try switchRecord = False End Sub Private Sub ObjekttypenEintragen() Me.ObjekttypComboBox.Items.Clear() Try Dim oDokumentTypen As WINDREAMLib.WMObjects = Me._windream.GetObjecttypesAsObjects() If oDokumentTypen Is Nothing Then Exit Sub For Each aType In oDokumentTypen Me.ObjekttypComboBox.Items.Add(aType.aName) Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei ObjekttypenEintragen") End Try End Sub Sub Save_Profil() Try Select Case cmbTimeTyp.SelectedIndex Case 0 RunTextBox.Text = "INTV;" & NumericUpDown.Value Case 1 RunTextBox.Text = "TIME;" & dtp_Time.Text End Select Me.TBWMRH_PROFILBindingSource.EndEdit() If MyDataset.TBWMRH_PROFIL.GetChanges Is Nothing = False Then Me.GEAENDERTWERTextBox.Text = Environment.UserName Me.TBWMRH_PROFILBindingSource.EndEdit() Me.TBWMRH_PROFILTableAdapter.Update(MyDataset.TBWMRH_PROFIL) statuslabel(True, "Profil erfolgreich gespeichert - " & Now) Else statuslabel(False, "") End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Save_Profil:") End Try End Sub Sub statuslabel(visible As Boolean, Text As String) Me.tsstatus.Visible = visible If visible = True Then tsstatus.BackColor = Color.Yellow Else tsstatus.BackColor = Color.Transparent End If Me.tsstatus.Text = Text End Sub Private Sub btnaddSearch_Click(sender As Object, e As EventArgs) Handles btnaddSearch.Click With OpenFileDialog1 ' Do .Filter = " windream-Suche|*.wdf|Alle Dateien|*.*" .FilterIndex = 1 .Title = "Pfad zur windream-suche:" If .ShowDialog() = DialogResult.OK Then Me.WindreamSucheTextBox.Text = .FileName End If End With End Sub Private Sub TBPROFILBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) MyDataset.TBWMRH_PROFIL.ERSTELLTWERColumn.DefaultValue = Environment.UserName End Sub Private Sub TBPROFILBindingSource_CurrentItemChanged(sender As Object, e As EventArgs) statuslabel(True, "TBPROFILBindingSource.CurrentItemChanged") End Sub Private Sub TBPROFILBindingSource_PositionChanged(sender As Object, e As EventArgs) statuslabel(True, "TBPROFILBindingSource.PositionChanged - " & GUIDTextBox.Text) 'obj.SelectedIndex = cmbObjekttypen.FindStringExact() End Sub Private Sub TabControlMain_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControlMain.SelectedIndexChanged Select Case TabControlMain.SelectedIndex Case 0 Load_Profil() Load_Uebersicht() Case 1 ObjekttypenEintragen() Load_Profil() Case 2 Load_Grundkonfig() Case 3 load_Emails() End Select End Sub Private Sub TBPROFILBindingSource_BindingComplete(sender As Object, e As BindingCompleteEventArgs) statuslabel(True, "TBPROFILBindingSource.BindingComplete - " & GUIDTextBox.Text) End Sub Sub load_Emails() Try Me.TBDD_EMAIL_ACCOUNTTableAdapter.Fill(Me.MyDataset.TBDD_EMAIL_ACCOUNT) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Load Emails:") End Try End Sub Sub Checkbox_Days() If switchRecord = True Then Exit Sub End If Dim days As String If CheckBox1.Checked Then days = "1" Else days = "0" End If If CheckBox2.Checked Then days = days & "1" Else days = days & "0" End If If CheckBox3.Checked Then days = days & "1" Else days = days & "0" End If If CheckBox4.Checked Then days = days & "1" Else days = days & "0" End If If CheckBox5.Checked Then days = days & "1" Else days = days & "0" End If If CheckBox6.Checked Then days = days & "1" Else days = days & "0" End If If CheckBox7.Checked Then days = days & "1" Else days = days & "0" End If Me.DayTextBox.Text = days End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged Checkbox_Days() End Sub Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged Checkbox_Days() End Sub Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.CheckedChanged Checkbox_Days() End Sub Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox4.CheckedChanged Checkbox_Days() End Sub Private Sub CheckBox5_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox5.CheckedChanged Checkbox_Days() End Sub Private Sub CheckBox6_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox6.CheckedChanged Checkbox_Days() End Sub Private Sub CheckBox7_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox7.CheckedChanged Checkbox_Days() End Sub Private Sub DayTextBox_TextChanged(sender As Object, e As EventArgs) Handles DayTextBox.TextChanged If DayTextBox.Text <> String.Empty Then switchRecord = True CheckBox1.Checked = False CheckBox2.Checked = False CheckBox3.Checked = False CheckBox4.Checked = False CheckBox5.Checked = False CheckBox6.Checked = False CheckBox7.Checked = False 'Markieren der Checkboxen' If DayTextBox.Text.Substring(0, 1) = 1 Then CheckBox1.Checked = True End If If DayTextBox.Text.Substring(1, 1) = 1 Then CheckBox2.Checked = True End If If DayTextBox.Text.Substring(2, 1) = 1 Then CheckBox3.Checked = True End If If DayTextBox.Text.Substring(3, 1) = 1 Then CheckBox4.Checked = True End If If DayTextBox.Text.Substring(4, 1) = 1 Then CheckBox5.Checked = True End If If DayTextBox.Text.Substring(5, 1) = 1 Then CheckBox6.Checked = True End If If DayTextBox.Text.Substring(6, 1) = 1 Then CheckBox7.Checked = True End If switchRecord = False End If End Sub Private Sub RunTextBox_TextChanged(sender As Object, e As EventArgs) Handles RunTextBox.TextChanged Dim arr As String() arr = RunTextBox.Text.Split(";") If RunTextBox.Text.Contains("TIME") Then dtp_Time.Value = CDate("01.01.1900 " & arr(1)) Me.cmbTimeTyp.SelectedIndex = 1 Me.dtp_Time.Visible = True Me.NumericUpDown.Visible = False lblTimeIntervall.Text = "Uhrzeit:" ElseIf RunTextBox.Text.Contains("INTV") Then 'INTV If arr(1) = "" Then arr(1) = "5" NumericUpDown.Value = arr(1) Me.cmbTimeTyp.SelectedIndex = 0 Me.dtp_Time.Visible = False Me.NumericUpDown.Visible = True lblTimeIntervall.Text = "Intervall (Minute):" End If End Sub Private Sub cmbTimeTyp_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbTimeTyp.SelectedIndexChanged Select Case cmbTimeTyp.SelectedIndex Case 0 Me.dtp_Time.Visible = False Me.NumericUpDown.Visible = True RunTextBox.Text = "INTV;" & NumericUpDown.Value Case 1 Me.dtp_Time.Visible = True Me.NumericUpDown.Visible = False RunTextBox.Text = "TIME;" & dtp_Time.Text End Select End Sub Private Sub Load_Jobs(ProfilID As Integer) Try Me.TBWMRH_PROFIL_JOBTableAdapter.Fill(Me.MyDataset.TBWMRH_PROFIL_JOB, ProfilID) Catch ex As System.Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Load Jobs:") End Try End Sub Private Sub Load_FILE_JOBS(Profil_ID As Integer) Try Me.TBWMRH_PROFIL_FILE_JOBTableAdapter.Fill(Me.MyDataset.TBWMRH_PROFIL_FILE_JOB, Profil_ID) Me.STRING1ComboBox.Items.Clear() cmbFileJob_WHIndexe.Items.Clear() Dim indexe = _windream.GetIndicesByObjecttype(ObjekttypComboBox.Text) If indexe IsNot Nothing Then For Each index As String In indexe Me.STRING1ComboBox.Items.Add(index) cmbFileJob_WHIndexe.Items.Add(index) Next End If Catch ex As System.Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Load File-Jobs:") End Try End Sub Private Sub GUIDTextBox_TextChanged(sender As Object, e As EventArgs) Handles GUIDTextBox.TextChanged Load_Jobs() End Sub Sub Load_Jobs() If GUIDTextBox.Text <> String.Empty Then Load_Jobs(GUIDTextBox.Text) Load_FILE_JOBS(GUIDTextBox.Text) End If End Sub Private Sub ToolStripButton7_Click(sender As Object, e As EventArgs) Handles ToolStripButton7.Click Save_PROFIL_JOB() End Sub Sub Save_PROFIL_JOB() Try Me.TBWMRH_PROFIL_JOBBindingSource.EndEdit() If MyDataset.TBWMRH_PROFIL_JOB.GetChanges Is Nothing = False Then Me.GEAENDERTWERTextBox1.Text = Environment.UserName Me.TBWMRH_PROFIL_JOBBindingSource.EndEdit() Me.TBWMRH_PROFIL_JOBTableAdapter.Update(MyDataset.TBWMRH_PROFIL_JOB) statuslabel(True, "Profil-JOB erfolgreich gespeichert - " & Now) Else statuslabel(False, "") End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Save PROFIL-JOB:") End Try End Sub Sub Save_File_JOB() Try Me.TBWMRH_PROFIL_FILE_JOBBindingSource.EndEdit() If MyDataset.TBWMRH_PROFIL_FILE_JOB.GetChanges Is Nothing = False Then Me.GEAENDERTWERTextBox2.Text = Environment.UserName Me.TBWMRH_PROFIL_FILE_JOBBindingSource.EndEdit() Me.TBWMRH_PROFIL_FILE_JOBTableAdapter.Update(MyDataset.TBWMRH_PROFIL_FILE_JOB) statuslabel(True, "File-JOB erfolgreich gespeichert - " & Now) Else statuslabel(False, "") End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Save File-JOB:") End Try End Sub Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click Dim result As MsgBoxResult result = MessageBox.Show("Sind Sie sicher dass Sie diesen Job löschen wollen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = MsgBoxResult.Yes Then Me.TBWMRH_PROFIL_JOBTableAdapter.Delete(Me.PROFILJOB_GUIDTextBox.Text) Load_Jobs(Me.GUIDTextBox.Text) statuslabel(True, "Job wurde erfolgreich gelöscht! - " & Now) End If End Sub Private Sub BindingNavigatorDeleteItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorDeleteItem.Click Dim result As MsgBoxResult result = MessageBox.Show("Sind Sie sicher dass Sie dieses Profil löschen wollen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = MsgBoxResult.Yes Then Me.TBWMRH_PROFIL_JOBTableAdapter.DeleteforPROFIL(Me.GUIDTextBox.Text) Me.TBWMRH_PROFIL_FILE_JOBTableAdapter.DeleteForProfil(Me.GUIDTextBox.Text) Me.TBWMRH_PROFILTableAdapter.Delete(Me.GUIDTextBox.Text) Load_Profil() statuslabel(True, "Profil wurde erfolgreich gelöscht! - " & Now) End If End Sub Private Sub JOB_TYPComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles JOB_TYPComboBox.SelectedIndexChanged Show_String_Lables() End Sub Sub Show_String_Lables() btnJOB_addSpeicherort.Visible = False lblString1.Text = "" lblString2.Text = "" lblString3.Text = "" lblString4.Text = "" lblString5.Text = "" BOOL1CheckBox.Visible = False STRING1TextBox.Visible = False STRING1TextBox.Size = New Size(466, 22) STRING2TextBox.Visible = False STRING3TextBox.Visible = False STRING4TextBox.Visible = False ' STRING3TextBox.Size = New Size(400, 22) STRING3TextBox.Multiline = False STRING3TextBox1.Visible = False STRING5TextBox.Visible = False STRING2ComboBox.Visible = False Select Case JOB_TYPComboBox.Text.ToUpper Case "Export HDD".ToUpper lblString1.Text = "Speicherort für windream-Ergebnisse:" STRING1TextBox.Visible = True btnJOB_addSpeicherort.Visible = True Case "Create Mail Attachment".ToUpper lblString1.Text = "Email-Empfänger:" STRING1TextBox.Visible = True lblString2.Text = "Email-Betreff:" STRING2TextBox.Visible = True lblString3.Text = "Email-Body:" lblString4.Text = "Email-Profil:" lblString4.Visible = True STRING3TextBox.Visible = False STRING3TextBox1.Visible = True STRING4TextBox.Visible = True STRING5TextBox.Visible = True lblString5.Text = "Benennung Datei:" lblString5.Visible = True Case "BNS json Download".ToUpper 'json BNS lblString1.Text = "User Kunde:" STRING1TextBox.Visible = True lblString2.Text = "BNS Kundennummer:" STRING2TextBox.Visible = True Case "Concat Files to one pdf".ToUpper ' Concat Files to one pdf lblString1.Text = "Name und Speicherort der zusammengefügten PDF-Datei:" STRING1TextBox.Visible = True btnJOB_addSpeicherort.Visible = True lblString2.Text = "Löschen der exportierten Dateien (Ja/Nein)" STRING2TextBox.Visible = True Case "Send concatted file via mail".ToUpper lblString1.Text = "Email-Empfänger:" STRING1TextBox.Visible = True lblString2.Text = "Email-Betreff:" STRING2TextBox.Visible = True lblString3.Text = "Email-Body:" STRING3TextBox.Visible = False STRING3TextBox1.Visible = True lblString4.Text = "Email-Profil:" STRING4TextBox.Visible = True Case "Send to printer".ToUpper lblString1.Text = "Netzwerkpfad/Name des Druckers:" STRING1TextBox.Visible = True Case "Send InfoMail with WM-Search".ToUpper lblString1.Text = "Email-Empfänger:" STRING1TextBox.Visible = True lblString2.Text = "Email-Betreff:" STRING2TextBox.Visible = True lblString3.Text = "Email-Body:" STRING3TextBox.Visible = False STRING3TextBox1.Visible = True lblString4.Text = "Email-Profil:" STRING4TextBox.Visible = True lblString5.Text = "Pfad zu WM-Suche:" STRING5TextBox.Visible = True Case "Archive Document X years from Indexdate".ToUpper lblString1.Text = "Archivdauer in Jahren:" STRING1TextBox.Size = New Size(53, 22) STRING1TextBox.Visible = True lblString2.Text = "Index mit Startdatum:" STRING2ComboBox.Items.Clear() Dim indexe = _windream.GetIndicesByObjecttype(ObjekttypComboBox.Text) If indexe IsNot Nothing Then For Each index As String In indexe Select Case _windream.GetTypeOfIndexAsIntByName(index) Case 3 'Float ' Case 4 ' Me.STRING2ComboBox.Items.Add(index) Case 1 ' Me.STRING2ComboBox.Items.Add(index) Case 2 ' Me.STRING2ComboBox.Items.Add(index) Case 5 Me.STRING2ComboBox.Items.Add(index) Case Else 'MsgBox(_windream.GetTypeOfIndexAsIntByName(index)) End Select Next End If STRING2ComboBox.Visible = True BOOL1CheckBox.Text = "Nach Ablauf der Archivierungsdauer automatisch löschen" 'BOOL1CheckBox.Visible = True End Select End Sub Private Sub btnJOB_addSpeicherort_Click(sender As Object, e As EventArgs) Handles btnJOB_addSpeicherort.Click With FolderBrowserDialog1 ' Do .Description = "Speicherort für Ergebnis-Dokumente" If .ShowDialog() = DialogResult.OK Then Me.STRING1TextBox.Text = .SelectedPath End If End With End Sub Private Sub ToolStripButton9_Click(sender As Object, e As EventArgs) Handles ToolStripButton9.Click Dim result As MsgBoxResult result = MessageBox.Show("Sind Sie sicher dass Sie diesen File-Job löschen wollen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = MsgBoxResult.Yes Then Me.TBWMRH_PROFIL_FILE_JOBTableAdapter.Delete(Me.GUIDTextBox2.Text) Load_FILE_JOBS(Me.GUIDTextBox.Text) statuslabel(True, "File-Job wurde erfolgreich gelöscht! - " & Now) End If End Sub Private Sub ToolStripButton14_Click(sender As Object, e As EventArgs) Handles ToolStripButton14.Click Save_File_JOB() End Sub Private Sub STEP_TYPComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles STEP_TYPComboBox.SelectedIndexChanged cmbFileJob_WHIndexe.Visible = False btnFileJob_addIndex.Visible = False Me.btnaddDatetime.Visible = False STRING1TextBoxFile_Job.Visible = False STRING2TextBoxProfil_FileJob.Visible = False lblString2FileJobs.Visible = False btnTestCon.Visible = False lblndexname.Visible = False STRING1TextBoxFile_Job.Size = New Size(299, 22) STRING1TextBoxFile_Job.Anchor = AnchorStyles.Left Or AnchorStyles.Top STRING2TextBoxProfil_FileJob.Size = New Size(455, 22) STRING2TextBoxProfil_FileJob.Anchor = AnchorStyles.Left Or AnchorStyles.Top If STEP_TYPComboBox.SelectedIndex <> -1 Then Select Case STEP_TYPComboBox.SelectedIndex Case 0 lblString1FileJobs.Text = "Indexname" STRING1ComboBox.Visible = True lblString2FileJobs.Text = "Wert" lblString2FileJobs.Visible = True STRING2TextBoxProfil_FileJob.Visible = True Me.btnaddDatetime.Visible = True Case 1 Renamewithindex() Case 2 Renamewithindex() Case 3 'Oracle btnTestCon.Visible = True lblString1FileJobs.Text = "Connection String Oracle" lblString2FileJobs.Text = "Command Oracle" STRING1TextBoxFile_Job.Visible = True STRING2TextBoxProfil_FileJob.Visible = True lblString2FileJobs.Visible = True STRING1TextBoxFile_Job.Size = New Size(462, 22) STRING1TextBoxFile_Job.Anchor = AnchorStyles.Left Or AnchorStyles.Top Or AnchorStyles.Right STRING2TextBoxProfil_FileJob.Size = New Size(543, 22) STRING2TextBoxProfil_FileJob.Anchor = AnchorStyles.Left Or AnchorStyles.Top Or AnchorStyles.Right Case 4 'MSSQL btnTestCon.Visible = True lblString1FileJobs.Text = "Connection String MSSQL" lblString2FileJobs.Text = "Command MSSQL" STRING1TextBoxFile_Job.Visible = True STRING2TextBoxProfil_FileJob.Visible = True lblString2FileJobs.Visible = True End Select End If End Sub Sub Renamewithindex() lblString1FileJobs.Text = "Namenkonvention" STRING1ComboBox.Visible = False STRING1TextBoxFile_Job.Visible = True lblndexname.Visible = True cmbFileJob_WHIndexe.Visible = True btnFileJob_addIndex.Visible = True End Sub Private Sub tabtn_refreshProfile_Click(sender As Object, e As EventArgs) Handles tabtn_refreshProfile.Click Load_Profil() End Sub Private Sub tsbtmrefresh_Uebersicht_Click(sender As Object, e As EventArgs) Handles tsbtmrefresh_Uebersicht.Click Load_Uebersicht() End Sub Private Sub btnsave_Grundkonfig_Click(sender As Object, e As EventArgs) Handles btnsave_Grundkonfig.Click Try Me.TBWMRH_KONFIGURATIONBindingSource.EndEdit() If MyDataset.TBWMRH_KONFIGURATION.GetChanges Is Nothing = False Then Me.GEAENDERT_WERTextBox.Text = Environment.UserName Me.TBWMRH_KONFIGURATIONBindingSource.EndEdit() Me.TBWMRH_KONFIGURATIONTableAdapter.Update(MyDataset.TBWMRH_KONFIGURATION) statuslabel(True, "Grundkonfiguration gespeichert - " & Now) Load_Grundkonfig() If LOG_ERRORS_ONLYCheckBox.Checked = False Then MyLogger.Debug = True Else MyLogger.Debug = False End If End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Save Grundkonfig:") End Try End Sub Private Sub btnaddDatetime_Click(sender As Object, e As EventArgs) Handles btnaddDatetime.Click Me.STRING2TextBoxProfil_FileJob.Text = STRING2TextBoxProfil_FileJob.Text & "[%DATETIME]" End Sub Private Sub btnFileJob_addIndex_Click(sender As Object, e As EventArgs) Handles btnFileJob_addIndex.Click If cmbFileJob_WHIndexe.SelectedIndex <> -1 Then STRING1TextBoxFile_Job.Text = STRING1TextBoxFile_Job.Text & "[%" & cmbFileJob_WHIndexe.Text & "]" End If End Sub Sub Manual(ID As Integer) Try Dim notcompleted As Boolean = False Logger.Info("## Start Durchlauf WindreamResultHandler - " & Now & " ## ") _profil = New clsProfil(MyLogger, ID) 'windream initialisieren If _database.Init(My.Settings.SQLSERVER_CS, True) = True Then Dim DT As DataTable = _database.Return_Datatable("select * from TBWMRH_KONFIGURATION where GUID = 1") If DT.Rows.Count = 1 Then clsCURRENT.DT_TBWMRH_KONFIGURATION = DT clsCURRENT.WDLAUFWERK = clsCURRENT.DT_TBWMRH_KONFIGURATION.Rows(0).Item("WD_LAUFWERK") DD_WMResulthandler.clsCURRENT.LogErrorsOnly = DT.Rows(0).Item("LOG_ERRORS_ONLY") 'MyLogger.Debug = DT.Rows(0).Item("LOG_ERRORS_ONLY") If DD_WMResulthandler.clsCURRENT.LogErrorsOnly = False Then Logger.Debug("Detaillog is ON!") End If DD_WMResulthandler.clsCURRENT.WDLAUFWERK = DT.Rows(0).Item("WD_LAUFWERK") End If If _windream.Init() = True Then Logger.Info("windream vollumfänglich initialisiert!") DT = _database.Return_Datatable("SELECT GUID FROM TBWMRH_PROFIL WHERE GUID = " & ID) If DT.Rows.Count > 0 Then Logger.Info("Anzahl der aktiven Profile: " & DT.Rows.Count.ToString) For Each DR As DataRow In DT.Rows clsCURRENT._PROFIL_ID = CInt(DR.Item("GUID")) 'Und nun das Profil durchlaufen Dim initresult = _profil.Init(clsCURRENT._PROFIL_ID) If initresult = True Then _profil.Profil_Durchlauf(True) ElseIf initresult = False Then Logger.Warn("clsProfil konnte nicht initialisiert werden") notcompleted = True ElseIf initresult = 0 Then Logger.Warn("initresult: 0") notcompleted = True ElseIf initresult = 1 Then Logger.Warn("initresult: 1") notcompleted = True End If Next Else Logger.Warn("- Keine aktiven Profile vorhanden") notcompleted = True End If Else Logger.Warn("# Achtung: Windream-Init mit Fehlern beendet") End If _database.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1") Else Logger.Warn("- clsDatatabase konnte nicht initialisiert werden!") notcompleted = True End If If notcompleted = True Then MsgBox("Run completed with errors - Check the log!", MsgBoxStyle.Information) Else MsgBox("Run completed!", MsgBoxStyle.Information) End If Catch ex As Exception Logger.Error(ex) End Try End Sub Private Sub TBWMRH_PROFIL_JOBBindingSource_AddingNew_1(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBWMRH_PROFIL_JOBBindingSource.AddingNew MyDataset.TBWMRH_PROFIL_JOB.ERSTELLTWERColumn.DefaultValue = Environment.UserName MyDataset.TBWMRH_PROFIL_JOB.PROFIL_IDColumn.DefaultValue = GUIDTextBox.Text End Sub Private Sub TBWMRH_PROFIL_FILE_JOBBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBWMRH_PROFIL_FILE_JOBBindingSource.AddingNew MyDataset.TBWMRH_PROFIL_FILE_JOB.ERSTELLTWERColumn.DefaultValue = Environment.UserName MyDataset.TBWMRH_PROFIL_FILE_JOB.PROFIL_IDColumn.DefaultValue = GUIDTextBox.Text End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Try Process.Start(MyLogger.LogFile) Catch ex As Exception MsgBox(ex.Message & vbNewLine & "Logfile: " & MyLogger.LogFile) End Try End Sub Private Sub btnTestCon_Click(sender As Object, e As EventArgs) Handles btnTestCon.Click If STRING1TextBoxFile_Job.Text = "" Then Exit Sub End If If STEP_TYPComboBox.Text = "Execute Oracle Command" Then If _database.Oracle_CS_Test(STRING1TextBoxFile_Job.Text) = True Then MsgBox("Oracle Connection successfull!", MsgBoxStyle.Information) Exit Sub End If ElseIf STEP_TYPComboBox.Text = "Execute MSSQL Command" Then If _database.MSSQL_CS_Test(STRING1TextBoxFile_Job.Text) = True Then MsgBox("MSSQL Connection successfull!", MsgBoxStyle.Information) Exit Sub End If End If MsgBox("Connection could not be created - Check the log", MsgBoxStyle.Critical) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Try Dim p As New Process() p.StartInfo.FileName = Me.WindreamSucheTextBox.Text p.StartInfo.WindowStyle = ProcessWindowStyle.Normal p.Start() p.WaitForExit() p.Close() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Öffnen der windream-Suche:") End Try End Sub Private Sub TBWMRH_PROFIL_JOBBindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles TBWMRH_PROFIL_JOBBindingSource.CurrentChanged If IsNumeric(PROFILJOB_GUIDTextBox.Text) Then Show_String_Lables() End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Process.Start(MyLogger.LogDirectory) End Sub Private Sub TBDD_EMAIL_ACCOUNTBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBDD_EMAIL_ACCOUNTBindingSource.AddingNew MyDataset.TBDD_EMAIL_ACCOUNT.ADDED_WHOColumn.DefaultValue = Environment.UserName End Sub Private Sub ToolStripButton15_Click(sender As Object, e As EventArgs) Handles ToolStripButton15.Click TBDD_EMAIL_ACCOUNTBindingSource.AddNew() End Sub Private Sub ToolStripButton21_Click(sender As Object, e As EventArgs) Handles ToolStripButton21.Click SaveEmail() End Sub Sub SaveEmail() Try Me.TBDD_EMAIL_ACCOUNTBindingSource.EndEdit() If MyDataset.TBDD_EMAIL_ACCOUNT.GetChanges Is Nothing = False Then Me.GEAENDERT_WERTextBox.Text = Environment.UserName Me.TBDD_EMAIL_ACCOUNTBindingSource.EndEdit() Me.TBDD_EMAIL_ACCOUNTTableAdapter.Update(MyDataset.TBDD_EMAIL_ACCOUNT) statuslabel(True, "Email-Data gespeichert - " & Now) End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Save Email:") End Try End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Try My.Settings.Save() Dim wrapper As New clsEncryption("!35452didalog=") Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text) Dim sClient = New SmtpClient(EMAIL_SMTPTextBox.Text) Dim mymesssage As New MailMessage sClient.Port = PORTTextBox.Text If AUTH_TYPEComboBox.Text = "SSL" Then sClient.EnableSsl = True Else sClient.EnableSsl = False End If sClient.Credentials = New NetworkCredential(EMAIL_USERTextBox.Text, PWPlain) sClient.UseDefaultCredentials = False mymesssage.Body = $"This is the body (text will be replaced within profile)!
mailsmtp: {EMAIL_SMTPTextBox.Text}
mailport: {PORTTextBox.Text}
mailUser: {EMAIL_USERTextBox.Text}
mailPW: XXXX
AUTH_TYPE: {AUTH_TYPEComboBox.Text}" Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(mymesssage.Body) htmlView.ContentType = New System.Net.Mime.ContentType("text/html") mymesssage.AlternateViews.Add(htmlView) mymesssage.From = New MailAddress(EMAIL_FROMTextBox.Text) mymesssage.Subject = "TestSubject from RAW Method" mymesssage.To.Add(New MailAddress(txtTestmailTo.Text)) If txtAttachment.Text <> String.Empty Then Dim oAttment As String = txtAttachment.Text.Replace("W:\", "\\windream\objects\") If System.IO.File.Exists(oAttment) Then Logger.Info($"working on attachment {oAttment}...") Dim oAttachment As New System.Net.Mail.Attachment(oAttment) mymesssage.Attachments.Add(oAttachment) Else MsgBox($"Attachment {oAttment.ToString} is not existing - Mail won't be send!") Exit Sub End If End If sClient.Send(mymesssage) MsgBox("Email has been sent!") Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub btnsendtestmail_Click(sender As Object, e As EventArgs) Handles btnsendtestmail.Click Dim _ss2email As New Email(MyLogger) If txtTestmailTo.Text <> String.Empty Then My.Settings.Save() Dim wrapper As New clsEncryption("!35452didalog=") Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text) If _ss2email.NewEmail(txtTestmailTo.Text, "Testmail from GUI WMResultHandler", "This is the body (text will be replaced within profile)", EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, "GUI WMRH - Test") = True Then MsgBox("Email(s) has/have been sent successfully.", MsgBoxStyle.Information) Else MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation) End If End If End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim wrapper As New clsEncryption("!35452didalog=") Dim pwencrypted = wrapper.EncryptData(txtnewpasswort.Text) EMAIL_PWTextBox.Text = pwencrypted SaveEmail() MsgBox("Passwort was encrypted!") End Sub Private Sub ToolStripButton22_Click(sender As Object, e As EventArgs) Handles ToolStripButton22.Click load_Emails() End Sub Private Sub btnlookupPDFTK_Click(sender As Object, e As EventArgs) Handles btnlookupPDFTK.Click If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then PDF_TK_LOCATIONTextBox.Text = OpenFileDialog1.FileName End If End Sub Private Sub btnlookupPDFXCHANGE_Click(sender As Object, e As EventArgs) Handles btnlookupPDFXCHANGE.Click If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then PDF_XCHANGE_LOCATIONTextBox.Text = OpenFileDialog1.FileName End If End Sub Private Sub ToolStripButton23_Click(sender As Object, e As EventArgs) Handles tsbtnStartProfile.Click Try If IsNumeric(Me.GUIDTextBox.Text) Then Me.TBWMRH_PROFILTableAdapter.cmdUpdateRunningnow(Me.GUIDTextBox.Text) Manual(Me.GUIDTextBox.Text) End If Catch ex As Exception End Try End Sub Private Sub TabPage2_Click(sender As Object, e As EventArgs) Handles TabPage2.Click End Sub Private Sub ToolStripButton23_Click_1(sender As Object, e As EventArgs) Handles ToolStripButton23.Click Load_Jobs(GUIDTextBox.Text) End Sub Private Sub ToolStripButton24_Click(sender As Object, e As EventArgs) Handles ToolStripButton24.Click Load_FILE_JOBS(GUIDTextBox.Text) End Sub Private Sub NumericUpDown_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown.ValueChanged Select Case cmbTimeTyp.SelectedValue Case "Intervall" Me.dtp_Time.Visible = False Me.NumericUpDown.Visible = True RunTextBox.Text = "INTV;" & NumericUpDown.Value Case "Uhrzeit" Me.dtp_Time.Visible = True Me.NumericUpDown.Visible = False RunTextBox.Text = "TIME;" & dtp_Time.Text End Select End Sub Private Sub dtp_Time_ValueChanged(sender As Object, e As EventArgs) Handles dtp_Time.ValueChanged Select Case cmbTimeTyp.SelectedValue Case "Uhrzeit" Me.NumericUpDown.Visible = False Me.dtp_Time.Visible = True RunTextBox.Text = "TIME;" & dtp_Time.Text End Select End Sub Private Sub EncryptToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EncryptToolStripMenuItem.Click Dim wrapper As New clsEncryption("!35452didalog=") Dim pwencrypted = wrapper.DecryptData(EMAIL_PWTextBox.Text) MsgBox("PW is: " & pwencrypted) End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged Dim Dayofweek As Integer = My.Computer.Clock.LocalTime.DayOfWeek Dim SUBS As Integer = 0 Dim RUNTODAY As Integer = 0 Select Case Dayofweek Case 6 'Saturday Case 5 'Friday Case 4 'Thursday Case 3 'Wednesday Case 2 'Tuesday Case 1 'Monday Case 0 'Sunday End Select If Dayofweek = 0 Then SUBS = 6 Else SUBS = Dayofweek - 1 End If RUNTODAY = TextBox1.Text.Substring(SUBS, 1) MsgBox(RUNTODAY) End Sub Private Sub LOG_ERRORS_ONLYCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles LOG_ERRORS_ONLYCheckBox.CheckedChanged My.Settings.Debug_Active = LOG_ERRORS_ONLYCheckBox.Checked My.Settings.Save() End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Dim oFD As OpenFileDialog = New OpenFileDialog() oFD.Title = "Get a test-attachment:" 'oFD.InitialDirectory = "C:\" oFD.Filter = "All files (*.*)|*.*|All files (*.*)|*.*" oFD.FilterIndex = 2 oFD.RestoreDirectory = True If oFD.ShowDialog() = DialogResult.OK Then txtAttachment.Text = oFD.FileName End If End Sub End Class