MS clsEmail - Anpassungen divers

This commit is contained in:
Digital Data - Marlon Schreiber 2018-04-18 11:16:16 +02:00
parent d9a91aec19
commit 8e66004110
24 changed files with 3606 additions and 1112 deletions

View File

@ -92,6 +92,7 @@
<Compile Include="clsDatatabase.vb" /> <Compile Include="clsDatatabase.vb" />
<Compile Include="clsDateiverarbeitung.vb" /> <Compile Include="clsDateiverarbeitung.vb" />
<Compile Include="clsEmail.vb" /> <Compile Include="clsEmail.vb" />
<Compile Include="clsEncryption.vb" />
<Compile Include="clsHelper.vb" /> <Compile Include="clsHelper.vb" />
<Compile Include="clsLogger.vb" /> <Compile Include="clsLogger.vb" />
<Compile Include="clsProfil.vb" /> <Compile Include="clsProfil.vb" />

View File

@ -4,5 +4,8 @@
Public WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String Public WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String
Public _proflastRun As Date Public _proflastRun As Date
Public LOG_ERRORS_ONLY As Boolean = False Public LOG_ERRORS_ONLY As Boolean = False
Public ARR_Exported_Files()
Public DT_TBWMRH_KONFIGURATION As DataTable
Public DT_TBDD_EMAIL As DataTable
Public CONCATTED_FILE As String
End Module End Module

View File

@ -355,12 +355,13 @@ Public Class clsDateiverarbeitung
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index) ' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
Dim reg_element_Ohne_SZ As String = reg_element.Value.Replace("[%", "") Dim reg_element_Ohne_SZ As String = reg_element.Value.Replace("[%", "")
reg_element_Ohne_SZ = reg_element_Ohne_SZ.Replace("]", "") reg_element_Ohne_SZ = reg_element_Ohne_SZ.Replace("]", "")
clsLogger.AddDetailLog("Indexwert aus Index/Variable '" & reg_element_Ohne_SZ & "' auslesen....") clsLogger.AddDetailLog("read indexvalue from index '" & reg_element_Ohne_SZ & "'....")
If reg_element_Ohne_SZ = "EXPORTED_FILENAME" Then If reg_element_Ohne_SZ = "EXPORTED_FILENAME" Then
If EXPORTED_FILENAME <> "" Then If EXPORTED_FILENAME <> "" Then
_STRING = _STRING.Replace(reg_element.Value, EXPORTED_FILENAME) _STRING = _STRING.Replace(reg_element.Value, EXPORTED_FILENAME)
End If End If
Else Else
clsLogger.Add(">> Attention: WMIndex is an vectorfield - seperation of values via ;", False, "clsDateiverarbeitung.REGEX_REPLACE")
Dim wdIndexwert Dim wdIndexwert
' den Wert des Indexes für das aktuelle Dokument auslesen ' den Wert des Indexes für das aktuelle Dokument auslesen
wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ) wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ)
@ -371,12 +372,29 @@ Public Class clsDateiverarbeitung
wdIndexwert = wdIndexwert.ToString.TrimStart wdIndexwert = wdIndexwert.ToString.TrimStart
clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'") clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'")
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString) _STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
clsLogger.AddDetailLog("SQL-String so far (" & i & ") " & _STRING) clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING)
i += 1 i += 1
Else Else
clsLogger.Add(">> Achtung gelesener Wert ist ein Vektorfeld - keine Ersetzung möglich ", False, "clsProfil.Profil_Durchlauf") Dim result As String = ""
For Each WMvalue As Object In wdIndexwert
If WMvalue.ToString <> String.Empty Then
WMvalue = WMvalue.ToString.TrimEnd
WMvalue = WMvalue.ToString.TrimStart
If result = "" Then
result = WMvalue
Else
result = result & ";" & WMvalue
End If
End If
Next
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
Return Nothing Return Nothing
End If End If
Else
clsLogger.Add(">> Attention: Indexvalue is NOTHING, standardvalue 0 will be used", False, "clsDateiverarbeitung.REGEX_REPLACE")
_STRING = _STRING.Replace(reg_element.Value, "0")
End If End If
End If End If
@ -384,7 +402,7 @@ Public Class clsDateiverarbeitung
Next Next
Return _STRING Return _STRING
Catch ex As Exception Catch ex As Exception
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "REGEX_REPLACE") clsLogger.AddError("Unexpected error: " & ex.Message, "REGEX_REPLACE")
Return Nothing Return Nothing
End Try End Try
End Function End Function

View File

@ -2,32 +2,32 @@
Public Class clsEmail Public Class clsEmail
Private Shared MailAktiv As Boolean = False Private Shared MailAktiv As Boolean = False
Private Shared MailSSL As Boolean = False Private Shared MailSSL As Boolean = False
Private Shared MailEmpfaenger, MailFrom, MAilSMTP, MailUser, MailUser_PW As String
Public Shared Function Init()
Try
Dim DT As DataTable = clsDatatabase.Return_Datatable("select * from TBKONFIGURATION where GUID = 1 and EMAIL_AKTIV = 1")
If DT.Rows.Count = 1 Then
For Each row As DataRow In DT.Rows
MailEmpfaenger = row.Item("EMAIL_EMP")
MailFrom = row.Item("EMAIL_ABS")
MAilSMTP = row.Item("EMAIL_SMTP")
MailSSL = row.Item("EMAIL_SSL")
MailUser = row.Item("EMAIL_USER")
MailUser_PW = row.Item("EMAIL_USER_PW")
MailAktiv = True
Exit For
Next
Else
MailAktiv = False
End If
Return True 'Public Shared Function Init()
Catch ex As Exception ' Try
clsLogger.Add(ex.Message, True, "clsEmail.Init") ' Dim DT As DataTable = clsDatatabase.Return_Datatable("select * from TBDD_EMAIL_ACCOUNT where ACTIVE = 1")
Return False ' If DT.Rows.Count = 1 Then
End Try ' For Each row As DataRow In DT.Rows
End Function
Public Shared Function Send_EMail(ByVal MailBetreff As String, ByVal vBody As String) ' MailFrom = row.Item("EMAIL_ABS")
' MAilSMTP = row.Item("EMAIL_SMTP")
' MailSSL = row.Item("EMAIL_SSL")
' MailUser = row.Item("EMAIL_USER")
' MailUser_PW = row.Item("EMAIL_USER_PW")
' MailAktiv = True
' Exit For
' Next
' Else
' MailAktiv = False
' End If
' Return True
' Catch ex As Exception
' clsLogger.Add(ex.Message, True, "clsEmail.Init")
' Return False
' End Try
' End Function
Public Shared Function Send_EMail(ByVal MailBetreff As String, ByVal vBody As String, MailEmpfaenger As String, MailFrom As String, MAilSMTP As String, MailUser As String, MailUser_PW As String, Optional attment As String = "", Optional test As Boolean = False)
'#### E-MAIL NACHRICHT VERSENDEN '#### E-MAIL NACHRICHT VERSENDEN
Try Try
Dim empfaenger As String() Dim empfaenger As String()
@ -40,14 +40,19 @@ Public Class clsEmail
'Für jeden Empfänger eine Neue Mail erzeugen 'Für jeden Empfänger eine Neue Mail erzeugen
For Each _mailempfaenger As String In empfaenger For Each _mailempfaenger As String In empfaenger
'Neue Nachricht erzeugen: 'Neue Nachricht erzeugen:
Dim message As New MailMessage(MailFrom, _mailempfaenger, MailBetreff, _ Dim message As New MailMessage(MailFrom, _mailempfaenger, MailBetreff,
"<font face=""Arial"">" & vBody & "<br>Maschine: " & Environment.MachineName & _ "<font face=""Arial"">" & vBody & "<br>Maschine: " & Environment.MachineName &
"<br>Domain-Name: " & Environment.UserDomainName & "<br>" & _ "<br>Domain-Name: " & Environment.UserDomainName & "<br>" &
"<br>Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" & _ "<br>Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" &
My.Computer.Clock.LocalTime.ToLongTimeString & "</font>") My.Computer.Clock.LocalTime.ToLongTimeString & "</font>")
' create and add the attachment(s) */ ' create and add the attachment(s) */
' Dim Attachment As Attachment = New Attachment("E:\test\Frachkostenreport.txt") If attment <> String.Empty Then
'message.Attachments.Add(Attachment) If System.IO.File.Exists(attment) Then
Dim Attachment As Attachment = New Attachment(attment)
message.Attachments.Add(Attachment)
End If
End If
With message With message
.IsBodyHtml = True .IsBodyHtml = True
End With End With
@ -60,16 +65,24 @@ Public Class clsEmail
emailClient.UseDefaultCredentials = False emailClient.UseDefaultCredentials = False
emailClient.Credentials = SMTPUserInfo emailClient.Credentials = SMTPUserInfo
emailClient.Port = 25 emailClient.Port = 25
clsLogger.Add("==> Fehler Email erfolgreich an " & _mailempfaenger & " versendet!", False) clsLogger.Add("==> Email erfolgreich an " & _mailempfaenger & " versendet!", False)
clsLogger.Add("==> Text: " & vBody, False) clsLogger.Add("==> Text: " & vBody, False)
clsLogger.Add("", False) clsLogger.Add("", False)
'*Send the message */ '*Send the message */
emailClient.Send(message) emailClient.Send(message)
If test = True Then
MsgBox("The testmail was send successfully", MsgBoxStyle.Information)
End If
Return True Return True
Next Next
Catch ex As Exception Catch ex As Exception
clsLogger.Add(ex.Message, True, "cls.SendEmail") clsLogger.Add(ex.Message, True, "cls.SendEmail")
If test = True Then
MsgBox("Unexpected error in Send Testmail: " & ex.Message, MsgBoxStyle.Critical)
End If
Return False Return False
End Try End Try
End Function End Function
End Class End Class

View File

@ -0,0 +1,72 @@
Imports System.Security.Cryptography
Public Class clsEncryption
Private TripleDes As New TripleDESCryptoServiceProvider
Sub New(ByVal key As String)
' Initialize the crypto provider.
TripleDes.Key = TruncateHash(key, TripleDes.KeySize \ 8)
TripleDes.IV = TruncateHash("", TripleDes.BlockSize \ 8)
End Sub
Private Function TruncateHash(
ByVal key As String,
ByVal length As Integer) As Byte()
Dim sha1 As New SHA1CryptoServiceProvider
' Hash the key.
Dim keyBytes() As Byte =
System.Text.Encoding.Unicode.GetBytes(key)
Dim hash() As Byte = sha1.ComputeHash(keyBytes)
' Truncate or pad the hash.
ReDim Preserve hash(length - 1)
Return hash
End Function
Public Function EncryptData(
ByVal plaintext As String) As String
' Convert the plaintext string to a byte array.
Dim plaintextBytes() As Byte =
System.Text.Encoding.Unicode.GetBytes("!Didalog35452Heuchelheim=" & plaintext)
' Create the stream.
Dim ms As New System.IO.MemoryStream
' Create the encoder to write to the stream.
Dim encStream As New CryptoStream(ms,
TripleDes.CreateEncryptor(),
System.Security.Cryptography.CryptoStreamMode.Write)
' Use the crypto stream to write the byte array to the stream.
encStream.Write(plaintextBytes, 0, plaintextBytes.Length)
encStream.FlushFinalBlock()
' Convert the encrypted stream to a printable string.
Return Convert.ToBase64String(ms.ToArray)
End Function
'Entschlüsselt die Zeichenfolge
Public Function DecryptData(
ByVal encryptedtext As String) As String
Try
' Convert the encrypted text string to a byte array.
Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)
' Create the stream.
Dim ms As New System.IO.MemoryStream
' Create the decoder to write to the stream.
Dim decStream As New CryptoStream(ms,
TripleDes.CreateDecryptor(),
System.Security.Cryptography.CryptoStreamMode.Write)
' Use the crypto stream to write the byte array to the stream.
decStream.Write(encryptedBytes, 0, encryptedBytes.Length)
decStream.FlushFinalBlock()
Dim result = System.Text.Encoding.Unicode.GetString(ms.ToArray)
result = result.Replace("!Didalog35452Heuchelheim=", "")
' Convert the plaintext stream to a string.
Return result
Catch ex As Exception
Return Nothing
End Try
End Function
End Class

View File

@ -101,6 +101,9 @@ Public Class clsProfil
clsLogger.Add(">> _profRunType konnte nicht ausgewertet werden - " & arr(0), False) clsLogger.Add(">> _profRunType konnte nicht ausgewertet werden - " & arr(0), False)
End Select End Select
If Run_Profile = True Then If Run_Profile = True Then
DT_TBWMRH_KONFIGURATION = clsDatatabase.Return_Datatable("SELECT * FROM TBWMRH_KONFIGURATION WHERE GUID = 1")
DT_TBDD_EMAIL = clsDatatabase.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
ARR_Exported_Files = Nothing
clsLogger.Add(">> Start des Durchlaufes für Profil '" & _Profilname & "'", False) clsLogger.Add(">> Start des Durchlaufes für Profil '" & _Profilname & "'", False)
'den Durchlaufszeitpunkt speichern 'den Durchlaufszeitpunkt speichern
clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _profGUID) clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _profGUID)
@ -132,37 +135,11 @@ Public Class clsProfil
If clsDateiverarbeitung.InitProfilData = True Then If clsDateiverarbeitung.InitProfilData = True Then
clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True") clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True")
For Each _JOBROW As DataRow In DT_PROFIL_JOB.Rows
clsLogger.AddDetailLog("JOB_TYP: " & _JOBROW.Item("JOB_TYP").ToString.ToUpper & " GUID: " & _JOBROW.Item("GUID").ToString)
Next
'For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
' Dim result = DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
' Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
' Case "BNS json Download".ToUpper
' 'ARRAY oder Äqivalent bilden
' Dim sb As New StringBuilder()
' Dim sw As New StringWriter(sb)
' Using writer As JsonWriter = New JsonTextWriter(sw)
' writer.Formatting = Formatting.Indented
' writer.WriteStartObject()
' writer.WritePropertyName("CPU")
' writer.WriteValue("Intel")
' writer.WritePropertyName("PSU")
' writer.WriteValue("500W")
' writer.WritePropertyName("Drives")
' writer.WriteStartArray()
' writer.WriteValue("DVD read/writer")
' writer.WriteComment("(broken)")
' writer.WriteValue("500 gigabyte hard drive")
' writer.WriteValue("200 gigabype hard drive")
' writer.WriteEnd()
' writer.WriteEndObject()
' End Using
' Console.WriteLine(sb.ToString())
' End Select
'Next
Dim FileJobSuccessful As Boolean = False Dim FileJobSuccessful As Boolean = False
Dim CountExportedDoc As Integer = 0
For Each WMdok As WMObject In windreamSucheErgebnisse For Each WMdok As WMObject In windreamSucheErgebnisse
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
@ -174,107 +151,17 @@ Public Class clsProfil
' aktuelles Dokument zum Export bereitstellen ' aktuelles Dokument zum Export bereitstellen
EXPORTED_FILENAME = "" EXPORTED_FILENAME = ""
If clsDateiverarbeitung.Export_File(WMdok, DR_PR_JB.Item("STRING1")) = True Then If clsDateiverarbeitung.Export_File(WMdok, DR_PR_JB.Item("STRING1")) = True Then
ReDim Preserve ARR_Exported_Files(CountExportedDoc)
ARR_Exported_Files(CountExportedDoc) = EXPORTED_FILENAME
CountExportedDoc += 1
FileJobSuccessful = True FileJobSuccessful = True
'If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then
' clsLogger.AddDetailLog("Anzahl DT_PROFIL_FILE_JOB.Rows.Count:" & DT_PROFIL_FILE_JOB.Rows.Count)
' 'Für jeden File-Job
' For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
' If FileJobSuccessful = False Then
' clsLogger.Add("AUSSTIEG FOR SCHLEIFE...", True)
' clsLogger.WriteLog()
' Exit For
' End If
' Select Case DR_PR_FILE_JOB.Item("TYP").ToString.ToLower
' Case "Set Index".ToLower
' Try
' 'Überprüfen ob Value bereits gesetzt wurde?
' Dim idxName As String = DR_PR_FILE_JOB.Item("STRING1").ToString
' Dim idxvalue As String = DR_PR_FILE_JOB.Item("STRING2").ToString
' If idxvalue.Contains("[%DATETIME]") Then
' idxvalue = idxvalue.Replace("[%DATETIME]", Now.ToString)
' End If
' clsLogger.AddDetailLog("Datei soll mit Index '" & idxName & "'indexiert werden...")
' Dim arrIndex() As String
' ReDim Preserve arrIndex(0)
' arrIndex(0) = idxName
' clsLogger.AddDetailLog("...nach arrIndex")
' Dim arrValue() As String
' Dim aktvalue As Object
' aktvalue = WMdok.GetVariableValue(idxName)
' clsLogger.AddDetailLog("...nach aktValue zuweisen..")
' If aktvalue Is Nothing Then
' clsLogger.AddDetailLog("Index '" & idxName & "' ist noch leer.")
' ReDim Preserve arrValue(0)
' arrValue(0) = idxvalue
' Else
' clsLogger.AddDetailLog("Index '" & idxName & "' ist bereits gefüllt.")
' Dim myArray()
' ReDim myArray(0)
' myArray(0) = idxvalue
' Dim VektorArray()
' VektorArray = Return_VektorArray(WMdok, idxName, myArray, True)
' If VektorArray Is Nothing = False Then
' ReDim arrValue(VektorArray.Length - 1)
' Array.Copy(VektorArray, arrValue, VektorArray.Length)
' End If
' End If
' If arrValue Is Nothing = False Then
' clsWindream_Index.RunIndexing(WMdok, arrIndex, arrValue, _profObjekttyp)
' Else
' clsLogger.Add(">> arrValue is nothing - keine Indexierung", False, "clsProfil.Profil_Durchlauf")
' End If
' Catch ex As Exception
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(SetIndex)")
' End Try
' Case "Rename File with windream Index".ToLower
' clsLogger.AddDetailLog("Exportierte Datei soll nach Indexvorgaben umbenannt werden...")
' clsDateiverarbeitung.Rename_File(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
' Case "Rename File with WMVector (only one)".ToLower
' clsLogger.AddDetailLog("Exportierte Datei soll nach VektorIndexvorgaben umbenannt werden...")
' clsDateiverarbeitung.Rename_File_Vektor(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
' Case "Execute Oracle Command".ToLower
' Try
' clsLogger.AddDetailLog("Execute Oracle Comman.......")
' Dim oracleconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
' Dim oracleCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
' FileJobSuccessful = clsDateiverarbeitung.RUN_ORACLE_COMMAND(WMdok, oracleconnectionstring, oracleCommandRAW)
' Catch ex As Exception
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteOracleCommand)")
' End Try
' Case "Execute MSSQL Command".ToLower
' Try
' Dim MSSQLconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
' Dim MSSQLCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
' clsLogger.AddDetailLog("Execute MSSQL Command.......")
' FileJobSuccessful = clsDateiverarbeitung.RUN_MSSQL_COMMAND(WMdok, MSSQLconnectionstring, MSSQLCommandRAW)
' Catch ex As Exception
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)")
' End Try
' End Select
' 'Abschluss Bearbeitung File Job
' clsLogger.WriteLog()
' Next
'Else
' clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
' clsLogger.WriteLog()
'End If
Else Else
clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = Getdate() WHERE GUID = " & _profGUID) clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = Getdate() WHERE GUID = " & _profGUID)
End If End If
'Next 'Next
Case "BNS json Download".ToUpper Case "BNS json Download".ToUpper
FileJobSuccessful = clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2")) FileJobSuccessful = clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
Case "".ToUpper
End Select End Select
'Abschluss Bearbeitung Job 'Abschluss Bearbeitung Job
clsLogger.WriteLog() clsLogger.WriteLog()
@ -283,7 +170,6 @@ Public Class clsProfil
'JETZT DER DURCHLAUF DER DATEI-JOBS 'JETZT DER DURCHLAUF DER DATEI-JOBS
'################################## '##################################
If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then
Dim filecount As Integer = 0
'Für jeden File-Job 'Für jeden File-Job
For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
If FileJobSuccessful = False Then If FileJobSuccessful = False Then
@ -366,19 +252,161 @@ Public Class clsProfil
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)") clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)")
End Try End Try
End Select End Select
If filecount >= 20 Then
clsLogger.WriteLog()
filecount = 0
End If
'Abschluss Bearbeitung File Job 'Abschluss Bearbeitung File Job
Next Next
clsLogger.WriteLog()
Else Else
clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf") clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
clsLogger.WriteLog() clsLogger.WriteLog()
End If End If
Next Next
clsLogger.WriteLog() clsLogger.WriteLog()
'Jetzt nochmal ein Durchlauf für Profiljobs wo alle Dateien abgearbeitet wurden.
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
clsLogger.AddDetailLog("Now again working on profile-type: " & DR_PR_JB.Item("JOB_TYP") & " - ID: " & DR_PR_JB.Item("GUID"))
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
Case "Concat Files to one pdf".ToUpper
clsLogger.AddDetailLog("Case Concat Files to one pdf....")
Dim pdftk = DT_TBWMRH_KONFIGURATION.Rows(0).Item("PDF_TK_LOCATION")
clsLogger.AddDetailLog("pdftk location: " & pdftk)
CONCATTED_FILE = DR_PR_JB.Item("STRING1")
clsLogger.AddDetailLog("CONCATTED_FILE location: " & CONCATTED_FILE)
Dim deleteJaNein = DR_PR_JB.Item("STRING2").ToString.ToUpper
clsLogger.AddDetailLog("deleteJaNein: " & deleteJaNein.ToString)
If File.Exists(pdftk) Then
If File.Exists(CONCATTED_FILE) Then
Try
File.Delete(CONCATTED_FILE)
Catch ex As Exception
End Try
End If
Try
Dim myProcess As New Process
Dim ProcID
myProcess.StartInfo.FileName = pdftk
myProcess.StartInfo.CreateNoWindow = False
Dim _argument As String
Dim i As Integer
For Each str As String In ARR_Exported_Files
If i = 0 Then
_argument = """" & str & """"
Else
_argument = _argument & " " & """" & str & """"
End If
i += 1
Next
myProcess.StartInfo.Arguments = _argument & " cat output " & CONCATTED_FILE
clsLogger.AddDetailLog("Arguments: " & _argument & " cat output " & CONCATTED_FILE)
myProcess.Start()
ProcID = myProcess.Id
Dim p As Process
p = Process.GetProcessById(ProcID)
Dim sw As Stopwatch = New Stopwatch()
sw.Start()
Do While p.HasExited = False
If sw.Elapsed.TotalSeconds = 30 Then
clsLogger.AddDetailLog("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
ElseIf sw.Elapsed.TotalMinutes = 1 Then
clsLogger.AddDetailLog("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
Exit Do
End If
Loop
clsLogger.AddDetailLog("...process has exited: ")
sw.Stop()
clsLogger.AddDetailLog("Waiting for file: " & CONCATTED_FILE)
Do While File.Exists(CONCATTED_FILE) = False
Console.WriteLine("...not existing!")
Loop
If deleteJaNein = "JA" Then
For Each str As String In ARR_Exported_Files
Try
File.Delete(str)
Catch ex As Exception
clsLogger.AddError("Unexpected error in deleting ARR_Exported_Files files: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
End Try
Next
End If
clsLogger.WriteLog()
Catch ex As Exception
clsLogger.AddError("Unexpected error: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
End Try
Else
clsLogger.AddError("pdftk is not existing", "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
End If
Case "Send concatted file via mail".ToUpper
clsLogger.AddDetailLog("CASE Send concatted file via mail.... ")
If File.Exists(CONCATTED_FILE) = True Then
Dim Email_Empfänger = DR_PR_JB.Item("STRING1")
clsLogger.AddDetailLog("Email_Empfänger: " & Email_Empfänger)
Dim Email_Betreff = DR_PR_JB.Item("STRING2")
clsLogger.AddDetailLog("Email_Betreff: " & Email_Betreff)
Dim Email_Body = DR_PR_JB.Item("STRING3")
clsLogger.AddDetailLog("Email_Body: " & Email_Body)
Dim EMAIL_PROFIL = DR_PR_JB.Item("STRING4")
clsLogger.AddDetailLog("EMAIL_PROFIL: " & EMAIL_PROFIL)
If Not IsNothing(DT_TBDD_EMAIL) And DT_TBDD_EMAIL.Rows.Count >= 1 Then
Dim MAILFROM As String = ""
Dim MAILSMTP As String = ""
Dim MAIL_USER As String = ""
Dim MAIL_USER_PW As String = ""
For Each emailrow As DataRow In DT_TBDD_EMAIL.Rows
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
MAILFROM = emailrow.Item("EMAIL_FROM")
MAILSMTP = emailrow.Item("EMAIL_SMTP")
MAIL_USER = emailrow.Item("EMAIL_USER")
MAIL_USER_PW = emailrow.Item("EMAIL_PW")
End If
Next
Dim wrapper As New clsEncryption("!35452didalog=")
Dim PWPlain = wrapper.DecryptData(MAIL_USER_PW)
If Not IsNothing(PWPlain) Then
If PWPlain <> "" Then
MAIL_USER_PW = PWPlain
Else
clsLogger.AddError("PWPlain is string.empty - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
clsLogger.WriteLog()
Return False
End If
Else
clsLogger.AddError("PWPlain is nothing - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
clsLogger.WriteLog()
Return False
End If
clsEmail.Send_EMail(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_USER, MAIL_USER_PW, CONCATTED_FILE)
Else
clsLogger.AddError("DT_TBDD_EMAIL is nothing or contains no rows", "clsProfil.Profil_Durchlauf(end concatted file via mail)")
clsLogger.WriteLog()
Return False
End If
Else
clsLogger.AddError("File not existing: " & CONCATTED_FILE, "clsProfil.Profil_Durchlauf(Send concatted file via mail)")
End If
End Select
Next
clsLogger.WriteLog()
Else Else
clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True) clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True)
clsLogger.WriteLog() clsLogger.WriteLog()

View File

@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.1")> <Assembly: AssemblyVersion("1.1.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.1")> <Assembly: AssemblyFileVersion("1.0.0.1")>

View File

@ -22,7 +22,7 @@ Namespace My.Resources
'''<summary> '''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary> '''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _ <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _ Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
@ -90,6 +90,16 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property email_go() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("email_go", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary> '''</summary>
@ -100,6 +110,16 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property key_go() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("key_go", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary> '''</summary>

View File

@ -118,12 +118,12 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="arrow_switch" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\arrow_switch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\save.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="email_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\email_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arrow_refresh" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="arrow_refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\arrow_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\arrow_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
@ -133,4 +133,10 @@
<data name="add" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="add" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="arrow_switch" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\arrow_switch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="key_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\key_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>

File diff suppressed because it is too large Load Diff

View File

@ -5,5 +5,24 @@
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> <DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TableUISettings /> <TableUISettings>
<TableUISetting Name="TBDD_EMAIL_ACCOUNT">
<ColumnUISettings>
<ColumnUISetting Name="ADDED_WHEN">
<ControlSettings>
<ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form">
<BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting>
</ControlSettings>
</ColumnUISetting>
<ColumnUISetting Name="CHANGED_WHEN">
<ControlSettings>
<ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form">
<BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting>
</ControlSettings>
</ColumnUISetting>
</ColumnUISettings>
</TableUISetting>
</TableUISettings>
</DataSetUISetting> </DataSetUISetting>

View File

@ -390,6 +390,82 @@ WHERE PROFIL_ID = @PID</CommandText>
</DbSource> </DbSource>
</Sources> </Sources>
</TableAdapter> </TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBDD_EMAIL_ACCOUNTTableAdapter" GeneratorDataComponentClassName="TBDD_EMAIL_ACCOUNTTableAdapter" Name="TBDD_EMAIL_ACCOUNT" UserDataComponentName="TBDD_EMAIL_ACCOUNTTableAdapter">
<MainSource>
<DbSource ConnectionRef="SQLSERVER_CS (MySettings)" DbObjectName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>DELETE FROM TBDD_EMAIL_ACCOUNT
WHERE (GUID = @Original_GUID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>INSERT INTO TBDD_EMAIL_ACCOUNT
(NAME, EMAIL_FROM, EMAIL_SMTP, EMAIL_USER, EMAIL_PW, PORT, ACTIVE, ADDED_WHO)
VALUES (@NAME,@EMAIL_FROM,@EMAIL_SMTP,@EMAIL_USER,@EMAIL_PW,@PORT,@ACTIVE,@ADDED_WHO);
SELECT GUID, NAME, EMAIL_FROM, EMAIL_SMTP, EMAIL_USER, EMAIL_PW, PORT, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBDD_EMAIL_ACCOUNT WHERE (GUID = SCOPE_IDENTITY())</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_FROM" ColumnName="EMAIL_FROM" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_FROM" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_FROM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_SMTP" ColumnName="EMAIL_SMTP" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_SMTP" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_SMTP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_USER" ColumnName="EMAIL_USER" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_USER" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_USER" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_PW" ColumnName="EMAIL_PW" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_PW" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_PW" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PORT" ColumnName="PORT" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PORT" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PORT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ACTIVE" ColumnName="ACTIVE" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT GUID, NAME, EMAIL_FROM, EMAIL_SMTP, EMAIL_USER, EMAIL_PW, PORT, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN
FROM TBDD_EMAIL_ACCOUNT</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>UPDATE TBDD_EMAIL_ACCOUNT
SET NAME = @NAME, EMAIL_FROM = @EMAIL_FROM, EMAIL_SMTP = @EMAIL_SMTP, EMAIL_USER = @EMAIL_USER, EMAIL_PW = @EMAIL_PW, PORT = @PORT, ACTIVE = @ACTIVE,
CHANGED_WHO = @CHANGED_WHO
WHERE (GUID = @Original_GUID);
SELECT GUID, NAME, EMAIL_FROM, EMAIL_SMTP, EMAIL_USER, EMAIL_PW, PORT, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBDD_EMAIL_ACCOUNT WHERE (GUID = @GUID)</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_FROM" ColumnName="EMAIL_FROM" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_FROM" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_FROM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_SMTP" ColumnName="EMAIL_SMTP" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_SMTP" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_SMTP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_USER" ColumnName="EMAIL_USER" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_USER" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_USER" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="EMAIL_PW" ColumnName="EMAIL_PW" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@EMAIL_PW" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="EMAIL_PW" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PORT" ColumnName="PORT" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PORT" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PORT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ACTIVE" ColumnName="ACTIVE" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM_RENOLIT.dbo.TBDD_EMAIL_ACCOUNT" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="GUID" DataSetColumn="GUID" />
<Mapping SourceColumn="NAME" DataSetColumn="NAME" />
<Mapping SourceColumn="EMAIL_FROM" DataSetColumn="EMAIL_FROM" />
<Mapping SourceColumn="EMAIL_SMTP" DataSetColumn="EMAIL_SMTP" />
<Mapping SourceColumn="EMAIL_USER" DataSetColumn="EMAIL_USER" />
<Mapping SourceColumn="EMAIL_PW" DataSetColumn="EMAIL_PW" />
<Mapping SourceColumn="PORT" DataSetColumn="PORT" />
<Mapping SourceColumn="ACTIVE" DataSetColumn="ACTIVE" />
<Mapping SourceColumn="ADDED_WHO" DataSetColumn="ADDED_WHO" />
<Mapping SourceColumn="ADDED_WHEN" DataSetColumn="ADDED_WHEN" />
<Mapping SourceColumn="CHANGED_WHO" DataSetColumn="CHANGED_WHO" />
<Mapping SourceColumn="CHANGED_WHEN" DataSetColumn="CHANGED_WHEN" />
</Mappings>
<Sources />
</TableAdapter>
</Tables> </Tables>
<Sources /> <Sources />
</DataSource> </DataSource>
@ -652,6 +728,66 @@ WHERE PROFIL_ID = @PID</CommandText>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="TBDD_EMAIL_ACCOUNT" msprop:Generator_TableClassName="TBDD_EMAIL_ACCOUNTDataTable" msprop:Generator_TableVarName="tableTBDD_EMAIL_ACCOUNT" msprop:Generator_RowChangedName="TBDD_EMAIL_ACCOUNTRowChanged" msprop:Generator_TablePropName="TBDD_EMAIL_ACCOUNT" msprop:Generator_RowDeletingName="TBDD_EMAIL_ACCOUNTRowDeleting" msprop:Generator_RowChangingName="TBDD_EMAIL_ACCOUNTRowChanging" msprop:Generator_RowEvHandlerName="TBDD_EMAIL_ACCOUNTRowChangeEventHandler" msprop:Generator_RowDeletedName="TBDD_EMAIL_ACCOUNTRowDeleted" msprop:Generator_RowClassName="TBDD_EMAIL_ACCOUNTRow" msprop:Generator_UserTableName="TBDD_EMAIL_ACCOUNT" msprop:Generator_RowEvArgName="TBDD_EMAIL_ACCOUNTRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
<xs:element name="NAME" msprop:Generator_ColumnVarNameInTable="columnNAME" msprop:Generator_ColumnPropNameInRow="NAME" msprop:Generator_ColumnPropNameInTable="NAMEColumn" msprop:Generator_UserColumnName="NAME" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMAIL_FROM" msprop:Generator_ColumnVarNameInTable="columnEMAIL_FROM" msprop:Generator_ColumnPropNameInRow="EMAIL_FROM" msprop:Generator_ColumnPropNameInTable="EMAIL_FROMColumn" msprop:Generator_UserColumnName="EMAIL_FROM">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMAIL_SMTP" msprop:Generator_ColumnVarNameInTable="columnEMAIL_SMTP" msprop:Generator_ColumnPropNameInRow="EMAIL_SMTP" msprop:Generator_ColumnPropNameInTable="EMAIL_SMTPColumn" msprop:Generator_UserColumnName="EMAIL_SMTP">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMAIL_USER" msprop:Generator_ColumnVarNameInTable="columnEMAIL_USER" msprop:Generator_ColumnPropNameInRow="EMAIL_USER" msprop:Generator_ColumnPropNameInTable="EMAIL_USERColumn" msprop:Generator_UserColumnName="EMAIL_USER">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMAIL_PW" msprop:Generator_ColumnVarNameInTable="columnEMAIL_PW" msprop:Generator_ColumnPropNameInRow="EMAIL_PW" msprop:Generator_ColumnPropNameInTable="EMAIL_PWColumn" msprop:Generator_UserColumnName="EMAIL_PW" default="4711">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PORT" msprop:Generator_ColumnVarNameInTable="columnPORT" msprop:Generator_ColumnPropNameInRow="PORT" msprop:Generator_ColumnPropNameInTable="PORTColumn" msprop:Generator_UserColumnName="PORT" type="xs:int" />
<xs:element name="ACTIVE" msprop:Generator_ColumnVarNameInTable="columnACTIVE" msprop:Generator_ColumnPropNameInRow="ACTIVE" msprop:Generator_ColumnPropNameInTable="ACTIVEColumn" msprop:Generator_UserColumnName="ACTIVE" type="xs:boolean" default="false" />
<xs:element name="ADDED_WHO" msprop:Generator_ColumnVarNameInTable="columnADDED_WHO" msprop:Generator_ColumnPropNameInRow="ADDED_WHO" msprop:Generator_ColumnPropNameInTable="ADDED_WHOColumn" msprop:Generator_UserColumnName="ADDED_WHO">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ADDED_WHEN" msprop:Generator_ColumnVarNameInTable="columnADDED_WHEN" msprop:Generator_ColumnPropNameInRow="ADDED_WHEN" msprop:Generator_ColumnPropNameInTable="ADDED_WHENColumn" msprop:Generator_UserColumnName="ADDED_WHEN" type="xs:dateTime" minOccurs="0" />
<xs:element name="CHANGED_WHO" msprop:Generator_ColumnVarNameInTable="columnCHANGED_WHO" msprop:Generator_ColumnPropNameInRow="CHANGED_WHO" msprop:Generator_ColumnPropNameInTable="CHANGED_WHOColumn" msprop:Generator_UserColumnName="CHANGED_WHO" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CHANGED_WHEN" msprop:Generator_ColumnVarNameInTable="columnCHANGED_WHEN" msprop:Generator_ColumnPropNameInRow="CHANGED_WHEN" msprop:Generator_ColumnPropNameInTable="CHANGED_WHENColumn" msprop:Generator_UserColumnName="CHANGED_WHEN" type="xs:dateTime" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice> </xs:choice>
</xs:complexType> </xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true"> <xs:unique name="Constraint1" msdata:PrimaryKey="true">
@ -670,6 +806,10 @@ WHERE PROFIL_ID = @PID</CommandText>
<xs:selector xpath=".//mstns:TBWMRH_PROFIL_JOB" /> <xs:selector xpath=".//mstns:TBWMRH_PROFIL_JOB" />
<xs:field xpath="mstns:GUID" /> <xs:field xpath="mstns:GUID" />
</xs:unique> </xs:unique>
<xs:unique name="TBDD_EMAIL_ACCOUNT_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:TBDD_EMAIL_ACCOUNT" />
<xs:field xpath="mstns:GUID" />
</xs:unique>
</xs:element> </xs:element>
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>

View File

@ -4,15 +4,16 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="44" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:TBWMRH_KONFIGURATION" ZOrder="6" X="55" Y="54" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBWMRH_KONFIGURATION" ZOrder="7" X="55" Y="54" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWMRH_PROFIL" ZOrder="5" X="421" Y="55" Height="324" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBWMRH_PROFIL" ZOrder="6" X="421" Y="55" Height="324" Width="254" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWMRH_PROFIL_FILE_JOB" ZOrder="1" X="729" Y="143" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBWMRH_PROFIL_FILE_JOB" ZOrder="2" X="729" Y="143" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWMRH_PROFIL_JOB" ZOrder="3" X="1136" Y="283" Height="324" Width="276" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBWMRH_PROFIL_JOB" ZOrder="4" X="1136" Y="283" Height="324" Width="276" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_EMAIL_ACCOUNT" ZOrder="1" X="56" Y="387" Height="305" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
</Shapes> </Shapes>
<Connectors> <Connectors>
<Connector ID="DesignRelation:FK_FILE_JOB_PROFILID" ZOrder="4" LineWidth="11"> <Connector ID="DesignRelation:FK_FILE_JOB_PROFILID" ZOrder="5" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>675</X> <X>675</X>
@ -24,7 +25,7 @@
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_TBPROFIL_JOB_PROFILID" ZOrder="2" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPROFIL_JOB_PROFILID" ZOrder="3" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>675</X> <X>675</X>

View File

@ -4,4 +4,8 @@
Public WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String Public WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String
Public _proflastRun As Date Public _proflastRun As Date
Public LOG_ERRORS_ONLY As Boolean = False Public LOG_ERRORS_ONLY As Boolean = False
Public ARR_Exported_Files()
Public DT_TBWMRH_KONFIGURATION As DataTable
Public DT_TBDD_EMAIL As DataTable
Public CONCATTED_FILE As String
End Module End Module

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

View File

@ -113,6 +113,8 @@
<Compile Include="ClassAllgemeineFunktionen.vb" /> <Compile Include="ClassAllgemeineFunktionen.vb" />
<Compile Include="clsDatabase.vb" /> <Compile Include="clsDatabase.vb" />
<Compile Include="clsDateiverarbeitung.vb" /> <Compile Include="clsDateiverarbeitung.vb" />
<Compile Include="clsEmail.vb" />
<Compile Include="clsEncryption.vb" />
<Compile Include="clsLogger.vb" /> <Compile Include="clsLogger.vb" />
<Compile Include="clsProfil.vb" /> <Compile Include="clsProfil.vb" />
<Compile Include="clsWindream_allgemein.vb" /> <Compile Include="clsWindream_allgemein.vb" />
@ -200,6 +202,8 @@
<ItemGroup> <ItemGroup>
<Content Include="bin\Debug\x64\SQLite.Interop.dll" /> <Content Include="bin\Debug\x64\SQLite.Interop.dll" />
<Content Include="ico638.ico" /> <Content Include="ico638.ico" />
<None Include="Resources\key_go.png" />
<None Include="Resources\email_go.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<WCFMetadata Include="Connected Services\" /> <WCFMetadata Include="Connected Services\" />

View File

@ -349,12 +349,13 @@ Public Class clsDateiverarbeitung
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index) ' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
Dim reg_element_Ohne_SZ As String = reg_element.Value.Replace("[%", "") Dim reg_element_Ohne_SZ As String = reg_element.Value.Replace("[%", "")
reg_element_Ohne_SZ = reg_element_Ohne_SZ.Replace("]", "") reg_element_Ohne_SZ = reg_element_Ohne_SZ.Replace("]", "")
clsLogger.AddDetailLog("Indexwert aus Index/Variable '" & reg_element_Ohne_SZ & "' auslesen....") clsLogger.AddDetailLog("read indexvalue from index '" & reg_element_Ohne_SZ & "'....")
If reg_element_Ohne_SZ = "EXPORTED_FILENAME" Then If reg_element_Ohne_SZ = "EXPORTED_FILENAME" Then
If EXPORTED_FILENAME <> "" Then If EXPORTED_FILENAME <> "" Then
_STRING = _STRING.Replace(reg_element.Value, EXPORTED_FILENAME) _STRING = _STRING.Replace(reg_element.Value, EXPORTED_FILENAME)
End If End If
Else Else
clsLogger.Add(">> Attention: WMIndex is an vectorfield - seperation of values via ;", False, "clsDateiverarbeitung.REGEX_REPLACE")
Dim wdIndexwert Dim wdIndexwert
' den Wert des Indexes für das aktuelle Dokument auslesen ' den Wert des Indexes für das aktuelle Dokument auslesen
wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ) wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ)
@ -368,9 +369,26 @@ Public Class clsDateiverarbeitung
clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING) clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING)
i += 1 i += 1
Else Else
clsLogger.Add(">> Achtung gelesener Wert ist ein Vektorfeld - keine Umbenennung möglich ", False, "clsProfil.Profil_Durchlauf") Dim result As String = ""
For Each WMvalue As Object In wdIndexwert
If WMvalue.ToString <> String.Empty Then
WMvalue = WMvalue.ToString.TrimEnd
WMvalue = WMvalue.ToString.TrimStart
If result = "" Then
result = WMvalue
Else
result = result & ";" & WMvalue
End If
End If
Next
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
Return Nothing Return Nothing
End If End If
Else
clsLogger.Add(">> Attention: Indexvalue is NOTHING, standardvalue 0 will be used", False, "clsDateiverarbeitung.REGEX_REPLACE")
_STRING = _STRING.Replace(reg_element.Value, "0")
End If End If
End If End If
@ -378,7 +396,7 @@ Public Class clsDateiverarbeitung
Next Next
Return _STRING Return _STRING
Catch ex As Exception Catch ex As Exception
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "REGEX_REPLACE") clsLogger.AddError("Unexpected error: " & ex.Message, "REGEX_REPLACE")
Return Nothing Return Nothing
End Try End Try
End Function End Function

View File

@ -0,0 +1,88 @@
Imports System.Net.Mail
Public Class clsEmail
Private Shared MailAktiv As Boolean = False
Private Shared MailSSL As Boolean = False
'Public Shared Function Init()
' Try
' Dim DT As DataTable = clsDatatabase.Return_Datatable("select * from TBDD_EMAIL_ACCOUNT where ACTIVE = 1")
' If DT.Rows.Count = 1 Then
' For Each row As DataRow In DT.Rows
' MailFrom = row.Item("EMAIL_ABS")
' MAilSMTP = row.Item("EMAIL_SMTP")
' MailSSL = row.Item("EMAIL_SSL")
' MailUser = row.Item("EMAIL_USER")
' MailUser_PW = row.Item("EMAIL_USER_PW")
' MailAktiv = True
' Exit For
' Next
' Else
' MailAktiv = False
' End If
' Return True
' Catch ex As Exception
' clsLogger.Add(ex.Message, True, "clsEmail.Init")
' Return False
' End Try
' End Function
Public Shared Function Send_EMail(ByVal MailBetreff As String, ByVal vBody As String, MailEmpfaenger As String, MailFrom As String, MAilSMTP As String, MailUser As String, MailUser_PW As String, Optional attment As String = "", Optional test As Boolean = False)
'#### E-MAIL NACHRICHT VERSENDEN
Try
Dim empfaenger As String()
If MailEmpfaenger.Contains(";") Then
empfaenger = MailEmpfaenger.Split(";")
Else
ReDim Preserve empfaenger(0)
empfaenger(0) = MailEmpfaenger
End If
'Für jeden Empfänger eine Neue Mail erzeugen
For Each _mailempfaenger As String In empfaenger
'Neue Nachricht erzeugen:
Dim message As New MailMessage(MailFrom, _mailempfaenger, MailBetreff,
"<font face=""Arial"">" & vBody & "<br>Maschine: " & Environment.MachineName &
"<br>Domain-Name: " & Environment.UserDomainName & "<br>" &
"<br>Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" &
My.Computer.Clock.LocalTime.ToLongTimeString & "</font>")
' create and add the attachment(s) */
If attment <> String.Empty Then
If System.IO.File.Exists(attment) Then
Dim Attachment As Attachment = New Attachment(attment)
message.Attachments.Add(Attachment)
End If
End If
With message
.IsBodyHtml = True
End With
'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen
Dim emailClient As New SmtpClient(MAilSMTP)
emailClient.EnableSsl = MailSSL
'Email mit Authentifizierung
Dim SMTPUserInfo As New System.Net.NetworkCredential(MailUser, MailUser_PW) ', My.Settings.vDomain)
emailClient.UseDefaultCredentials = False
emailClient.Credentials = SMTPUserInfo
emailClient.Port = 25
clsLogger.Add("==> Email erfolgreich an " & _mailempfaenger & " versendet!", False)
clsLogger.Add("==> Text: " & vBody, False)
clsLogger.Add("", False)
'*Send the message */
emailClient.Send(message)
If test = True Then
MsgBox("The testmail was send successfully", MsgBoxStyle.Information)
End If
Return True
Next
Catch ex As Exception
clsLogger.Add(ex.Message, True, "cls.SendEmail")
If test = True Then
MsgBox("Unexpected error in Send Testmail: " & ex.Message, MsgBoxStyle.Critical)
End If
Return False
End Try
End Function
End Class

View File

@ -0,0 +1,72 @@
Imports System.Security.Cryptography
Public Class clsEncryption
Private TripleDes As New TripleDESCryptoServiceProvider
Sub New(ByVal key As String)
' Initialize the crypto provider.
TripleDes.Key = TruncateHash(key, TripleDes.KeySize \ 8)
TripleDes.IV = TruncateHash("", TripleDes.BlockSize \ 8)
End Sub
Private Function TruncateHash(
ByVal key As String,
ByVal length As Integer) As Byte()
Dim sha1 As New SHA1CryptoServiceProvider
' Hash the key.
Dim keyBytes() As Byte =
System.Text.Encoding.Unicode.GetBytes(key)
Dim hash() As Byte = sha1.ComputeHash(keyBytes)
' Truncate or pad the hash.
ReDim Preserve hash(length - 1)
Return hash
End Function
Public Function EncryptData(
ByVal plaintext As String) As String
' Convert the plaintext string to a byte array.
Dim plaintextBytes() As Byte =
System.Text.Encoding.Unicode.GetBytes("!Didalog35452Heuchelheim=" & plaintext)
' Create the stream.
Dim ms As New System.IO.MemoryStream
' Create the encoder to write to the stream.
Dim encStream As New CryptoStream(ms,
TripleDes.CreateEncryptor(),
System.Security.Cryptography.CryptoStreamMode.Write)
' Use the crypto stream to write the byte array to the stream.
encStream.Write(plaintextBytes, 0, plaintextBytes.Length)
encStream.FlushFinalBlock()
' Convert the encrypted stream to a printable string.
Return Convert.ToBase64String(ms.ToArray)
End Function
'Entschlüsselt die Zeichenfolge
Public Function DecryptData(
ByVal encryptedtext As String) As String
Try
' Convert the encrypted text string to a byte array.
Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)
' Create the stream.
Dim ms As New System.IO.MemoryStream
' Create the decoder to write to the stream.
Dim decStream As New CryptoStream(ms,
TripleDes.CreateDecryptor(),
System.Security.Cryptography.CryptoStreamMode.Write)
' Use the crypto stream to write the byte array to the stream.
decStream.Write(encryptedBytes, 0, encryptedBytes.Length)
decStream.FlushFinalBlock()
Dim result = System.Text.Encoding.Unicode.GetString(ms.ToArray)
result = result.Replace("!Didalog35452Heuchelheim=", "")
' Convert the plaintext stream to a string.
Return result
Catch ex As Exception
Return Nothing
End Try
End Function
End Class

View File

@ -99,6 +99,9 @@ Public Class clsProfil
clsLogger.Add(">> _profRunType konnte nicht ausgewertet werden - " & arr(0), False) clsLogger.Add(">> _profRunType konnte nicht ausgewertet werden - " & arr(0), False)
End Select End Select
If Run_Profile = True Then If Run_Profile = True Then
DT_TBWMRH_KONFIGURATION = clsDatatabase.Return_Datatable("SELECT * FROM TBWMRH_KONFIGURATION WHERE GUID = 1")
DT_TBDD_EMAIL = clsDatatabase.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
ARR_Exported_Files = Nothing
clsLogger.Add(">> Start des Durchlaufes für Profil '" & _Profilname & "'", False) clsLogger.Add(">> Start des Durchlaufes für Profil '" & _Profilname & "'", False)
'den Durchlaufszeitpunkt speichern 'den Durchlaufszeitpunkt speichern
clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _profGUID) clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _profGUID)
@ -130,37 +133,11 @@ Public Class clsProfil
If clsDateiverarbeitung.InitProfilData = True Then If clsDateiverarbeitung.InitProfilData = True Then
clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True") clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True")
For Each _JOBROW As DataRow In DT_PROFIL_JOB.Rows
clsLogger.AddDetailLog("JOB_TYP: " & _JOBROW.Item("JOB_TYP").ToString.ToUpper & " GUID: " & _JOBROW.Item("GUID").ToString)
Next
'For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
' Dim result = DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
' Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
' Case "BNS json Download".ToUpper
' 'ARRAY oder Äqivalent bilden
' Dim sb As New StringBuilder()
' Dim sw As New StringWriter(sb)
' Using writer As JsonWriter = New JsonTextWriter(sw)
' writer.Formatting = Formatting.Indented
' writer.WriteStartObject()
' writer.WritePropertyName("CPU")
' writer.WriteValue("Intel")
' writer.WritePropertyName("PSU")
' writer.WriteValue("500W")
' writer.WritePropertyName("Drives")
' writer.WriteStartArray()
' writer.WriteValue("DVD read/writer")
' writer.WriteComment("(broken)")
' writer.WriteValue("500 gigabyte hard drive")
' writer.WriteValue("200 gigabype hard drive")
' writer.WriteEnd()
' writer.WriteEndObject()
' End Using
' Console.WriteLine(sb.ToString())
' End Select
'Next
Dim FileJobSuccessful As Boolean = False Dim FileJobSuccessful As Boolean = False
Dim CountExportedDoc As Integer = 0
For Each WMdok As WMObject In windreamSucheErgebnisse For Each WMdok As WMObject In windreamSucheErgebnisse
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
@ -172,107 +149,17 @@ Public Class clsProfil
' aktuelles Dokument zum Export bereitstellen ' aktuelles Dokument zum Export bereitstellen
EXPORTED_FILENAME = "" EXPORTED_FILENAME = ""
If clsDateiverarbeitung.Export_File(WMdok, DR_PR_JB.Item("STRING1")) = True Then If clsDateiverarbeitung.Export_File(WMdok, DR_PR_JB.Item("STRING1")) = True Then
ReDim Preserve ARR_Exported_Files(CountExportedDoc)
ARR_Exported_Files(CountExportedDoc) = EXPORTED_FILENAME
CountExportedDoc += 1
FileJobSuccessful = True FileJobSuccessful = True
'If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then
' clsLogger.AddDetailLog("Anzahl DT_PROFIL_FILE_JOB.Rows.Count:" & DT_PROFIL_FILE_JOB.Rows.Count)
' 'Für jeden File-Job
' For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
' If FileJobSuccessful = False Then
' clsLogger.Add("AUSSTIEG FOR SCHLEIFE...", True)
' clsLogger.WriteLog()
' Exit For
' End If
' Select Case DR_PR_FILE_JOB.Item("TYP").ToString.ToLower
' Case "Set Index".ToLower
' Try
' 'Überprüfen ob Value bereits gesetzt wurde?
' Dim idxName As String = DR_PR_FILE_JOB.Item("STRING1").ToString
' Dim idxvalue As String = DR_PR_FILE_JOB.Item("STRING2").ToString
' If idxvalue.Contains("[%DATETIME]") Then
' idxvalue = idxvalue.Replace("[%DATETIME]", Now.ToString)
' End If
' clsLogger.AddDetailLog("Datei soll mit Index '" & idxName & "'indexiert werden...")
' Dim arrIndex() As String
' ReDim Preserve arrIndex(0)
' arrIndex(0) = idxName
' clsLogger.AddDetailLog("...nach arrIndex")
' Dim arrValue() As String
' Dim aktvalue As Object
' aktvalue = WMdok.GetVariableValue(idxName)
' clsLogger.AddDetailLog("...nach aktValue zuweisen..")
' If aktvalue Is Nothing Then
' clsLogger.AddDetailLog("Index '" & idxName & "' ist noch leer.")
' ReDim Preserve arrValue(0)
' arrValue(0) = idxvalue
' Else
' clsLogger.AddDetailLog("Index '" & idxName & "' ist bereits gefüllt.")
' Dim myArray()
' ReDim myArray(0)
' myArray(0) = idxvalue
' Dim VektorArray()
' VektorArray = Return_VektorArray(WMdok, idxName, myArray, True)
' If VektorArray Is Nothing = False Then
' ReDim arrValue(VektorArray.Length - 1)
' Array.Copy(VektorArray, arrValue, VektorArray.Length)
' End If
' End If
' If arrValue Is Nothing = False Then
' clsWindream_Index.RunIndexing(WMdok, arrIndex, arrValue, _profObjekttyp)
' Else
' clsLogger.Add(">> arrValue is nothing - keine Indexierung", False, "clsProfil.Profil_Durchlauf")
' End If
' Catch ex As Exception
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(SetIndex)")
' End Try
' Case "Rename File with windream Index".ToLower
' clsLogger.AddDetailLog("Exportierte Datei soll nach Indexvorgaben umbenannt werden...")
' clsDateiverarbeitung.Rename_File(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
' Case "Rename File with WMVector (only one)".ToLower
' clsLogger.AddDetailLog("Exportierte Datei soll nach VektorIndexvorgaben umbenannt werden...")
' clsDateiverarbeitung.Rename_File_Vektor(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
' Case "Execute Oracle Command".ToLower
' Try
' clsLogger.AddDetailLog("Execute Oracle Comman.......")
' Dim oracleconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
' Dim oracleCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
' FileJobSuccessful = clsDateiverarbeitung.RUN_ORACLE_COMMAND(WMdok, oracleconnectionstring, oracleCommandRAW)
' Catch ex As Exception
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteOracleCommand)")
' End Try
' Case "Execute MSSQL Command".ToLower
' Try
' Dim MSSQLconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
' Dim MSSQLCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
' clsLogger.AddDetailLog("Execute MSSQL Command.......")
' FileJobSuccessful = clsDateiverarbeitung.RUN_MSSQL_COMMAND(WMdok, MSSQLconnectionstring, MSSQLCommandRAW)
' Catch ex As Exception
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)")
' End Try
' End Select
' 'Abschluss Bearbeitung File Job
' clsLogger.WriteLog()
' Next
'Else
' clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
' clsLogger.WriteLog()
'End If
Else Else
clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = Getdate() WHERE GUID = " & _profGUID) clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = Getdate() WHERE GUID = " & _profGUID)
End If End If
'Next 'Next
Case "BNS json Download".ToUpper Case "BNS json Download".ToUpper
FileJobSuccessful = clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2")) FileJobSuccessful = clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
Case "".ToUpper
End Select End Select
'Abschluss Bearbeitung Job 'Abschluss Bearbeitung Job
clsLogger.WriteLog() clsLogger.WriteLog()
@ -364,14 +251,160 @@ Public Class clsProfil
End Try End Try
End Select End Select
'Abschluss Bearbeitung File Job 'Abschluss Bearbeitung File Job
clsLogger.WriteLog()
Next Next
clsLogger.WriteLog()
Else Else
clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf") clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
clsLogger.WriteLog() clsLogger.WriteLog()
End If End If
Next Next
clsLogger.WriteLog() clsLogger.WriteLog()
'Jetzt nochmal ein Durchlauf für Profiljobs wo alle Dateien abgearbeitet wurden.
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
clsLogger.AddDetailLog("Now again working on profile-type: " & DR_PR_JB.Item("JOB_TYP") & " - ID: " & DR_PR_JB.Item("GUID"))
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
Case "Concat Files to one pdf".ToUpper
clsLogger.AddDetailLog("Case Concat Files to one pdf....")
Dim pdftk = DT_TBWMRH_KONFIGURATION.Rows(0).Item("PDF_TK_LOCATION")
clsLogger.AddDetailLog("pdftk location: " & pdftk)
CONCATTED_FILE = DR_PR_JB.Item("STRING1")
clsLogger.AddDetailLog("CONCATTED_FILE location: " & CONCATTED_FILE)
Dim deleteJaNein = DR_PR_JB.Item("STRING2").ToString.ToUpper
clsLogger.AddDetailLog("deleteJaNein: " & deleteJaNein.ToString)
If File.Exists(pdftk) Then
If File.Exists(CONCATTED_FILE) Then
Try
File.Delete(CONCATTED_FILE)
Catch ex As Exception
End Try
End If
Try
Dim myProcess As New Process
Dim ProcID
myProcess.StartInfo.FileName = pdftk
myProcess.StartInfo.CreateNoWindow = False
Dim _argument As String
Dim i As Integer
For Each str As String In ARR_Exported_Files
If i = 0 Then
_argument = """" & str & """"
Else
_argument = _argument & " " & """" & str & """"
End If
i += 1
Next
myProcess.StartInfo.Arguments = _argument & " cat output " & CONCATTED_FILE
clsLogger.AddDetailLog("Arguments: " & _argument & " cat output " & CONCATTED_FILE)
myProcess.Start()
ProcID = myProcess.Id
Dim p As Process
p = Process.GetProcessById(ProcID)
Dim sw As Stopwatch = New Stopwatch()
sw.Start()
Do While p.HasExited = False
If sw.Elapsed.TotalSeconds = 30 Then
clsLogger.AddDetailLog("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
ElseIf sw.Elapsed.TotalMinutes = 1 Then
clsLogger.AddDetailLog("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
Exit Do
End If
Loop
clsLogger.AddDetailLog("...process has exited: ")
sw.Stop()
clsLogger.AddDetailLog("Waiting for file: " & CONCATTED_FILE)
Do While File.Exists(CONCATTED_FILE) = False
Console.WriteLine("...not existing!")
Loop
If deleteJaNein = "JA" Then
For Each str As String In ARR_Exported_Files
Try
File.Delete(str)
Catch ex As Exception
clsLogger.AddError("Unexpected error in deleting ARR_Exported_Files files: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
End Try
Next
End If
clsLogger.WriteLog()
Catch ex As Exception
clsLogger.AddError("Unexpected error: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
End Try
Else
clsLogger.AddError("pdftk is not existing", "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
End If
Case "Send concatted file via mail".ToUpper
clsLogger.AddDetailLog("CASE Send concatted file via mail.... ")
If File.Exists(CONCATTED_FILE) = True Then
Dim Email_Empfänger = DR_PR_JB.Item("STRING1")
clsLogger.AddDetailLog("Email_Empfänger: " & Email_Empfänger)
Dim Email_Betreff = DR_PR_JB.Item("STRING2")
clsLogger.AddDetailLog("Email_Betreff: " & Email_Betreff)
Dim Email_Body = DR_PR_JB.Item("STRING3")
clsLogger.AddDetailLog("Email_Body: " & Email_Body)
Dim EMAIL_PROFIL = DR_PR_JB.Item("STRING4")
clsLogger.AddDetailLog("EMAIL_PROFIL: " & EMAIL_PROFIL)
If Not IsNothing(DT_TBDD_EMAIL) And DT_TBDD_EMAIL.Rows.Count >= 1 Then
Dim MAILFROM As String = ""
Dim MAILSMTP As String = ""
Dim MAIL_USER As String = ""
Dim MAIL_USER_PW As String = ""
For Each emailrow As DataRow In DT_TBDD_EMAIL.Rows
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
MAILFROM = emailrow.Item("EMAIL_FROM")
MAILSMTP = emailrow.Item("EMAIL_SMTP")
MAIL_USER = emailrow.Item("EMAIL_USER")
MAIL_USER_PW = emailrow.Item("EMAIL_PW")
End If
Next
Dim wrapper As New clsEncryption("!35452didalog=")
Dim PWPlain = wrapper.DecryptData(MAIL_USER_PW)
If Not IsNothing(PWPlain) Then
If PWPlain <> "" Then
MAIL_USER_PW = PWPlain
Else
clsLogger.AddError("PWPlain is string.empty - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
clsLogger.WriteLog()
Return False
End If
Else
clsLogger.AddError("PWPlain is nothing - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
clsLogger.WriteLog()
Return False
End If
clsEmail.Send_EMail(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_USER, MAIL_USER_PW, CONCATTED_FILE)
Else
clsLogger.AddError("DT_TBDD_EMAIL is nothing or contains no rows", "clsProfil.Profil_Durchlauf(end concatted file via mail)")
clsLogger.WriteLog()
Return False
End If
Else
clsLogger.AddError("File not existing: " & CONCATTED_FILE, "clsProfil.Profil_Durchlauf(Send concatted file via mail)")
End If
End Select
Next
clsLogger.WriteLog()
Else Else
clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True) clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True)
clsLogger.WriteLog() clsLogger.WriteLog()

File diff suppressed because it is too large Load Diff

View File

@ -201,6 +201,42 @@
<metadata name="WD_LAUFWERKLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="WD_LAUFWERKLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="GUIDLabel3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="NAMELabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="EMAIL_FROMLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="EMAIL_SMTPLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="EMAIL_USERLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="EMAIL_PWLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="PORTLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ADDED_WHOLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ADDED_WHENLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="CHANGED_WHOLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="CHANGED_WHENLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1296, 56</value> <value>1296, 56</value>
</metadata> </metadata>
@ -215,7 +251,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI
DAAAAk1TRnQBSQFMAgEBAwEAAUgBAQFIAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo DAAAAk1TRnQBSQFMAgEBAwEAAZABAQGQAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -507,6 +543,83 @@
<metadata name="TBWMRH_KONFIGURATIONBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TBWMRH_KONFIGURATIONBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>739, 56</value> <value>739, 56</value>
</metadata> </metadata>
<metadata name="TBDD_EMAIL_ACCOUNTBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 134</value>
</metadata>
<metadata name="BindingNavigator1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1108, 95</value>
</metadata>
<data name="ToolStripButton15.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
rkJggg==
</value>
</data>
<data name="ToolStripButton16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton17.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton18.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="ToolStripButton19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<data name="ToolStripButton21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
</value>
</data>
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 95</value> <value>17, 95</value>
</metadata> </metadata>
@ -528,6 +641,9 @@
<metadata name="TBWMRH_PROFILTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TBWMRH_PROFILTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="TBDD_EMAIL_ACCOUNTTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>280, 134</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>180</value> <value>180</value>
</metadata> </metadata>

View File

@ -6,16 +6,18 @@ Public Class frmMain
End Sub End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If My.Settings.myConnString = String.Empty Then 'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBDD_EMAIL_ACCOUNT". Sie können sie bei Bedarf verschieben oder entfernen.
Dim dbPath As String = Application.StartupPath & "\Database\wdResultHandler.db3"
If IO.File.Exists(dbPath) Then 'If My.Settings.myConnString = String.Empty Then
My.Settings.myConnString = dbPath ' Dim dbPath As String = Application.StartupPath & "\Database\wdResultHandler.db3"
My.Settings.Save() ' If IO.File.Exists(dbPath) Then
Else ' My.Settings.myConnString = dbPath
MsgBox("Achtung: Die SQLite-Database File exisitiert nicht am angegebenen Ort: " & vbNewLine & dbPath, MsgBoxStyle.Critical, "Fehler:") ' My.Settings.Save()
DB_Path() ' Else
End If ' MsgBox("Achtung: Die SQLite-Database File exisitiert nicht am angegebenen Ort: " & vbNewLine & dbPath, MsgBoxStyle.Critical, "Fehler:")
End If ' DB_Path()
' End If
'End If
Load_Constring() Load_Constring()
Try Try
' Windream instanziieren ' Windream instanziieren
@ -28,6 +30,7 @@ Public Class frmMain
Load_Profil() Load_Profil()
Load_Uebersicht() Load_Uebersicht()
clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "logResultHandler_") clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "logResultHandler_")
ToolStripStatusLabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
End Sub End Sub
Sub Load_Uebersicht() Sub Load_Uebersicht()
' Try ' Try
@ -98,6 +101,8 @@ Public Class frmMain
Me.TBWMRH_PROFILTableAdapter.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_JOBTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS
Me.TBWMRH_PROFIL_FILE_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() Load_Grundkonfig()
End Sub End Sub
Sub Load_Grundkonfig() Sub Load_Grundkonfig()
@ -157,9 +162,7 @@ Public Class frmMain
Me.tsstatus.Visible = visible Me.tsstatus.Visible = visible
Me.tsstatus.Text = Text Me.tsstatus.Text = Text
End Sub End Sub
Private Sub btnDatenbankConnect_Click(sender As Object, e As EventArgs) Handles btnDatenbankConnect.Click
DB_Path()
End Sub
Sub DB_Path() Sub DB_Path()
With OpenFileDialog1 With OpenFileDialog1
' Do ' Do
@ -211,11 +214,20 @@ Public Class frmMain
Load_Profil() Load_Profil()
Case 2 Case 2
Load_Grundkonfig() Load_Grundkonfig()
Case 3
load_Emails
End Select End Select
End Sub End Sub
Private Sub TBPROFILBindingSource_BindingComplete(sender As Object, e As BindingCompleteEventArgs) Private Sub TBPROFILBindingSource_BindingComplete(sender As Object, e As BindingCompleteEventArgs)
statuslabel(True, "TBPROFILBindingSource.BindingComplete - " & GUIDTextBox.Text) statuslabel(True, "TBPROFILBindingSource.BindingComplete - " & GUIDTextBox.Text)
End Sub 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() Sub Checkbox_Days()
Dim days As String Dim days As String
If CheckBox1.Checked Then If CheckBox1.Checked Then
@ -414,7 +426,7 @@ Public Class frmMain
Dim result As MsgBoxResult Dim result As MsgBoxResult
result = MessageBox.Show("Sind Sie sicher dass Sie diesen Job löschen wollen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) 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 If result = MsgBoxResult.Yes Then
Me.TBWMRH_PROFIL_JOBTableAdapter.Delete(Me.GUIDTextBox1.Text) Me.TBWMRH_PROFIL_JOBTableAdapter.Delete(Me.PROFILJOB_GUIDTextBox.Text)
Load_Jobs(Me.GUIDTextBox.Text) Load_Jobs(Me.GUIDTextBox.Text)
statuslabel(True, "Job wurde erfolgreich gelöscht! - " & Now) statuslabel(True, "Job wurde erfolgreich gelöscht! - " & Now)
End If End If
@ -433,21 +445,47 @@ Public Class frmMain
End Sub End Sub
Private Sub JOB_TYPComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles JOB_TYPComboBox.SelectedIndexChanged 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 btnJOB_addSpeicherort.Visible = False
lblString1.Text = "" lblString1.Text = ""
lblString2.Text = "" lblString2.Text = ""
Select Case JOB_TYPComboBox.SelectedIndex lblString3.Text = ""
Case 0 lblString4.Text = ""
STRING1TextBox.Visible = False
STRING2TextBox.Visible = False
STRING3TextBox.Visible = False
STRING4TextBox.Visible = False
Select Case JOB_TYPComboBox.Text
Case "Export HDD"
lblString1.Text = "Speicherort für windream-Ergebnisse:" lblString1.Text = "Speicherort für windream-Ergebnisse:"
STRING1TextBox.Visible = True
btnJOB_addSpeicherort.Visible = True btnJOB_addSpeicherort.Visible = True
Case 1 Case "Create Mail Attachment"
lblString1.Text = "Email-Empfänger:" lblString1.Text = "Email-Empfänger:"
Case 2 'json BNS STRING1TextBox.Visible = True
Case "BNS json Download" 'json BNS
lblString1.Text = "User Kunde:" lblString1.Text = "User Kunde:"
STRING1TextBox.Visible = True
lblString2.Text = "BNS Kundennummer:" lblString2.Text = "BNS Kundennummer:"
STRING2TextBox.Visible = True
Case "Concat Files to one pdf" ' Concat Files to one pdf
lblString1.Text = "Speicherort der zusammengefügten Datei:"
STRING1TextBox.Visible = True
lblString2.Text = "Löschen der exportierten Dateien (Ja/Nein)"
STRING2TextBox.Visible = True
Case "Send concatted file via mail"
lblString1.Text = "Email-Empfänger:"
STRING1TextBox.Visible = True
lblString2.Text = "Email-Betreff:"
STRING2TextBox.Visible = True
lblString3.Text = "Email-Body:"
STRING3TextBox.Visible = True
lblString4.Text = "Email-Profil:"
STRING4TextBox.Visible = True
End Select End Select
End Sub End Sub
Private Sub btnJOB_addSpeicherort_Click(sender As Object, e As EventArgs) Handles btnJOB_addSpeicherort.Click Private Sub btnJOB_addSpeicherort_Click(sender As Object, e As EventArgs) Handles btnJOB_addSpeicherort.Click
With FolderBrowserDialog1 With FolderBrowserDialog1
' Do ' Do
@ -682,4 +720,63 @@ Public Class frmMain
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Öffnen der windream-Suche:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Öffnen der windream-Suche:")
End Try End Try
End Sub 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(System.IO.Path.GetDirectoryName(clsLogger.LogFilename))
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 btnsendtestmail_Click(sender As Object, e As EventArgs) Handles btnsendtestmail.Click
If txtTestmail.Text <> String.Empty Then
Dim wrapper As New clsEncryption("!35452didalog=")
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
clsEmail.Send_EMail("Testmail DD Windream-ResultHandler", "This is the body (text will be replaced within profile)", txtTestmail.Text,
EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, "", True)
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
End Class End Class