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="clsDateiverarbeitung.vb" />
<Compile Include="clsEmail.vb" />
<Compile Include="clsEncryption.vb" />
<Compile Include="clsHelper.vb" />
<Compile Include="clsLogger.vb" />
<Compile Include="clsProfil.vb" />

View File

@ -4,5 +4,8 @@
Public WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String
Public _proflastRun As Date
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

View File

@ -355,12 +355,13 @@ Public Class clsDateiverarbeitung
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
Dim reg_element_Ohne_SZ As String = reg_element.Value.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 EXPORTED_FILENAME <> "" Then
_STRING = _STRING.Replace(reg_element.Value, EXPORTED_FILENAME)
End If
Else
clsLogger.Add(">> Attention: WMIndex is an vectorfield - seperation of values via ;", False, "clsDateiverarbeitung.REGEX_REPLACE")
Dim wdIndexwert
' den Wert des Indexes für das aktuelle Dokument auslesen
wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ)
@ -371,12 +372,29 @@ Public Class clsDateiverarbeitung
wdIndexwert = wdIndexwert.ToString.TrimStart
clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'")
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
clsLogger.AddDetailLog("SQL-String so far (" & i & ") " & _STRING)
clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING)
i += 1
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
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
@ -384,7 +402,7 @@ Public Class clsDateiverarbeitung
Next
Return _STRING
Catch ex As Exception
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "REGEX_REPLACE")
clsLogger.AddError("Unexpected error: " & ex.Message, "REGEX_REPLACE")
Return Nothing
End Try
End Function

View File

@ -2,32 +2,32 @@
Public Class clsEmail
Private Shared MailAktiv 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
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)
'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()
@ -40,14 +40,19 @@ Public Class clsEmail
'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 & "-" & _
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) */
' Dim Attachment As Attachment = New Attachment("E:\test\Frachkostenreport.txt")
'message.Attachments.Add(Attachment)
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
@ -60,16 +65,24 @@ Public Class clsEmail
emailClient.UseDefaultCredentials = False
emailClient.Credentials = SMTPUserInfo
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("", 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

@ -101,6 +101,9 @@ Public Class clsProfil
clsLogger.Add(">> _profRunType konnte nicht ausgewertet werden - " & arr(0), False)
End Select
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)
'den Durchlaufszeitpunkt speichern
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
clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True")
'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
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
Dim FileJobSuccessful As Boolean = False
Dim CountExportedDoc As Integer = 0
For Each WMdok As WMObject In windreamSucheErgebnisse
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
@ -174,107 +151,17 @@ Public Class clsProfil
' aktuelles Dokument zum Export bereitstellen
EXPORTED_FILENAME = ""
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
'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
clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = Getdate() WHERE GUID = " & _profGUID)
End If
'Next
Case "BNS json Download".ToUpper
FileJobSuccessful = clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
Case "".ToUpper
End Select
'Abschluss Bearbeitung Job
clsLogger.WriteLog()
@ -283,7 +170,6 @@ Public Class clsProfil
'JETZT DER DURCHLAUF DER DATEI-JOBS
'##################################
If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then
Dim filecount As Integer = 0
'Für jeden File-Job
For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
If FileJobSuccessful = False Then
@ -366,19 +252,161 @@ Public Class clsProfil
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)")
End Try
End Select
If filecount >= 20 Then
clsLogger.WriteLog()
filecount = 0
End If
'Abschluss Bearbeitung File Job
Next
clsLogger.WriteLog()
Else
clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
clsLogger.WriteLog()
End If
Next
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
clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True)
clsLogger.WriteLog()

View File

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

View File

@ -22,7 +22,7 @@ Namespace My.Resources
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</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.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
@ -90,6 +90,16 @@ Namespace My.Resources
End Get
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>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@ -100,6 +110,16 @@ Namespace My.Resources
End Get
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>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>

View File

@ -118,12 +118,12 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<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">
<value>..\Resources\save.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</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">
<value>..\Resources\arrow_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -133,4 +133,10 @@
<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>
</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>

File diff suppressed because it is too large Load Diff

View File

@ -5,5 +5,24 @@
the code is regenerated.
</autogenerated>-->
<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>

View File

@ -390,6 +390,82 @@ WHERE PROFIL_ID = @PID</CommandText>
</DbSource>
</Sources>
</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>
<Sources />
</DataSource>
@ -652,6 +728,66 @@ WHERE PROFIL_ID = @PID</CommandText>
</xs:sequence>
</xs:complexType>
</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:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@ -670,6 +806,10 @@ WHERE PROFIL_ID = @PID</CommandText>
<xs:selector xpath=".//mstns:TBWMRH_PROFIL_JOB" />
<xs:field xpath="mstns:GUID" />
</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:annotation>
<xs:appinfo>

View File

@ -4,15 +4,16 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</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>
<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_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_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_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_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="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="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="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>
<Connectors>
<Connector ID="DesignRelation:FK_FILE_JOB_PROFILID" ZOrder="4" LineWidth="11">
<Connector ID="DesignRelation:FK_FILE_JOB_PROFILID" ZOrder="5" LineWidth="11">
<RoutePoints>
<Point>
<X>675</X>
@ -24,7 +25,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_TBPROFIL_JOB_PROFILID" ZOrder="2" LineWidth="11">
<Connector ID="DesignRelation:FK_TBPROFIL_JOB_PROFILID" ZOrder="3" LineWidth="11">
<RoutePoints>
<Point>
<X>675</X>

View File

@ -4,4 +4,8 @@
Public WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String
Public _proflastRun As Date
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

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

View File

@ -349,12 +349,13 @@ Public Class clsDateiverarbeitung
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
Dim reg_element_Ohne_SZ As String = reg_element.Value.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 EXPORTED_FILENAME <> "" Then
_STRING = _STRING.Replace(reg_element.Value, EXPORTED_FILENAME)
End If
Else
clsLogger.Add(">> Attention: WMIndex is an vectorfield - seperation of values via ;", False, "clsDateiverarbeitung.REGEX_REPLACE")
Dim wdIndexwert
' den Wert des Indexes für das aktuelle Dokument auslesen
wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ)
@ -368,9 +369,26 @@ Public Class clsDateiverarbeitung
clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING)
i += 1
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
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
@ -378,7 +396,7 @@ Public Class clsDateiverarbeitung
Next
Return _STRING
Catch ex As Exception
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "REGEX_REPLACE")
clsLogger.AddError("Unexpected error: " & ex.Message, "REGEX_REPLACE")
Return Nothing
End Try
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)
End Select
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)
'den Durchlaufszeitpunkt speichern
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
clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True")
'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
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
Dim FileJobSuccessful As Boolean = False
Dim CountExportedDoc As Integer = 0
For Each WMdok As WMObject In windreamSucheErgebnisse
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
@ -172,107 +149,17 @@ Public Class clsProfil
' aktuelles Dokument zum Export bereitstellen
EXPORTED_FILENAME = ""
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
'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
clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = Getdate() WHERE GUID = " & _profGUID)
End If
'Next
Case "BNS json Download".ToUpper
FileJobSuccessful = clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
Case "".ToUpper
End Select
'Abschluss Bearbeitung Job
clsLogger.WriteLog()
@ -364,14 +251,160 @@ Public Class clsProfil
End Try
End Select
'Abschluss Bearbeitung File Job
clsLogger.WriteLog()
Next
clsLogger.WriteLog()
Else
clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
clsLogger.WriteLog()
End If
Next
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
clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True)
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">
<value>False</value>
</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">
<value>1296, 56</value>
</metadata>
@ -215,7 +251,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI
DAAAAk1TRnQBSQFMAgEBAwEAAUgBAQFIAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
DAAAAk1TRnQBSQFMAgEBAwEAAZABAQGQAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
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">
<value>739, 56</value>
</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">
<value>17, 95</value>
</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">
<value>17, 17</value>
</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">
<value>180</value>
</metadata>

View File

@ -6,16 +6,18 @@ Public Class frmMain
End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If My.Settings.myConnString = String.Empty Then
Dim dbPath As String = Application.StartupPath & "\Database\wdResultHandler.db3"
If IO.File.Exists(dbPath) Then
My.Settings.myConnString = dbPath
My.Settings.Save()
Else
MsgBox("Achtung: Die SQLite-Database File exisitiert nicht am angegebenen Ort: " & vbNewLine & dbPath, MsgBoxStyle.Critical, "Fehler:")
DB_Path()
End If
End If
'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBDD_EMAIL_ACCOUNT". Sie können sie bei Bedarf verschieben oder entfernen.
'If My.Settings.myConnString = String.Empty Then
' Dim dbPath As String = Application.StartupPath & "\Database\wdResultHandler.db3"
' If IO.File.Exists(dbPath) Then
' My.Settings.myConnString = dbPath
' My.Settings.Save()
' Else
' MsgBox("Achtung: Die SQLite-Database File exisitiert nicht am angegebenen Ort: " & vbNewLine & dbPath, MsgBoxStyle.Critical, "Fehler:")
' DB_Path()
' End If
'End If
Load_Constring()
Try
' Windream instanziieren
@ -28,6 +30,7 @@ Public Class frmMain
Load_Profil()
Load_Uebersicht()
clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "logResultHandler_")
ToolStripStatusLabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
End Sub
Sub Load_Uebersicht()
' Try
@ -98,6 +101,8 @@ Public Class frmMain
Me.TBWMRH_PROFILTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS
Me.TBWMRH_PROFIL_JOBTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS
Me.TBWMRH_PROFIL_FILE_JOBTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS
Me.TBDD_EMAIL_ACCOUNTTableAdapter.Connection.ConnectionString = My.Settings.SQLSERVER_CS
Load_Grundkonfig()
End Sub
Sub Load_Grundkonfig()
@ -157,9 +162,7 @@ Public Class frmMain
Me.tsstatus.Visible = visible
Me.tsstatus.Text = Text
End Sub
Private Sub btnDatenbankConnect_Click(sender As Object, e As EventArgs) Handles btnDatenbankConnect.Click
DB_Path()
End Sub
Sub DB_Path()
With OpenFileDialog1
' Do
@ -211,11 +214,20 @@ Public Class frmMain
Load_Profil()
Case 2
Load_Grundkonfig()
Case 3
load_Emails
End Select
End Sub
Private Sub TBPROFILBindingSource_BindingComplete(sender As Object, e As BindingCompleteEventArgs)
statuslabel(True, "TBPROFILBindingSource.BindingComplete - " & GUIDTextBox.Text)
End Sub
Sub load_Emails()
Try
Me.TBDD_EMAIL_ACCOUNTTableAdapter.Fill(Me.MyDataset.TBDD_EMAIL_ACCOUNT)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Load Emails:")
End Try
End Sub
Sub Checkbox_Days()
Dim days As String
If CheckBox1.Checked Then
@ -414,7 +426,7 @@ Public Class frmMain
Dim result As MsgBoxResult
result = MessageBox.Show("Sind Sie sicher dass Sie diesen Job löschen wollen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
Me.TBWMRH_PROFIL_JOBTableAdapter.Delete(Me.GUIDTextBox1.Text)
Me.TBWMRH_PROFIL_JOBTableAdapter.Delete(Me.PROFILJOB_GUIDTextBox.Text)
Load_Jobs(Me.GUIDTextBox.Text)
statuslabel(True, "Job wurde erfolgreich gelöscht! - " & Now)
End If
@ -433,21 +445,47 @@ Public Class frmMain
End Sub
Private Sub JOB_TYPComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles JOB_TYPComboBox.SelectedIndexChanged
Show_String_Lables
End Sub
Sub Show_String_Lables()
btnJOB_addSpeicherort.Visible = False
lblString1.Text = ""
lblString2.Text = ""
Select Case JOB_TYPComboBox.SelectedIndex
Case 0
lblString3.Text = ""
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:"
STRING1TextBox.Visible = True
btnJOB_addSpeicherort.Visible = True
Case 1
Case "Create Mail Attachment"
lblString1.Text = "Email-Empfänger:"
Case 2 'json BNS
STRING1TextBox.Visible = True
Case "BNS json Download" 'json BNS
lblString1.Text = "User Kunde:"
STRING1TextBox.Visible = True
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 Sub
Private Sub btnJOB_addSpeicherort_Click(sender As Object, e As EventArgs) Handles btnJOB_addSpeicherort.Click
With FolderBrowserDialog1
' Do
@ -682,4 +720,63 @@ Public Class frmMain
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Öffnen der windream-Suche:")
End Try
End Sub
Private Sub TBWMRH_PROFIL_JOBBindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles TBWMRH_PROFIL_JOBBindingSource.CurrentChanged
If IsNumeric(PROFILJOB_GUIDTextBox.Text) Then
Show_String_Lables()
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Process.Start(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