2023-10-11 13:49:10 +02:00

1067 lines
45 KiB
VB.net

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)! <br> mailsmtp: {EMAIL_SMTPTextBox.Text} <br> mailport: {PORTTextBox.Text} <br> mailUser: {EMAIL_USERTextBox.Text} <br> mailPW: XXXX <br> 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)
Dim llmail As New MailSender(MyLogger)
If txtTestmailTo.Text <> String.Empty Then
My.Settings.Save()
Dim wrapper As New clsEncryption("!35452didalog=")
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
If llmail.ConnectToServer(EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text) = True Then
Dim oSendto As New List(Of String)
oSendto.Add(txtTestmailTo.Text)
Dim oAttMt As New List(Of String)
If txtAttachment.Text <> String.Empty Then
oAttMt.Add(txtAttachment.Text)
End If
If llmail.SendMail(oSendto, EMAIL_FROMTextBox.Text, "Testmail from GUI WMResultHandler", "TEST", Now, oAttMt, 1) = True Then
MsgBox("Email has been sent successfully.", MsgBoxStyle.Information)
Else
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
End If
llmail.DisconnectFromServer()
Else
MsgBox("Could not connect to server. Please check the log.", MsgBoxStyle.Exclamation)
End If
' Dim oSMTP As SmtpClient = llmail.New_SMTPConnection(Nothing, EMAIL_SMTPTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, PORTTextBox.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