MS
This commit is contained in:
@@ -2,4 +2,6 @@
|
|||||||
Public CURRENToWMSession_Created As Date = Now
|
Public CURRENToWMSession_Created As Date = Now
|
||||||
Public CURRENToWMConnect As Object
|
Public CURRENToWMConnect As Object
|
||||||
Public CURRENToWMSession As Object
|
Public CURRENToWMSession As Object
|
||||||
|
Public CURRENT_WMDriveLetter As String = "W"
|
||||||
|
|
||||||
End Module
|
End Module
|
||||||
|
|||||||
@@ -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.0")>
|
<Assembly: AssemblyVersion("2.0.0.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||||
|
|||||||
@@ -8,6 +8,6 @@
|
|||||||
Public Shared DT_TBDD_EMAIL As DataTable = Nothing
|
Public Shared DT_TBDD_EMAIL As DataTable = Nothing
|
||||||
Public Shared CONCATTED_FILE As String = ""
|
Public Shared CONCATTED_FILE As String = ""
|
||||||
Public Shared _PROFIL_ID, _profGUID As Integer
|
Public Shared _PROFIL_ID, _profGUID As Integer
|
||||||
|
Public Shared TEMP_FILES As List(Of String) = New List(Of String)
|
||||||
Public Shared _proflastRun As Date
|
Public Shared _proflastRun As Date
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Public Class clsDatabase
|
|||||||
Oracle_Command.AddToStatementCache = True
|
Oracle_Command.AddToStatementCache = True
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
Logger.Warn($"PLSQL-Command: [{plsqlcommand}]")
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine")
|
'clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine")
|
||||||
Oracle_Conn.Close()
|
Oracle_Conn.Close()
|
||||||
@@ -71,6 +72,7 @@ Public Class clsDatabase
|
|||||||
Return True
|
Return True
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
Logger.Warn($"PLSQL-Command: [{plsqlcommand}]")
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
'clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
|
'clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
|
||||||
Oracle_Conn.Close()
|
Oracle_Conn.Close()
|
||||||
@@ -88,6 +90,7 @@ Public Class clsDatabase
|
|||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
Logger.Warn($"PLSQL-Command: [{plsqlcommand}]")
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
'clsLogger.Add("Unexpected Error in ExecuteonOracleDb: " & ex.Message & vbNewLine & "SQL: " & plsqlcommand, True, "clsDatatabase.ExecuteonOracleDb")
|
'clsLogger.Add("Unexpected Error in ExecuteonOracleDb: " & ex.Message & vbNewLine & "SQL: " & plsqlcommand, True, "clsDatatabase.ExecuteonOracleDb")
|
||||||
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
|
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ Imports System.Net
|
|||||||
Imports Newtonsoft.Json
|
Imports Newtonsoft.Json
|
||||||
Imports System.Text
|
Imports System.Text
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
|
Imports System.Text.RegularExpressions
|
||||||
|
|
||||||
Public Class clsDateiverarbeitung
|
Public Class clsDateiverarbeitung
|
||||||
Dim Logger As Logger
|
Dim Logger As Logger
|
||||||
@@ -122,64 +123,134 @@ Public Class clsDateiverarbeitung
|
|||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
'Kopiert die übergebene Datei in den Zielpfad
|
Private Function CleanInput(strIn As String) As String
|
||||||
Public Function Export_File(WDDatei As WMObject, Zielpfad As String)
|
' Replace invalid characters with empty strings.
|
||||||
Try
|
Try
|
||||||
If Not Zielpfad.EndsWith("\") Then
|
Return Regex.Replace(strIn, "[^\w\.@-]", "")
|
||||||
Zielpfad = Zielpfad & "\"
|
' If we timeout when replacing invalid characters,
|
||||||
|
' we should return String.Empty.
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Return String.Empty
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
Public Function Export_WMFile2HDD(oWMFile As WMObject, MyExportpath As String)
|
||||||
|
Try
|
||||||
|
If Not MyExportpath.EndsWith("\") Then
|
||||||
|
MyExportpath &= "\"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Logger.Info("Verarbeitung von Datei: " & WDDatei.aName)
|
|
||||||
'Die Quelle zusammensetzen
|
|
||||||
Logger.Debug("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
|
||||||
'Dim Quelle As String = IO.Path.GetDirectoryName(WDLaufwerk & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
|
||||||
|
|
||||||
Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
|
||||||
Logger.Debug("ExportFileIO erzeugt.....")
|
|
||||||
' Stream Interface bereitstellen
|
|
||||||
WDDatei.LockFor(WMObjectEditModeFileSystem)
|
|
||||||
Try
|
Try
|
||||||
If Not WDDatei.aLocked Then
|
Logger.Info("Working on WMFile: " & oWMFile.aName)
|
||||||
WDDatei.lock()
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
Logger.Error(ex)
|
||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
|
Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
||||||
|
Logger.Debug("ExportFileIO created...")
|
||||||
|
|
||||||
Dim oWMStream = WDDatei.OpenStream("BinaryObject", WMObjectStreamOpenModeReadWrite)
|
Dim oWMStream = oWMFile.OpenStream("BinaryObject", 1)
|
||||||
'### VERSIONIERUNG ###
|
'### VERSIONIERUNG ###
|
||||||
Dim version As Integer = 2
|
Dim version As Integer = 2
|
||||||
'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
|
'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
|
||||||
Dim Filename = WDDatei.aName.Substring(0, WDDatei.aName.LastIndexOf("."))
|
Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf("."))
|
||||||
Dim Extension = WDDatei.aName.Substring(WDDatei.aName.LastIndexOf("."))
|
Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf("."))
|
||||||
Dim tempFilename As String = Zielpfad & Filename & Extension
|
Dim oTempFilename As String = MyExportpath & oFilename & oExtension
|
||||||
'Überprüfen ob File existiert
|
'Überprüfen ob File existiert
|
||||||
Do While IO.File.Exists(tempFilename) = True
|
Do While IO.File.Exists(oTempFilename) = True
|
||||||
tempFilename = Zielpfad & Filename & "_" & version & Extension
|
oTempFilename = MyExportpath & oFilename & "_" & version & oExtension
|
||||||
version = version + 1
|
version = version + 1
|
||||||
Loop
|
Loop
|
||||||
Logger.Debug("Zieldateiname: " & tempFilename)
|
Logger.Debug("Exportfilename is: " & oTempFilename)
|
||||||
' den Dateiinhalt der neuen Datei zuweisen
|
' den Dateiinhalt der neuen Datei zuweisen
|
||||||
|
ExportFileIO.bstrOriginalFileName = oTempFilename
|
||||||
ExportFileIO.aWMStream = oWMStream
|
ExportFileIO.aWMStream = oWMStream
|
||||||
ExportFileIO.bstrOriginalFileName = tempFilename
|
|
||||||
'Das eigentliche kopieren
|
'Das eigentliche kopieren
|
||||||
ExportFileIO.ExportOriginal(True)
|
ExportFileIO.ExportOriginal(True)
|
||||||
' close the windream file stream
|
' close the windream file stream
|
||||||
oWMStream.Close()
|
oWMStream.Close()
|
||||||
WDDatei.Save()
|
If File.Exists(oTempFilename) Then
|
||||||
WDDatei.unlock()
|
clsCURRENT.EXPORTED_FILENAME = oTempFilename
|
||||||
clsCURRENT.EXPORTED_FILENAME = tempFilename
|
Logger.Info($"File Export to HDD [{clsCURRENT.EXPORTED_FILENAME}]was successfull (File.Exists = True)!")
|
||||||
Logger.Info("Datei erfolgreich nach '" & tempFilename & "' verschoben.")
|
aktfile_Exportresult = clsCURRENT.EXPORTED_FILENAME
|
||||||
aktfile_Exportresult = tempFilename
|
clsCURRENT.TEMP_FILES.Add(clsCURRENT.EXPORTED_FILENAME)
|
||||||
Return True
|
Logger.Debug("FileInfo Added to variables...")
|
||||||
Catch ex As Exception
|
Return True
|
||||||
'bei einem Fehler einen Eintrag in der Logdatei machen
|
Else
|
||||||
Logger.Error(ex)
|
Logger.Warn($"Export not successfull or File.Exists = false Export: [{oTempFilename}]")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Logger.Info("Unexpected error in Export_WMFile: " & ex.Message)
|
||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
'Kopiert die übergebene Datei in den Zielpfad
|
||||||
|
'Public Function Export_File(oWMFile As WMObject, oZielpfad As String)
|
||||||
|
' Try
|
||||||
|
' If Not oZielpfad.EndsWith("\") Then
|
||||||
|
' oZielpfad = oZielpfad & "\"
|
||||||
|
' End If
|
||||||
|
' Dim oNewFilename As String
|
||||||
|
' Logger.Info("Verarbeitung von Datei: " & oWMFile.aName)
|
||||||
|
' oNewFilename = CleanInput(oWMFile.aName)
|
||||||
|
' 'Die Quelle zusammensetzen
|
||||||
|
' Logger.Debug("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & oWMFile.aPath & "\" & oWMFile.aName)
|
||||||
|
' 'Dim Quelle As String = IO.Path.GetDirectoryName(WDLaufwerk & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
||||||
|
|
||||||
|
' Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
||||||
|
' Logger.Debug("ExportFileIO erzeugt.....")
|
||||||
|
' ' Stream Interface bereitstellen
|
||||||
|
' oWMFile.LockFor(WMObjectEditModeFileSystem)
|
||||||
|
' Try
|
||||||
|
' If Not oWMFile.aLocked Then
|
||||||
|
' oWMFile.lock()
|
||||||
|
' End If
|
||||||
|
' Catch ex As Exception
|
||||||
|
' Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
||||||
|
' Return False
|
||||||
|
' End Try
|
||||||
|
|
||||||
|
' Dim oWMStream = oWMFile.OpenStream("BinaryObject", WMObjectStreamOpenModeReadWrite)
|
||||||
|
' '### VERSIONIERUNG ###
|
||||||
|
' Dim version As Integer = 2
|
||||||
|
' 'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
|
||||||
|
' Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf("."))
|
||||||
|
' Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf("."))
|
||||||
|
' Dim oTempFilename As String = oZielpfad & oFilename & oExtension
|
||||||
|
' 'Überprüfen ob File existiert
|
||||||
|
' Do While IO.File.Exists(oTempFilename) = True
|
||||||
|
' oTempFilename = oZielpfad & oFilename & "_" & version & oExtension
|
||||||
|
' version = version + 1
|
||||||
|
' Loop
|
||||||
|
' Logger.Debug("Zieldateiname: " & oTempFilename)
|
||||||
|
' ' den Dateiinhalt der neuen Datei zuweisen
|
||||||
|
' ExportFileIO.aWMStream = oWMStream
|
||||||
|
' ExportFileIO.bstrOriginalFileName = oTempFilename
|
||||||
|
' 'Das eigentliche kopieren
|
||||||
|
' ExportFileIO.ExportOriginal(True)
|
||||||
|
' ' close the windream file stream
|
||||||
|
' oWMStream.Close()
|
||||||
|
' oWMFile.Save()
|
||||||
|
' oWMFile.unlock()
|
||||||
|
' clsCURRENT.EXPORTED_FILENAME = oTempFilename
|
||||||
|
' Logger.Info("Datei erfolgreich nach '" & oTempFilename & "' kopiert.")
|
||||||
|
' aktfile_Exportresult = oTempFilename
|
||||||
|
' clsCURRENT.TEMP_FILES.Add(oTempFilename)
|
||||||
|
' Return True
|
||||||
|
' Catch ex As Exception
|
||||||
|
' 'bei einem Fehler einen Eintrag in der Logdatei machen
|
||||||
|
' Logger.Warn($"Unexpected in Export-File: [{oWMFile.aName}]...")
|
||||||
|
' Logger.Error(ex)
|
||||||
|
' Return False
|
||||||
|
' End Try
|
||||||
|
'End Function
|
||||||
Public Function Rename_File(WMFile As WMObject, konvention As String)
|
Public Function Rename_File(WMFile As WMObject, konvention As String)
|
||||||
Try
|
Try
|
||||||
Logger.Debug("Konvention: '" & konvention & "'")
|
Logger.Debug("Konvention: '" & konvention & "'")
|
||||||
@@ -416,6 +487,9 @@ Public Class clsDateiverarbeitung
|
|||||||
Dim result = REGEX_REPLACE(WMFile, OracleCommandRAW)
|
Dim result = REGEX_REPLACE(WMFile, OracleCommandRAW)
|
||||||
If result = Nothing Then
|
If result = Nothing Then
|
||||||
Return False
|
Return False
|
||||||
|
ElseIf result.ToString.Contains("[%") Then
|
||||||
|
Logger.Warn($"Replace Function OracleCommandRAW did not match all patterns: {result.ToString}")
|
||||||
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -436,6 +510,9 @@ Public Class clsDateiverarbeitung
|
|||||||
Dim result = REGEX_REPLACE(WMFile, SQLCommandRAW)
|
Dim result = REGEX_REPLACE(WMFile, SQLCommandRAW)
|
||||||
If result = Nothing Then
|
If result = Nothing Then
|
||||||
Return False
|
Return False
|
||||||
|
ElseIf result.ToString.Contains("[%") Then
|
||||||
|
Logger.Warn($"Replace Function SQLCommandRAW did not match all patterns: {result.ToString}")
|
||||||
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -611,7 +688,7 @@ Public Class clsDateiverarbeitung
|
|||||||
Logger.Debug("REGEX_String after vector-for-each (" & i & ") " & _STRING)
|
Logger.Debug("REGEX_String after vector-for-each (" & i & ") " & _STRING)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
Logger.Warn("Attention: Indexvalue is NOTHING, standardvalue '0' will be used", False, "clsDateiverarbeitung.REGEX_REPLACE")
|
Logger.Info($"Attention: Indexvalue for Index [{reg_element_Ohne_SZ}]is NOTHING, standardvalue '0' will be used - clsDateiverarbeitung.REGEX_REPLACE")
|
||||||
_STRING = _STRING.Replace(reg_element.Value, "0")
|
_STRING = _STRING.Replace(reg_element.Value, "0")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ Imports Independentsoft.Email
|
|||||||
Imports Independentsoft.Email.Smtp
|
Imports Independentsoft.Email.Smtp
|
||||||
Imports Independentsoft.Email.Mime
|
Imports Independentsoft.Email.Mime
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
|
Imports System.Net.Mail
|
||||||
|
Imports System.Net
|
||||||
|
Imports System.Net.Mime
|
||||||
|
|
||||||
Public Class clsEmail
|
Public Class clsEmail
|
||||||
Dim Logger As DigitalData.Modules.Logging.Logger
|
Dim Logger As DigitalData.Modules.Logging.Logger
|
||||||
@@ -15,30 +18,135 @@ Public Class clsEmail
|
|||||||
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
||||||
AUTH_TYPE As String, Optional attment As String = "")
|
AUTH_TYPE As String, Optional attment As String = "")
|
||||||
Try
|
Try
|
||||||
Dim message As New Message()
|
Dim oReceipiants As String()
|
||||||
message.From = New Mailbox(mailUser, mailUser)
|
If mailto.Contains(";") Then
|
||||||
message.To.Add(New Mailbox(mailto))
|
oReceipiants = mailto.Split(";")
|
||||||
message.Subject = mailSubject
|
Else
|
||||||
message.Body = mailBody
|
ReDim Preserve oReceipiants(0)
|
||||||
message.ContentType = New ContentType("text", "plain", "iso-8859-1")
|
oReceipiants(0) = mailto
|
||||||
message.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable
|
End If
|
||||||
|
For Each oMailReceipiant As String In oReceipiants
|
||||||
|
Dim sClient = New Mail.SmtpClient(mailsmtp)
|
||||||
|
Dim mymesssage As New MailMessage
|
||||||
|
sClient.Port = mailport
|
||||||
|
If AUTH_TYPE = "SSL" Then
|
||||||
|
sClient.EnableSsl = True
|
||||||
|
Else
|
||||||
|
sClient.EnableSsl = False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim client As New SmtpClient(mailsmtp, mailport)
|
sClient.Credentials = New NetworkCredential(mailUser, mailPW)
|
||||||
client.EnableSsl = True
|
sClient.UseDefaultCredentials = False
|
||||||
client.ValidateRemoteCertificate = False
|
|
||||||
|
mymesssage.Body = $"This is the body (text will be replaced within profile)! <br> mailsmtp: {mailsmtp} <br> mailport: {mailport} <br> mailUser: {mailUser} <br> mailPW: XXXX <br> AUTH_TYPE: {AUTH_TYPE}"
|
||||||
|
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(mymesssage.Body)
|
||||||
|
htmlView.ContentType = New System.Net.Mime.ContentType("text/html")
|
||||||
|
mymesssage.AlternateViews.Add(htmlView)
|
||||||
|
|
||||||
|
mymesssage.From = New MailAddress(mailfrom)
|
||||||
|
mymesssage.Subject = mailSubject
|
||||||
|
mymesssage.To.Add(New MailAddress(oMailReceipiant))
|
||||||
|
|
||||||
|
If attment <> String.Empty Then
|
||||||
|
Dim oAttment As String = attment.Replace("W:\", "\\windream\objects\")
|
||||||
|
|
||||||
|
If System.IO.File.Exists(oAttment) Then
|
||||||
|
Logger.Info($"working on attachment {oAttment}...")
|
||||||
|
Dim oAttachment As New System.Net.Mail.Attachment(oAttment)
|
||||||
|
|
||||||
|
mymesssage.Attachments.Add(oAttachment)
|
||||||
|
Else
|
||||||
|
MsgBox($"Attachment {oAttment.ToString} is not existing - Mail won't be send!")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
sClient.Send(mymesssage)
|
||||||
|
Logger.Info($"Email has been send to {oMailReceipiant}!!")
|
||||||
|
Next
|
||||||
|
|
||||||
client.Connect()
|
|
||||||
client.Login(mailUser, mailPW)
|
|
||||||
|
|
||||||
client.Send(message)
|
|
||||||
client.Disconnect()
|
|
||||||
Return True
|
Return True
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
||||||
|
Return False
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
Public Function Email_Send(ByVal mailSubject As String, ByVal mailBody As String, mailto As String,
|
||||||
|
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
||||||
|
AUTH_TYPE As String, Optional attment As String = "", Optional Test As Boolean = False)
|
||||||
|
Try
|
||||||
|
Dim oError As Boolean = False
|
||||||
|
Dim oReceipiants As String()
|
||||||
|
If mailto.Contains(";") Then
|
||||||
|
oReceipiants = mailto.Split(";")
|
||||||
|
Else
|
||||||
|
ReDim Preserve oReceipiants(0)
|
||||||
|
oReceipiants(0) = mailto
|
||||||
|
End If
|
||||||
|
For Each oMailReceipiant As String In oReceipiants
|
||||||
|
Dim sClient = New Net.Mail.SmtpClient(mailsmtp)
|
||||||
|
Dim mymesssage As New MailMessage
|
||||||
|
sClient.Port = mailport
|
||||||
|
If AUTH_TYPE = "SSL" Then
|
||||||
|
sClient.EnableSsl = True
|
||||||
|
Else
|
||||||
|
sClient.EnableSsl = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
sClient.Credentials = New NetworkCredential(mailUser, mailPW)
|
||||||
|
sClient.UseDefaultCredentials = False
|
||||||
|
If Test = True Then
|
||||||
|
mymesssage.Body = $"This is the body (text will be replaced within profile)! <br> mailsmtp: {mailsmtp} <br> mailport: {mailport} <br> mailUser: {mailUser} <br> mailPW: XXXX <br> AUTH_TYPE: {AUTH_TYPE}"
|
||||||
|
Else
|
||||||
|
mymesssage.Body = mailBody
|
||||||
|
End If
|
||||||
|
|
||||||
|
'mymesssage.IsBodyHtml = True
|
||||||
|
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(mymesssage.Body)
|
||||||
|
htmlView.ContentType = New System.Net.Mime.ContentType("text/html")
|
||||||
|
mymesssage.AlternateViews.Add(htmlView)
|
||||||
|
attment = attment.Replace("W:\", "\\windream\objects\")
|
||||||
|
If attment <> String.Empty Then
|
||||||
|
If System.IO.File.Exists(attment) Then
|
||||||
|
Logger.Info($"working on attachment {attment.ToString}...")
|
||||||
|
Dim oAttachment As New System.Net.Mail.Attachment(attment)
|
||||||
|
|
||||||
|
'If attment.ToLower.EndsWith("pdf") Then
|
||||||
|
' oAttachment.ContentType = New Independentsoft.Email.Mime.ContentType("application", "pdf")
|
||||||
|
'ElseIf attment.ToLower.EndsWith("jpg") Then
|
||||||
|
' oAttachment.ContentType = New Independentsoft.Email.Mime.ContentType("application", "jpg")
|
||||||
|
'ElseIf attment.ToLower.EndsWith("docx") Then
|
||||||
|
' oAttachment.ContentType = New Independentsoft.Email.Mime.ContentType("application", "MS-word")
|
||||||
|
'End If
|
||||||
|
mymesssage.Attachments.Add(oAttachment)
|
||||||
|
Else
|
||||||
|
Logger.Warn($"Attachment {attment.ToString} is not existing - Mail won't be send!")
|
||||||
|
oError = True
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
mymesssage.From = New MailAddress(mailfrom)
|
||||||
|
mymesssage.Subject = mailSubject
|
||||||
|
mymesssage.To.Add(New MailAddress(oMailReceipiant))
|
||||||
|
sClient.Send(mymesssage)
|
||||||
|
Next
|
||||||
|
If oError = False Then
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End Function
|
||||||
Public Function Email_Send_Independentsoft(ByVal mailSubject As String, ByVal mailBody As String, mailto As String,
|
Public Function Email_Send_Independentsoft(ByVal mailSubject As String, ByVal mailBody As String, mailto As String,
|
||||||
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
||||||
AUTH_TYPE As String, Optional attment As String = "")
|
AUTH_TYPE As String, Optional attment As String = "")
|
||||||
@@ -64,28 +172,31 @@ Public Class clsEmail
|
|||||||
message.Subject = mailSubject
|
message.Subject = mailSubject
|
||||||
Logger.Debug($"Message created..")
|
Logger.Debug($"Message created..")
|
||||||
Dim textBodyPart As New BodyPart()
|
Dim textBodyPart As New BodyPart()
|
||||||
textBodyPart.ContentType = New ContentType("text", "html", "utf-8")
|
textBodyPart.ContentType = New Independentsoft.Email.Mime.ContentType("text", "html", "utf-8")
|
||||||
textBodyPart.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable
|
textBodyPart.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable
|
||||||
textBodyPart.Body = mailBody
|
textBodyPart.Body = mailBody
|
||||||
message.BodyParts.Add(textBodyPart)
|
message.BodyParts.Add(textBodyPart)
|
||||||
|
attment = attment.Replace("W:\", "\\windream\objects\")
|
||||||
If attment <> String.Empty Then
|
If attment <> String.Empty Then
|
||||||
If System.IO.File.Exists(attment) Then
|
If System.IO.File.Exists(attment) Then
|
||||||
Dim attachment1 As New Attachment(attment)
|
Logger.Info($"working on attachment {attment.ToString}...")
|
||||||
|
Dim attachment1 As New Independentsoft.Email.Mime.Attachment(attment)
|
||||||
If attment.ToLower.EndsWith("pdf") Then
|
If attment.ToLower.EndsWith("pdf") Then
|
||||||
attachment1.ContentType = New ContentType("application", "pdf")
|
attachment1.ContentType = New Independentsoft.Email.Mime.ContentType("application", "pdf")
|
||||||
ElseIf attment.ToLower.EndsWith("jpg") Then
|
ElseIf attment.ToLower.EndsWith("jpg") Then
|
||||||
attachment1.ContentType = New ContentType("application", "jpg")
|
attachment1.ContentType = New Independentsoft.Email.Mime.ContentType("application", "jpg")
|
||||||
ElseIf attment.ToLower.EndsWith("docx") Then
|
ElseIf attment.ToLower.EndsWith("docx") Then
|
||||||
attachment1.ContentType = New ContentType("application", "MS-word")
|
attachment1.ContentType = New Independentsoft.Email.Mime.ContentType("application", "MS-word")
|
||||||
End If
|
End If
|
||||||
message.BodyParts.Add(attachment1)
|
message.BodyParts.Add(attachment1)
|
||||||
Else
|
Else
|
||||||
Logger.Warn($"Attachment {attment.ToString} is not existing!")
|
Logger.Warn($"Attachment {attment.ToString} is not existing - Mail won't be send!")
|
||||||
|
Return False
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Dim client As SmtpClient
|
Dim client As Smtp.SmtpClient
|
||||||
Try
|
Try
|
||||||
client = New SmtpClient(mailsmtp, mailport)
|
client = New Smtp.SmtpClient(mailsmtp, mailport)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Warn("clsEmail.Create Client: " & ex.Message)
|
Logger.Warn("clsEmail.Create Client: " & ex.Message)
|
||||||
_error = True
|
_error = True
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ Public Class clsJob_Work
|
|||||||
Logger.Warn("PWPlain is Nothing - Could not decrypt passwort 44")
|
Logger.Warn("PWPlain is Nothing - Could not decrypt passwort 44")
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
If _mail.Email_Send_Independentsoft(Email_subject, Email_Body, Email_receipiants, oMAILFROM, oMAILSMTP, oMAIL_PORT, oMAIL_USER, oMAIL_USER_PW, oMAIL_AUTH_TYPE, Attachment_Filename) = True Then
|
If _mail.Email_Send(Email_subject, Email_Body, Email_receipiants, oMAILFROM, oMAILSMTP, oMAIL_PORT, oMAIL_USER, oMAIL_USER_PW, oMAIL_AUTH_TYPE, Attachment_Filename) = True Then
|
||||||
Return True
|
Return True
|
||||||
Else
|
Else
|
||||||
Logger.Warn("Email_Send_Independentsoft was not successfull!")
|
Logger.Warn("Email_Send_Independentsoft was not successfull!")
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ Public Class clsProfil
|
|||||||
Logger.Info($"Working on profile '{_Profilname}'")
|
Logger.Info($"Working on profile '{_Profilname}'")
|
||||||
clsCURRENT.DT_TBDD_EMAIL = _database.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
|
clsCURRENT.DT_TBDD_EMAIL = _database.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
|
||||||
clsCURRENT.PROFILE_HandledFiles = Nothing
|
clsCURRENT.PROFILE_HandledFiles = Nothing
|
||||||
|
clsCURRENT.EXPORTED_FILENAME = ""
|
||||||
Logger.Debug("Start RUN of profile '" & _Profilname & "'")
|
Logger.Debug("Start RUN of profile '" & _Profilname & "'")
|
||||||
'den Durchlaufszeitpunkt speichern
|
'den Durchlaufszeitpunkt speichern
|
||||||
If File.Exists(_profwdSuche) = False Then
|
If File.Exists(_profwdSuche) = False Then
|
||||||
@@ -160,7 +161,11 @@ Public Class clsProfil
|
|||||||
Dim FileJobSuccessful As Boolean = False
|
Dim FileJobSuccessful As Boolean = False
|
||||||
Dim CountExportedDoc As Integer = 0
|
Dim CountExportedDoc As Integer = 0
|
||||||
clsCURRENT.PROFILE_HandledFiles = Nothing
|
clsCURRENT.PROFILE_HandledFiles = Nothing
|
||||||
|
Dim oFileRunNo As String
|
||||||
|
Dim oCountDocs As Integer = 0
|
||||||
For Each WMdok As WMObject In windreamSucheErgebnisse
|
For Each WMdok As WMObject In windreamSucheErgebnisse
|
||||||
|
oCountDocs += 1
|
||||||
|
oFileRunNo = "#DocRun" & oCountDocs.ToString
|
||||||
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
|
||||||
Case "Create Mail Attachment".ToUpper
|
Case "Create Mail Attachment".ToUpper
|
||||||
@@ -178,6 +183,15 @@ Public Class clsProfil
|
|||||||
If Not IsNothing(clsCURRENT.DT_TBDD_EMAIL) And clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
|
If Not IsNothing(clsCURRENT.DT_TBDD_EMAIL) And clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
|
||||||
Dim oAttachment = clsCURRENT.WDLAUFWERK & ":" & WMdok.aPath
|
Dim oAttachment = clsCURRENT.WDLAUFWERK & ":" & WMdok.aPath
|
||||||
|
|
||||||
|
If _dateiverarbeitung.Export_WMFile2HDD(WMdok, Path.GetTempPath()) = True Then
|
||||||
|
oAttachment = clsCURRENT.EXPORTED_FILENAME
|
||||||
|
|
||||||
|
Else
|
||||||
|
Logger.Warn($"Could not create a tempfile...")
|
||||||
|
FileJobSuccessful = False
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim MAILFROM As String = ""
|
Dim MAILFROM As String = ""
|
||||||
Dim MAILSMTP As String = ""
|
Dim MAILSMTP As String = ""
|
||||||
@@ -201,16 +215,10 @@ Public Class clsProfil
|
|||||||
|
|
||||||
Dim PWPlain = wrapper.DecryptData(MAIL_USER_PW)
|
Dim PWPlain = wrapper.DecryptData(MAIL_USER_PW)
|
||||||
If Not IsNothing(PWPlain) Then
|
If Not IsNothing(PWPlain) Then
|
||||||
If PWPlain <> "" Then
|
MAIL_USER_PW = PWPlain
|
||||||
MAIL_USER_PW = PWPlain
|
|
||||||
Else
|
|
||||||
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort181")
|
|
||||||
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
Else
|
||||||
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort188")
|
Logger.Warn("PWPlain is Nothing - Could not decrypt passwort188")
|
||||||
|
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
@@ -222,32 +230,34 @@ Public Class clsProfil
|
|||||||
Email_Betreff = _dateiverarbeitung.REGEX_REPLACE(WMdok, Email_Betreff)
|
Email_Betreff = _dateiverarbeitung.REGEX_REPLACE(WMdok, Email_Betreff)
|
||||||
Email_Body = _dateiverarbeitung.REGEX_REPLACE(WMdok, Email_Body)
|
Email_Body = _dateiverarbeitung.REGEX_REPLACE(WMdok, Email_Body)
|
||||||
|
|
||||||
If _email.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE, oAttachment) = True Then
|
If _email.Email_Send(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE, oAttachment) = True Then
|
||||||
FileJobSuccessful = True
|
FileJobSuccessful = True
|
||||||
Else
|
Else
|
||||||
|
|
||||||
Logger.Warn("Email_Send_Independentsoft was not successfull!")
|
Logger.Warn($"{oFileRunNo} Email_Send_Independentsoft 1 was not successfull!")
|
||||||
|
FileJobSuccessful = False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
Logger.Warn("DT_TBDD_EMAIL is nothing or contains no rows")
|
Logger.Warn($"{oFileRunNo} DT_TBDD_EMAIL is nothing or contains no rows")
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Case "Export HDD".ToUpper
|
Case "Export HDD".ToUpper
|
||||||
Logger.Info("JobType: Case Export HDD")
|
Logger.Info($"{oFileRunNo} JobType: Case Export HDD")
|
||||||
'Für jedes Dokument in der Windream-Ergebnisliste
|
'Für jedes Dokument in der Windream-Ergebnisliste
|
||||||
'For Each dok As WMObject In windreamSucheErgebnisse
|
'For Each dok As WMObject In windreamSucheErgebnisse
|
||||||
' aktuelles Dokument zum Export bereitstellen
|
' aktuelles Dokument zum Export bereitstellen
|
||||||
clsCURRENT.EXPORTED_FILENAME = ""
|
clsCURRENT.EXPORTED_FILENAME = ""
|
||||||
If _dateiverarbeitung.Export_File(WMdok, DR_PR_JB.Item("STRING1")) = True Then
|
If _dateiverarbeitung.Export_WMFile2HDD(WMdok, DR_PR_JB.Item("STRING1")) = True Then
|
||||||
ReDim Preserve clsCURRENT.PROFILE_HandledFiles(CountExportedDoc)
|
ReDim Preserve clsCURRENT.PROFILE_HandledFiles(CountExportedDoc)
|
||||||
clsCURRENT.PROFILE_HandledFiles(CountExportedDoc) = clsCURRENT.EXPORTED_FILENAME
|
clsCURRENT.PROFILE_HandledFiles(CountExportedDoc) = clsCURRENT.EXPORTED_FILENAME
|
||||||
CountExportedDoc += 1
|
CountExportedDoc += 1
|
||||||
FileJobSuccessful = True
|
FileJobSuccessful = True
|
||||||
|
Logger.Info($"{oFileRunNo} Export HDD completed!")
|
||||||
End If
|
End If
|
||||||
'Next
|
'Next
|
||||||
Case "BNS json Download".ToUpper
|
Case "BNS json Download".ToUpper
|
||||||
Logger.Info("JobType: BNS json Download")
|
Logger.Info($"{oFileRunNo} JobType: BNS json Download")
|
||||||
FileJobSuccessful = _dateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
|
FileJobSuccessful = _dateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
|
||||||
'Case "Send to printer".ToUpper
|
'Case "Send to printer".ToUpper
|
||||||
' Logger.Info("JobType: Send to printer")
|
' Logger.Info("JobType: Send to printer")
|
||||||
@@ -305,9 +315,26 @@ Public Class clsProfil
|
|||||||
'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
|
||||||
Logger.Info("AUSSTIEG FOR SCHLEIFE cause FileJobSuccessful = False...")
|
Logger.Info($"{oFileRunNo} AUSSTIEG FOR SCHLEIFE cause FileJobSuccessful = False...")
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If DR_PR_FILE_JOB.Item("STRING2").ToString.Contains("EXPORTED_FILENAME") Then
|
||||||
|
If clsCURRENT.EXPORTED_FILENAME = "" Then
|
||||||
|
Logger.Warn($"{oFileRunNo} clsCURRENT.EXPORTED_FILENAME Is empty! So FileJobSuccessful will be set to FALSE")
|
||||||
|
FileJobSuccessful = False
|
||||||
|
Continue For
|
||||||
|
Else
|
||||||
|
If File.Exists(clsCURRENT.EXPORTED_FILENAME) = False Then
|
||||||
|
Logger.Warn($"{oFileRunNo} clsCURRENT.EXPORTED_FILENAME [{clsCURRENT.EXPORTED_FILENAME}] not existing! So FileJobSuccessful will be set to FALSE")
|
||||||
|
FileJobSuccessful = False
|
||||||
|
Continue For
|
||||||
|
Else
|
||||||
|
Logger.Debug($"{oFileRunNo} clsCURRENT.EXPORTED_FILENAME [{clsCURRENT.EXPORTED_FILENAME}] exists!")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
Select Case DR_PR_FILE_JOB.Item("TYP").ToString.ToLower
|
Select Case DR_PR_FILE_JOB.Item("TYP").ToString.ToLower
|
||||||
Case "Set Index".ToLower
|
Case "Set Index".ToLower
|
||||||
Try
|
Try
|
||||||
@@ -319,17 +346,17 @@ Public Class clsProfil
|
|||||||
idxvalue = idxvalue.Replace("[%DATETIME]", Now.ToString)
|
idxvalue = idxvalue.Replace("[%DATETIME]", Now.ToString)
|
||||||
End If
|
End If
|
||||||
idxvalue = _dateiverarbeitung.REGEX_REPLACE(WMdok, idxvalue)
|
idxvalue = _dateiverarbeitung.REGEX_REPLACE(WMdok, idxvalue)
|
||||||
Logger.Debug($"Index '{idxName}' shall be set with value '{idxvalue}'")
|
Logger.Debug($"{oFileRunNo} Index '{idxName}' shall be set with value '{idxvalue}'")
|
||||||
Dim arrIndex() As String
|
Dim arrIndex() As String
|
||||||
ReDim Preserve arrIndex(0)
|
ReDim Preserve arrIndex(0)
|
||||||
arrIndex(0) = idxName
|
arrIndex(0) = idxName
|
||||||
Logger.Debug("...nach arrIndex")
|
Logger.Debug($"{oFileRunNo} ...nach arrIndex")
|
||||||
|
|
||||||
Dim arrValue() As String
|
Dim arrValue() As String
|
||||||
|
|
||||||
Dim aktvalue As Object
|
Dim aktvalue As Object
|
||||||
aktvalue = WMdok.GetVariableValue(idxName)
|
aktvalue = WMdok.GetVariableValue(idxName)
|
||||||
Logger.Debug("...nach aktValue zuweisen..")
|
Logger.Debug($"{oFileRunNo} ...nach aktValue zuweisen..")
|
||||||
Dim wmtype = clsWindream_allgemein.GetTypeOfIndexAsIntByName(idxName)
|
Dim wmtype = clsWindream_allgemein.GetTypeOfIndexAsIntByName(idxName)
|
||||||
Dim is_vektor As Boolean = False
|
Dim is_vektor As Boolean = False
|
||||||
Select Case wmtype
|
Select Case wmtype
|
||||||
@@ -372,9 +399,10 @@ Public Class clsProfil
|
|||||||
' 07.01.2019: Weitere Jobs bei Fehler in RunIndexing überspringen
|
' 07.01.2019: Weitere Jobs bei Fehler in RunIndexing überspringen
|
||||||
If oErrorOccurred = True Then
|
If oErrorOccurred = True Then
|
||||||
FileJobSuccessful = False
|
FileJobSuccessful = False
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
Logger.Warn("arrValue is nothing - keine Indexierung")
|
Logger.Warn($"{oFileRunNo} arrValue is nothing - keine Indexierung")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -382,14 +410,14 @@ Public Class clsProfil
|
|||||||
'clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(SetIndex)")
|
'clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(SetIndex)")
|
||||||
End Try
|
End Try
|
||||||
Case "Rename File with windream Index".ToLower
|
Case "Rename File with windream Index".ToLower
|
||||||
Logger.Debug("Exportierte Datei soll nach Indexvorgaben umbenannt werden...")
|
Logger.Debug($"{oFileRunNo} Exportierte Datei soll nach Indexvorgaben umbenannt werden...")
|
||||||
_dateiverarbeitung.Rename_File(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
|
_dateiverarbeitung.Rename_File(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
|
||||||
Case "Rename File with WMVector (only one)".ToLower
|
Case "Rename File with WMVector (only one)".ToLower
|
||||||
Logger.Debug("Exportierte Datei soll nach VektorIndexvorgaben umbenannt werden...")
|
Logger.Debug($"{oFileRunNo} Exportierte Datei soll nach VektorIndexvorgaben umbenannt werden...")
|
||||||
_dateiverarbeitung.Rename_File_Vektor(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
|
_dateiverarbeitung.Rename_File_Vektor(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
|
||||||
Case "Execute Oracle Command".ToLower
|
Case "Execute Oracle Command".ToLower
|
||||||
Try
|
Try
|
||||||
Logger.Debug("Execute Oracle Command.......")
|
Logger.Debug($"{oFileRunNo} Execute Oracle Command.......")
|
||||||
Dim oracleconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
|
Dim oracleconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
|
||||||
Dim oracleCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
|
Dim oracleCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
|
||||||
FileJobSuccessful = _dateiverarbeitung.RUN_ORACLE_COMMAND(WMdok, oracleconnectionstring, oracleCommandRAW)
|
FileJobSuccessful = _dateiverarbeitung.RUN_ORACLE_COMMAND(WMdok, oracleconnectionstring, oracleCommandRAW)
|
||||||
@@ -401,7 +429,7 @@ Public Class clsProfil
|
|||||||
Try
|
Try
|
||||||
Dim MSSQLconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
|
Dim MSSQLconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
|
||||||
Dim MSSQLCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
|
Dim MSSQLCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
|
||||||
Logger.Debug("Execute MSSQL Command.......")
|
Logger.Debug($"{oFileRunNo} Execute MSSQL Command.......")
|
||||||
FileJobSuccessful = _dateiverarbeitung.RUN_MSSQL_COMMAND(WMdok, MSSQLconnectionstring, MSSQLCommandRAW)
|
FileJobSuccessful = _dateiverarbeitung.RUN_MSSQL_COMMAND(WMdok, MSSQLconnectionstring, MSSQLCommandRAW)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
@@ -426,8 +454,8 @@ Public Class clsProfil
|
|||||||
Logger.Debug("pdftk location: " & pdftk)
|
Logger.Debug("pdftk location: " & pdftk)
|
||||||
clsCURRENT.CONCATTED_FILE = DR_PR_JB.Item("STRING1")
|
clsCURRENT.CONCATTED_FILE = DR_PR_JB.Item("STRING1")
|
||||||
Logger.Debug("CONCATTED_FILE location: " & clsCURRENT.CONCATTED_FILE)
|
Logger.Debug("CONCATTED_FILE location: " & clsCURRENT.CONCATTED_FILE)
|
||||||
Dim deleteJaNein = DR_PR_JB.Item("STRING2").ToString.ToUpper
|
Dim oDeleteResultFile = DR_PR_JB.Item("STRING2").ToString.ToUpper
|
||||||
Logger.Debug("deleteJaNein: " & deleteJaNein.ToString)
|
Logger.Debug("deleteJaNein: " & oDeleteResultFile.ToString)
|
||||||
If File.Exists(pdftk) Then
|
If File.Exists(pdftk) Then
|
||||||
If File.Exists(clsCURRENT.CONCATTED_FILE) Then
|
If File.Exists(clsCURRENT.CONCATTED_FILE) Then
|
||||||
Try
|
Try
|
||||||
@@ -496,10 +524,11 @@ Public Class clsProfil
|
|||||||
|
|
||||||
Loop
|
Loop
|
||||||
sw.Stop()
|
sw.Stop()
|
||||||
If deleteJaNein = "JA" Then
|
If oDeleteResultFile = "JA" Then
|
||||||
For Each str As String In clsCURRENT.PROFILE_HandledFiles
|
For Each str As String In clsCURRENT.PROFILE_HandledFiles
|
||||||
Try
|
Try
|
||||||
File.Delete(str)
|
File.Delete(str)
|
||||||
|
Logger.Debug($"Deleted file [{str}]!")
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
@@ -562,10 +591,11 @@ Public Class clsProfil
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If _email.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE, clsCURRENT.CONCATTED_FILE) = True Then
|
If _email.Email_Send(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE, clsCURRENT.CONCATTED_FILE) = True Then
|
||||||
FileJobSuccessful = True
|
FileJobSuccessful = True
|
||||||
Else
|
Else
|
||||||
Logger.Warn("Email_Send_Independentsoft was not successfull!")
|
Logger.Warn("Email_Send_Independentsoft 2 was not successfull!")
|
||||||
|
FileJobSuccessful = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -581,10 +611,10 @@ Public Class clsProfil
|
|||||||
Case "Send to printer".ToUpper
|
Case "Send to printer".ToUpper
|
||||||
Logger.Info("Working on CASE Send to printer.... ")
|
Logger.Info("Working on CASE Send to printer.... ")
|
||||||
Dim printername = DR_PR_JB.Item("STRING1")
|
Dim printername = DR_PR_JB.Item("STRING1")
|
||||||
For Each str As String In clsCURRENT.PROFILE_HandledFiles
|
For Each oFileString As String In clsCURRENT.PROFILE_HandledFiles
|
||||||
Try
|
Try
|
||||||
Dim myproc As Process = New Process()
|
Dim myproc As Process = New Process()
|
||||||
myproc.StartInfo.FileName = """" & str & """"
|
myproc.StartInfo.FileName = """" & oFileString & """"
|
||||||
myproc.StartInfo.Verb = "printto"
|
myproc.StartInfo.Verb = "printto"
|
||||||
myproc.StartInfo.Arguments = printername
|
myproc.StartInfo.Arguments = printername
|
||||||
myproc.StartInfo.UseShellExecute = True
|
myproc.StartInfo.UseShellExecute = True
|
||||||
@@ -605,9 +635,10 @@ Public Class clsProfil
|
|||||||
FileJobSuccessful = True
|
FileJobSuccessful = True
|
||||||
sw.Stop()
|
sw.Stop()
|
||||||
' myproc.Kill()
|
' myproc.Kill()
|
||||||
File.Delete(str)
|
File.Delete(oFileString)
|
||||||
|
Logger.Debug($"Deleted oFileString [{oFileString}]!")
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Warn("Could not print (printto) file: " & str)
|
Logger.Warn("Could not print (printto) file: " & oFileString)
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
End Try
|
End Try
|
||||||
Next
|
Next
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ Public Class clsWindream_allgemein
|
|||||||
' wenn ein Fehler bei der Initialisierung auftrat
|
' wenn ein Fehler bei der Initialisierung auftrat
|
||||||
If Not Init() Then
|
If Not Init() Then
|
||||||
' Nachricht ausgeben
|
' Nachricht ausgeben
|
||||||
Logger.Warn("Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind")
|
Logger.Warn("Error while initializing WM-Class!!")
|
||||||
' das Programm "abschießen"
|
' das Programm "abschießen"
|
||||||
Process.GetCurrentProcess.Kill()
|
Process.GetCurrentProcess.Kill()
|
||||||
End If
|
End If
|
||||||
@@ -464,7 +464,7 @@ Public Class clsWindream_allgemein
|
|||||||
Return oSearch.execute
|
Return oSearch.execute
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
Logger.Warn($"WM-SEARCH ({wdfLocation})")
|
Logger.Warn($"WM-SEARCH in Exception ({wdfLocation})")
|
||||||
Return Nothing
|
Return Nothing
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
@@ -552,10 +552,17 @@ Public Class clsWindream_allgemein
|
|||||||
If WMObjects.Count > 0 Then
|
If WMObjects.Count > 0 Then
|
||||||
|
|
||||||
For Each dok As WMObject In WMObjects
|
For Each dok As WMObject In WMObjects
|
||||||
Dim oPath As String = dok.aPath
|
|
||||||
Dim oDOC_ID = dok.GetVariableValue(NameIndexDocID)
|
Dim oDOC_ID = dok.GetVariableValue(NameIndexDocID)
|
||||||
Dim oCreated = dok.GetVariableValue(NameIndexCreated)
|
Dim oCreated = dok.GetVariableValue(NameIndexCreated)
|
||||||
Logger.Debug($"Adding DocInfo {oDOC_ID.ToString}|{oPath}|{oCreated}")
|
Logger.Debug($"Adding DocInfo {oDOC_ID.ToString}|{dok.aPath}|{oCreated}")
|
||||||
|
Dim oPath As String
|
||||||
|
If dok.aPath.StartsWith("\") Then
|
||||||
|
oPath = dok.aPath.Substring(1, dok.aPath.Length - 1)
|
||||||
|
Else
|
||||||
|
oPath = dok.aPath
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
dtresult.Rows.Add(oDOC_ID, oPath, oCreated)
|
dtresult.Rows.Add(oDOC_ID, oPath, oCreated)
|
||||||
Next
|
Next
|
||||||
dtresult.AcceptChanges()
|
dtresult.AcceptChanges()
|
||||||
@@ -563,11 +570,33 @@ Public Class clsWindream_allgemein
|
|||||||
Return dtresult
|
Return dtresult
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
Logger.Warn($"WM-SEARCH ({wdfLocation})")
|
Logger.Warn($"WM-SEARCH from GetSearchDocumentsDT ({wdfLocation})")
|
||||||
Return dtresult
|
Return dtresult
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
Public Function TestFileExists(Path As String) As Boolean
|
||||||
|
Return TestObjectExists(GetNormalizedPath(Path), WMEntityDocument)
|
||||||
|
End Function
|
||||||
|
Private Function TestObjectExists(ObjectName As String, ObjectType As WMEntity) As Boolean
|
||||||
|
Try
|
||||||
|
Dim oObjectId = 0
|
||||||
|
Dim oObjectDbId = 0
|
||||||
|
|
||||||
|
Return CURRENToWMSession.WMObjectExists(ObjectType, ObjectName, oObjectId, oObjectDbId)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex, "Error while checking existence of WMObject {0} of type {1}", ObjectName, ObjectType.ToString)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
Private Function GetNormalizedPath(Path As String) As String
|
||||||
|
Dim oNormalizedPath = Path
|
||||||
|
|
||||||
|
If Not Path.StartsWith("\") And Path.ToUpper().StartsWith(CURRENT_WMDriveLetter.ToUpper) Then
|
||||||
|
oNormalizedPath = Path.Substring(2)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oNormalizedPath
|
||||||
|
End Function
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -6,6 +6,9 @@
|
|||||||
</sectionGroup>
|
</sectionGroup>
|
||||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||||
|
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||||
|
<section name="DDWDResultHandler.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||||
|
</sectionGroup>
|
||||||
</configSections>
|
</configSections>
|
||||||
<connectionStrings />
|
<connectionStrings />
|
||||||
<startup>
|
<startup>
|
||||||
@@ -13,11 +16,11 @@
|
|||||||
</startup>
|
</startup>
|
||||||
<applicationSettings>
|
<applicationSettings>
|
||||||
<DDWDResultHandler.My.MySettings>
|
<DDWDResultHandler.My.MySettings>
|
||||||
<setting name="SQLSERVER_CS" serializeAs="String">
|
<setting name="SQLSERVER_CS_RH" serializeAs="String">
|
||||||
<value>Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security Info=True;User ID=sa;Password=dd</value>
|
<value>Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security Info=True;User ID=sa;Password=dd</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SQLSERVER_CS_PMRefresh" serializeAs="String">
|
<setting name="SQLSERVER_CS_PMRefresh" serializeAs="String">
|
||||||
<value>Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd</value>
|
<value />
|
||||||
</setting>
|
</setting>
|
||||||
</DDWDResultHandler.My.MySettings>
|
</DDWDResultHandler.My.MySettings>
|
||||||
</applicationSettings>
|
</applicationSettings>
|
||||||
@@ -40,4 +43,11 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
|
<userSettings>
|
||||||
|
<DDWDResultHandler.My.MySettings>
|
||||||
|
<setting name="PMREFRESH_INTERVALL" serializeAs="String">
|
||||||
|
<value />
|
||||||
|
</setting>
|
||||||
|
</DDWDResultHandler.My.MySettings>
|
||||||
|
</userSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -9,7 +9,7 @@ Public Class DDWDResultHandler
|
|||||||
Private _database As DD_WMResulthandler.clsDatabase
|
Private _database As DD_WMResulthandler.clsDatabase
|
||||||
Private _profil As clsProfil
|
Private _profil As clsProfil
|
||||||
|
|
||||||
Public Shared threadRunner As BackgroundWorker
|
Public Shared threadResultHandler As BackgroundWorker
|
||||||
Public Shared threadPMRefresh As BackgroundWorker
|
Public Shared threadPMRefresh As BackgroundWorker
|
||||||
|
|
||||||
Private Logger As Logger
|
Private Logger As Logger
|
||||||
@@ -33,14 +33,6 @@ Public Class DDWDResultHandler
|
|||||||
' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge
|
' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge
|
||||||
' ausführen, damit der Dienst gestartet werden kann.
|
' ausführen, damit der Dienst gestartet werden kann.
|
||||||
'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestartet")
|
'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestartet")
|
||||||
|
|
||||||
Try
|
|
||||||
If Not System.Diagnostics.EventLog.SourceExists("DDWMResultHandler") Then
|
|
||||||
System.Diagnostics.EventLog.CreateEventSource("DDWMResultHandler", "DigitalData Log")
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
|
||||||
EventLog.WriteEntry("DDWMResultHandler", "ERROR in Creating source:" & ex.ToString(), EventLogEntryType.Error)
|
|
||||||
End Try
|
|
||||||
Try
|
Try
|
||||||
Try
|
Try
|
||||||
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
||||||
@@ -52,59 +44,62 @@ Public Class DDWDResultHandler
|
|||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
If My.Settings.SQLSERVER_CS = String.Empty Then
|
'If _database.Init(My.Settings.SQLSERVER_CS_RH, True) = False Then
|
||||||
Logger.Warn("Achtung: Es wurde noch kein Datenbank-ConnectionString hinterlegt.")
|
' Logger.Warn("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS_RH & "' hergestellt werden!")
|
||||||
|
' Else
|
||||||
|
|
||||||
|
If clsCURRENT.LOG_ERRORS_ONLY = False Then
|
||||||
|
MyLogger.Debug = True
|
||||||
Else
|
Else
|
||||||
If _database.Init(My.Settings.SQLSERVER_CS, True) = False Then
|
MyLogger.Debug = False
|
||||||
Logger.Warn("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS & "' hergestellt werden!")
|
End If
|
||||||
Else
|
oFirstRun = True
|
||||||
|
' '#Thread für Durchlauf generieren
|
||||||
|
DDWDResultHandler.threadResultHandler = New BackgroundWorker()
|
||||||
|
DDWDResultHandler.threadResultHandler.WorkerReportsProgress = True
|
||||||
|
DDWDResultHandler.threadResultHandler.WorkerSupportsCancellation = True
|
||||||
|
AddHandler threadResultHandler.DoWork, AddressOf RUN_RESULTHANDLER
|
||||||
|
AddHandler threadResultHandler.RunWorkerCompleted, AddressOf Thread_Completed
|
||||||
|
|
||||||
If clsCURRENT.LOG_ERRORS_ONLY = False Then
|
' '### Den Timer generieren
|
||||||
MyLogger.Debug = True
|
Dim Timer_Durchlauf As New System.Timers.Timer()
|
||||||
Else
|
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
||||||
MyLogger.Debug = False
|
AddHandler Timer_Durchlauf.Elapsed, AddressOf Thread_Run
|
||||||
End If
|
' Set the Interval
|
||||||
oFirstRun = True
|
Timer_Durchlauf.Interval = 60000
|
||||||
' '#Thread für Durchlauf generieren
|
Timer_Durchlauf.Enabled = True
|
||||||
DDWDResultHandler.threadRunner = New BackgroundWorker()
|
Logger.Debug("Timer gestartet")
|
||||||
DDWDResultHandler.threadRunner.WorkerReportsProgress = True
|
' Und den Durchlauf das erste Mal starten
|
||||||
DDWDResultHandler.threadRunner.WorkerSupportsCancellation = True
|
|
||||||
AddHandler threadRunner.DoWork, AddressOf RUN_THREAD
|
|
||||||
AddHandler threadRunner.RunWorkerCompleted, AddressOf Thread_Completed
|
|
||||||
|
|
||||||
' '### Den Timer generieren
|
|
||||||
Dim Timer_Durchlauf As New System.Timers.Timer()
|
|
||||||
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
|
||||||
AddHandler Timer_Durchlauf.Elapsed, AddressOf Thread_Run
|
|
||||||
' Set the Interval
|
|
||||||
Timer_Durchlauf.Interval = 60000
|
|
||||||
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
|
||||||
Timer_Durchlauf.Enabled = True
|
|
||||||
Logger.Debug("Timer gestartet")
|
|
||||||
' Und den Durchlauf das erste Mal starten
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DDWDResultHandler.threadPMRefresh = New BackgroundWorker()
|
DDWDResultHandler.threadPMRefresh = New BackgroundWorker()
|
||||||
DDWDResultHandler.threadPMRefresh.WorkerReportsProgress = True
|
DDWDResultHandler.threadPMRefresh.WorkerReportsProgress = True
|
||||||
DDWDResultHandler.threadPMRefresh.WorkerSupportsCancellation = True
|
DDWDResultHandler.threadPMRefresh.WorkerSupportsCancellation = True
|
||||||
AddHandler threadPMRefresh.DoWork, AddressOf RUNPMRefresh
|
AddHandler threadPMRefresh.DoWork, AddressOf RUNPMRefresh
|
||||||
AddHandler threadPMRefresh.RunWorkerCompleted, AddressOf ThreadPMRefresh_Completed
|
AddHandler threadPMRefresh.RunWorkerCompleted, AddressOf ThreadPMRefresh_Completed
|
||||||
|
|
||||||
' '### Den Timer generieren
|
' '### Den Timer generieren
|
||||||
Dim TimerPMRefresh As New System.Timers.Timer()
|
Dim TimerPMRefresh As New System.Timers.Timer()
|
||||||
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
'Das Event hinterlegen welches bei "Tick" ausgelöst wird
|
||||||
AddHandler TimerPMRefresh.Elapsed, AddressOf ThreadPMRefreshRun
|
AddHandler TimerPMRefresh.Elapsed, AddressOf ThreadPMRefreshRun
|
||||||
|
|
||||||
|
' Set the Interval
|
||||||
' Und den Durchlauf das erste Mal starten
|
TimerPMRefresh.Interval = 120000 '2 minutes
|
||||||
threadRunner.RunWorkerAsync()
|
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
||||||
' Set the Interval
|
TimerPMRefresh.Enabled = True
|
||||||
TimerPMRefresh.Interval = 120000 '2 minutes
|
'End If
|
||||||
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
If My.Settings.SQLSERVER_CS_RH = "" And My.Settings.SQLSERVER_CS_PMRefresh <> "" Then
|
||||||
TimerPMRefresh.Enabled = True
|
Logger.Info("Thread PM Refresh will now be started for initial Run as Resulthandler's ConnString is empty...")
|
||||||
|
threadPMRefresh.RunWorkerAsync()
|
||||||
|
Else
|
||||||
|
If My.Settings.SQLSERVER_CS_RH <> "" Then
|
||||||
|
Logger.Info("Thread ResultHandler will now be started for initial Run..")
|
||||||
|
threadResultHandler.RunWorkerAsync()
|
||||||
|
Logger.Info("Thread PM Refresh will be started after 2mins for initial Run..")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStart: " & ex.ToString(), EventLogEntryType.Error)
|
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStart: " & ex.ToString(), EventLogEntryType.Error)
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
@@ -112,8 +107,8 @@ Public Class DDWDResultHandler
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
Public Sub Thread_Run()
|
Public Sub Thread_Run()
|
||||||
If Not threadRunner.IsBusy Then
|
If Not threadResultHandler.IsBusy Then
|
||||||
threadRunner.RunWorkerAsync()
|
threadResultHandler.RunWorkerAsync()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
Public Sub ThreadPMRefreshRun()
|
Public Sub ThreadPMRefreshRun()
|
||||||
@@ -127,20 +122,24 @@ Public Class DDWDResultHandler
|
|||||||
Protected Overrides Sub OnStop()
|
Protected Overrides Sub OnStop()
|
||||||
Try
|
Try
|
||||||
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
|
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
|
||||||
Logger.Warn("WindreamResultHandler wurde gestoppt!")
|
Logger.Info("WindreamResultHandler wurde gestoppt!")
|
||||||
'LoggerPMR.Warn("WindreamResultHandler has been stopped!")
|
|
||||||
_database.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _PROFIL_ID)
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStop: " & ex.ToString(), EventLogEntryType.Error)
|
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStop: " & ex.ToString(), EventLogEntryType.Error)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
Public Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
|
Public Sub RUN_RESULTHANDLER(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
|
||||||
Try
|
Try
|
||||||
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"))
|
||||||
Logger = MyLogger.GetLogger()
|
Logger = MyLogger.GetLogger()
|
||||||
_database = New clsDatabase(MyLogger)
|
_database = New clsDatabase(MyLogger)
|
||||||
|
|
||||||
|
If My.Settings.SQLSERVER_CS_RH = "" Then
|
||||||
|
Logger.Debug("RESULT HANDLER ConString not configured... No Run")
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
Dim notcompleted As Boolean = False
|
Dim notcompleted As Boolean = False
|
||||||
'clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
'clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
||||||
Logger.Debug("RUN_THREAD WMResulthandler started..")
|
Logger.Debug("RUN_THREAD WMResulthandler started..")
|
||||||
@@ -148,9 +147,10 @@ Public Class DDWDResultHandler
|
|||||||
_windream = New clsWindream_allgemein(MyLogger)
|
_windream = New clsWindream_allgemein(MyLogger)
|
||||||
'windream initialisieren
|
'windream initialisieren
|
||||||
If _windream.Init() = True Then
|
If _windream.Init() = True Then
|
||||||
|
clsCURRENT.TEMP_FILES.Clear()
|
||||||
Logger.Debug("windream vollumfänglich initialisiert!")
|
Logger.Debug("windream vollumfänglich initialisiert!")
|
||||||
'Zur sicherheit die DB nochmal initialiseren
|
'Zur sicherheit die DB nochmal initialiseren
|
||||||
If _database.Init(My.Settings.SQLSERVER_CS, True) = True Then
|
If _database.Init(My.Settings.SQLSERVER_CS_RH, True) = True Then
|
||||||
Dim DT As DataTable = _database.Return_Datatable("select * from TBWMRH_KONFIGURATION where GUID = 1")
|
Dim DT As DataTable = _database.Return_Datatable("select * from TBWMRH_KONFIGURATION where GUID = 1")
|
||||||
If DT.Rows.Count = 1 Then
|
If DT.Rows.Count = 1 Then
|
||||||
clsCURRENT.DT_TBWMRH_KONFIGURATION = DT
|
clsCURRENT.DT_TBWMRH_KONFIGURATION = DT
|
||||||
@@ -188,6 +188,17 @@ Public Class DDWDResultHandler
|
|||||||
Logger.Info("Keine aktiven Profile WMResulthandler vorhanden")
|
Logger.Info("Keine aktiven Profile WMResulthandler vorhanden")
|
||||||
notcompleted = True
|
notcompleted = True
|
||||||
End If
|
End If
|
||||||
|
Try
|
||||||
|
For Each _file In clsCURRENT.TEMP_FILES
|
||||||
|
'Dim oFile As New FileInfo(_file)
|
||||||
|
'If (DateTime.UtcNow - oFile.CreationTimeUtc > TimeSpan.FromDays(1)) Then
|
||||||
|
System.IO.File.Delete(_file)
|
||||||
|
'End If
|
||||||
|
Next
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
_database.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
|
_database.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
|
||||||
If oFirstRun = True Then
|
If oFirstRun = True Then
|
||||||
oFirstRun = False
|
oFirstRun = False
|
||||||
@@ -275,8 +286,8 @@ Public Class DDWDResultHandler
|
|||||||
End Sub
|
End Sub
|
||||||
Public Function Thread_Abbrechen()
|
Public Function Thread_Abbrechen()
|
||||||
Try
|
Try
|
||||||
If DDWDResultHandler.threadRunner.IsBusy Then
|
If DDWDResultHandler.threadResultHandler.IsBusy Then
|
||||||
DDWDResultHandler.threadRunner.CancelAsync()
|
DDWDResultHandler.threadResultHandler.CancelAsync()
|
||||||
End If
|
End If
|
||||||
Return True
|
Return True
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
|||||||
@@ -58,21 +58,32 @@ Namespace My
|
|||||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||||
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security In"& _
|
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security In"& _
|
||||||
"fo=True;User ID=sa;Password=dd")> _
|
"fo=True;User ID=sa;Password=dd")> _
|
||||||
Public ReadOnly Property SQLSERVER_CS() As String
|
Public ReadOnly Property SQLSERVER_CS_RH() As String
|
||||||
Get
|
Get
|
||||||
Return CType(Me("SQLSERVER_CS"),String)
|
Return CType(Me("SQLSERVER_CS_RH"),String)
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
|
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
|
||||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||||
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_TEST;Persist Security Info="& _
|
Global.System.Configuration.DefaultSettingValueAttribute("")> _
|
||||||
"True;User ID=sa;Password=dd")> _
|
|
||||||
Public ReadOnly Property SQLSERVER_CS_PMRefresh() As String
|
Public ReadOnly Property SQLSERVER_CS_PMRefresh() As String
|
||||||
Get
|
Get
|
||||||
Return CType(Me("SQLSERVER_CS_PMRefresh"),String)
|
Return CType(Me("SQLSERVER_CS_PMRefresh"),String)
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||||
|
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||||
|
Global.System.Configuration.DefaultSettingValueAttribute("")> _
|
||||||
|
Public Property PMREFRESH_INTERVALL() As String
|
||||||
|
Get
|
||||||
|
Return CType(Me("PMREFRESH_INTERVALL"),String)
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
Me("PMREFRESH_INTERVALL") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||||
<Profiles />
|
<Profiles />
|
||||||
<Settings>
|
<Settings>
|
||||||
<Setting Name="SQLSERVER_CS" Type="System.String" Scope="Application">
|
<Setting Name="SQLSERVER_CS_RH" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security Info=True;User ID=sa;Password=dd</Value>
|
<Value Profile="(Default)">Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security Info=True;User ID=sa;Password=dd</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SQLSERVER_CS_PMRefresh" Type="System.String" Scope="Application">
|
<Setting Name="SQLSERVER_CS_PMRefresh" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd</Value>
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
||||||
@@ -9,7 +9,7 @@ Public Class clsPMRefresh
|
|||||||
Private oConfigschedule
|
Private oConfigschedule
|
||||||
Private oConfigIDXName_DocID
|
Private oConfigIDXName_DocID
|
||||||
Private oConfigIDXName_Created
|
Private oConfigIDXName_Created
|
||||||
Private oConfigWMDrive
|
'Private oConfigWMDrive
|
||||||
Private oConfigLOGERRONLY As Boolean
|
Private oConfigLOGERRONLY As Boolean
|
||||||
Sub New(theLogger As LogConfig)
|
Sub New(theLogger As LogConfig)
|
||||||
MyLogger = theLogger
|
MyLogger = theLogger
|
||||||
@@ -31,7 +31,7 @@ Public Class clsPMRefresh
|
|||||||
oConfigschedule = oDTPM_CONFIG.Rows(0).Item("SERVICE_SCHEDULE").ToString
|
oConfigschedule = oDTPM_CONFIG.Rows(0).Item("SERVICE_SCHEDULE").ToString
|
||||||
oConfigIDXName_DocID = oDTPM_CONFIG.Rows(0).Item("SERVICE_IDXNAME_DOCID").ToString
|
oConfigIDXName_DocID = oDTPM_CONFIG.Rows(0).Item("SERVICE_IDXNAME_DOCID").ToString
|
||||||
oConfigIDXName_Created = oDTPM_CONFIG.Rows(0).Item("SERVICE_IDXNAME_CREATED").ToString
|
oConfigIDXName_Created = oDTPM_CONFIG.Rows(0).Item("SERVICE_IDXNAME_CREATED").ToString
|
||||||
oConfigWMDrive = oDTPM_CONFIG.Rows(0).Item("SERVICE_WMDRIVE_LETTER").ToString
|
'oConfigWMDrive = oDTPM_CONFIG.Rows(0).Item("SERVICE_WMDRIVE_LETTER").ToString
|
||||||
oConfigLOGERRONLY = oDTPM_CONFIG.Rows(0).Item("SERVICE_LOG_ERRORS_ONLY")
|
oConfigLOGERRONLY = oDTPM_CONFIG.Rows(0).Item("SERVICE_LOG_ERRORS_ONLY")
|
||||||
Dim oSplit As String()
|
Dim oSplit As String()
|
||||||
oSplit = oConfigschedule.Split(";")
|
oSplit = oConfigschedule.Split(";")
|
||||||
@@ -125,7 +125,6 @@ Public Class clsPMRefresh
|
|||||||
'---------------------- für jedes Profil die Dateien überprüfen ------------------------
|
'---------------------- für jedes Profil die Dateien überprüfen ------------------------
|
||||||
For Each Profile_Row In oDTPROFILES.Rows
|
For Each Profile_Row In oDTPROFILES.Rows
|
||||||
oStep = "4a"
|
oStep = "4a"
|
||||||
Console.WriteLine(">> Dateien für Profil '" & Profile_Row.Item("NAME") & "' eintragen")
|
|
||||||
Logger.Debug("Add info for profile '" & Profile_Row.Item("NAME") & "'")
|
Logger.Debug("Add info for profile '" & Profile_Row.Item("NAME") & "'")
|
||||||
Dim oPROFILE_ID As Integer = Profile_Row.Item("GUID")
|
Dim oPROFILE_ID As Integer = Profile_Row.Item("GUID")
|
||||||
WD_Search = Nothing
|
WD_Search = Nothing
|
||||||
@@ -139,6 +138,7 @@ Public Class clsPMRefresh
|
|||||||
oStep = "4d"
|
oStep = "4d"
|
||||||
Dim oDocCount As Integer = 0
|
Dim oDocCount As Integer = 0
|
||||||
If IsNothing(oDTWM_Results) Then
|
If IsNothing(oDTWM_Results) Then
|
||||||
|
Logger.Warn("ATTENTION: oDTWM_Results is NOTHING")
|
||||||
Continue For
|
Continue For
|
||||||
End If
|
End If
|
||||||
'Die aktuellen Files auf refreshed = 0 setzten
|
'Die aktuellen Files auf refreshed = 0 setzten
|
||||||
@@ -151,7 +151,7 @@ Public Class clsPMRefresh
|
|||||||
Dim Profil_Docs(oDTWM_Results.Rows.Count - 1, 2) As String
|
Dim Profil_Docs(oDTWM_Results.Rows.Count - 1, 2) As String
|
||||||
For Each oRow As DataRow In oDTWM_Results.Rows
|
For Each oRow As DataRow In oDTWM_Results.Rows
|
||||||
Dim oDOC_ID = oRow.Item(0)
|
Dim oDOC_ID = oRow.Item(0)
|
||||||
Dim oWMFilePath As String = oConfigWMDrive & ":" & oRow.Item(1)
|
Dim oWMFilePath As String = oRow.Item(1)
|
||||||
Profil_Docs(oDocCount, 0) = oRow.Item(0)
|
Profil_Docs(oDocCount, 0) = oRow.Item(0)
|
||||||
Profil_Docs(oDocCount, 1) = oWMFilePath
|
Profil_Docs(oDocCount, 1) = oWMFilePath
|
||||||
'------DMS Erstell-Datum holen --------
|
'------DMS Erstell-Datum holen --------
|
||||||
@@ -215,6 +215,8 @@ Public Class clsPMRefresh
|
|||||||
Else
|
Else
|
||||||
Logger.Warn("ATTENTION: Refresh could not be executed " & oSQLCommand)
|
Logger.Warn("ATTENTION: Refresh could not be executed " & oSQLCommand)
|
||||||
End If
|
End If
|
||||||
|
Else
|
||||||
|
Logger.Warn("ATTENTION: WM-Search is nothing.. ")
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
oStep = "4i"
|
oStep = "4i"
|
||||||
|
|||||||
39
app/ResultHandler_Konfig/frmMain.Designer.vb
generated
39
app/ResultHandler_Konfig/frmMain.Designer.vb
generated
@@ -228,6 +228,9 @@ Partial Class frmMain
|
|||||||
Me.LOG_ERRORS_ONLYCheckBox = New System.Windows.Forms.CheckBox()
|
Me.LOG_ERRORS_ONLYCheckBox = New System.Windows.Forms.CheckBox()
|
||||||
Me.LAST_TICKTextBox = New System.Windows.Forms.TextBox()
|
Me.LAST_TICKTextBox = New System.Windows.Forms.TextBox()
|
||||||
Me.TabPage4 = New System.Windows.Forms.TabPage()
|
Me.TabPage4 = New System.Windows.Forms.TabPage()
|
||||||
|
Me.Button6 = New System.Windows.Forms.Button()
|
||||||
|
Me.txtAttachment = New System.Windows.Forms.TextBox()
|
||||||
|
Me.Label6 = New System.Windows.Forms.Label()
|
||||||
Me.Button5 = New System.Windows.Forms.Button()
|
Me.Button5 = New System.Windows.Forms.Button()
|
||||||
Me.AUTH_TYPEComboBox = New System.Windows.Forms.ComboBox()
|
Me.AUTH_TYPEComboBox = New System.Windows.Forms.ComboBox()
|
||||||
Me.TBDD_EMAIL_ACCOUNTBindingSource = New System.Windows.Forms.BindingSource(Me.components)
|
Me.TBDD_EMAIL_ACCOUNTBindingSource = New System.Windows.Forms.BindingSource(Me.components)
|
||||||
@@ -2360,6 +2363,9 @@ Partial Class frmMain
|
|||||||
'
|
'
|
||||||
'TabPage4
|
'TabPage4
|
||||||
'
|
'
|
||||||
|
Me.TabPage4.Controls.Add(Me.Button6)
|
||||||
|
Me.TabPage4.Controls.Add(Me.txtAttachment)
|
||||||
|
Me.TabPage4.Controls.Add(Me.Label6)
|
||||||
Me.TabPage4.Controls.Add(Me.Button5)
|
Me.TabPage4.Controls.Add(Me.Button5)
|
||||||
Me.TabPage4.Controls.Add(AUTH_TYPELabel)
|
Me.TabPage4.Controls.Add(AUTH_TYPELabel)
|
||||||
Me.TabPage4.Controls.Add(Me.AUTH_TYPEComboBox)
|
Me.TabPage4.Controls.Add(Me.AUTH_TYPEComboBox)
|
||||||
@@ -2401,14 +2407,40 @@ Partial Class frmMain
|
|||||||
Me.TabPage4.Text = "Email"
|
Me.TabPage4.Text = "Email"
|
||||||
Me.TabPage4.UseVisualStyleBackColor = True
|
Me.TabPage4.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
|
'Button6
|
||||||
|
'
|
||||||
|
Me.Button6.Location = New System.Drawing.Point(872, 347)
|
||||||
|
Me.Button6.Name = "Button6"
|
||||||
|
Me.Button6.Size = New System.Drawing.Size(30, 23)
|
||||||
|
Me.Button6.TabIndex = 38
|
||||||
|
Me.Button6.Text = "..."
|
||||||
|
Me.Button6.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
|
'txtAttachment
|
||||||
|
'
|
||||||
|
Me.txtAttachment.Location = New System.Drawing.Point(395, 347)
|
||||||
|
Me.txtAttachment.Name = "txtAttachment"
|
||||||
|
Me.txtAttachment.Size = New System.Drawing.Size(471, 22)
|
||||||
|
Me.txtAttachment.TabIndex = 37
|
||||||
|
'
|
||||||
|
'Label6
|
||||||
|
'
|
||||||
|
Me.Label6.AutoSize = True
|
||||||
|
Me.Label6.Location = New System.Drawing.Point(392, 331)
|
||||||
|
Me.Label6.Name = "Label6"
|
||||||
|
Me.Label6.Size = New System.Drawing.Size(91, 13)
|
||||||
|
Me.Label6.TabIndex = 36
|
||||||
|
Me.Label6.Text = "Test Attachment:"
|
||||||
|
'
|
||||||
'Button5
|
'Button5
|
||||||
'
|
'
|
||||||
Me.Button5.Location = New System.Drawing.Point(294, 381)
|
Me.Button5.Location = New System.Drawing.Point(294, 381)
|
||||||
Me.Button5.Name = "Button5"
|
Me.Button5.Name = "Button5"
|
||||||
Me.Button5.Size = New System.Drawing.Size(75, 23)
|
Me.Button5.Size = New System.Drawing.Size(95, 23)
|
||||||
Me.Button5.TabIndex = 35
|
Me.Button5.TabIndex = 35
|
||||||
Me.Button5.Text = "Button5"
|
Me.Button5.Text = "Test Email(RAW)"
|
||||||
Me.Button5.UseVisualStyleBackColor = True
|
Me.Button5.UseVisualStyleBackColor = True
|
||||||
|
Me.Button5.Visible = False
|
||||||
'
|
'
|
||||||
'AUTH_TYPEComboBox
|
'AUTH_TYPEComboBox
|
||||||
'
|
'
|
||||||
@@ -3034,4 +3066,7 @@ Partial Class frmMain
|
|||||||
Friend WithEvents EncryptToolStripMenuItem As ToolStripMenuItem
|
Friend WithEvents EncryptToolStripMenuItem As ToolStripMenuItem
|
||||||
Friend WithEvents Button5 As Button
|
Friend WithEvents Button5 As Button
|
||||||
Friend WithEvents TextBox1 As TextBox
|
Friend WithEvents TextBox1 As TextBox
|
||||||
|
Friend WithEvents txtAttachment As TextBox
|
||||||
|
Friend WithEvents Label6 As Label
|
||||||
|
Friend WithEvents Button6 As Button
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -260,7 +260,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI
|
||||||
DAAAAk1TRnQBSQFMAgEBAwEAAVABAwFQAQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
DAAAAk1TRnQBSQFMAgEBAwEAAXgBAwF4AQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
|
|||||||
@@ -826,17 +826,44 @@ Public Class frmMain
|
|||||||
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
|
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
|
||||||
Dim sClient = New SmtpClient(EMAIL_SMTPTextBox.Text)
|
Dim sClient = New SmtpClient(EMAIL_SMTPTextBox.Text)
|
||||||
Dim mymesssage As New MailMessage
|
Dim mymesssage As New MailMessage
|
||||||
sClient.Port = 587
|
sClient.Port = PORTTextBox.Text
|
||||||
sClient.EnableSsl = True
|
If AUTH_TYPEComboBox.Text = "SSL" Then
|
||||||
|
sClient.EnableSsl = True
|
||||||
|
Else
|
||||||
|
sClient.EnableSsl = False
|
||||||
|
End If
|
||||||
|
|
||||||
sClient.Credentials = New NetworkCredential(EMAIL_USERTextBox.Text, PWPlain)
|
sClient.Credentials = New NetworkCredential(EMAIL_USERTextBox.Text, PWPlain)
|
||||||
sClient.UseDefaultCredentials = False
|
sClient.UseDefaultCredentials = False
|
||||||
mymesssage.Body = "Test"
|
|
||||||
mymesssage.From = New MailAddress(EMAIL_FROMTextBox.Text)
|
|
||||||
mymesssage.Subject = "TestSubject"
|
|
||||||
mymesssage.CC.Add(New MailAddress(txtTestmail.Text))
|
|
||||||
sClient.Send(mymesssage)
|
|
||||||
Catch ex As Exception
|
|
||||||
|
|
||||||
|
mymesssage.Body = $"This is the body (text will be replaced within profile)! <br> mailsmtp: {EMAIL_SMTPTextBox.Text} <br> mailport: {PORTTextBox.Text} <br> mailUser: {EMAIL_USERTextBox.Text} <br> mailPW: XXXX <br> AUTH_TYPE: {AUTH_TYPEComboBox.Text}"
|
||||||
|
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(mymesssage.Body)
|
||||||
|
htmlView.ContentType = New System.Net.Mime.ContentType("text/html")
|
||||||
|
mymesssage.AlternateViews.Add(htmlView)
|
||||||
|
|
||||||
|
mymesssage.From = New MailAddress(EMAIL_FROMTextBox.Text)
|
||||||
|
mymesssage.Subject = "TestSubject from RAW Method"
|
||||||
|
mymesssage.To.Add(New MailAddress(txtTestmail.Text))
|
||||||
|
|
||||||
|
If txtAttachment.Text <> String.Empty Then
|
||||||
|
Dim oAttment As String = txtAttachment.Text.Replace("W:\", "\\windream\objects\")
|
||||||
|
|
||||||
|
If System.IO.File.Exists(oAttment) Then
|
||||||
|
Logger.Info($"working on attachment {oAttment}...")
|
||||||
|
Dim oAttachment As New System.Net.Mail.Attachment(oAttment)
|
||||||
|
|
||||||
|
mymesssage.Attachments.Add(oAttachment)
|
||||||
|
Else
|
||||||
|
MsgBox($"Attachment {oAttment.ToString} is not existing - Mail won't be send!")
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
sClient.Send(mymesssage)
|
||||||
|
MsgBox("Email has been sent!")
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
@@ -851,9 +878,9 @@ Public Class frmMain
|
|||||||
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
|
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
|
||||||
|
|
||||||
|
|
||||||
If _email.Testmail("Testmail DD Windream-ResultHandler", "This is the body (text will be replaced within profile)", txtTestmail.Text,
|
If _email.Email_Send("Testmail from GUI WMResultHandler", "This is the body (text will be replaced within profile)", txtTestmail.Text,
|
||||||
EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, "") = True Then
|
EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, txtAttachment.Text, True) = True Then
|
||||||
MsgBox("Email was send successfully.", MsgBoxStyle.Information)
|
MsgBox("Email(s) has/have been sent successfully.", MsgBoxStyle.Information)
|
||||||
Else
|
Else
|
||||||
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
|
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
|
||||||
End If
|
End If
|
||||||
@@ -962,4 +989,18 @@ Public Class frmMain
|
|||||||
Private Sub LOG_ERRORS_ONLYCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles LOG_ERRORS_ONLYCheckBox.CheckedChanged
|
Private Sub LOG_ERRORS_ONLYCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles LOG_ERRORS_ONLYCheckBox.CheckedChanged
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
|
||||||
|
Dim oFD As OpenFileDialog = New OpenFileDialog()
|
||||||
|
|
||||||
|
oFD.Title = "Get a test-attachment:"
|
||||||
|
'oFD.InitialDirectory = "C:\"
|
||||||
|
oFD.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
|
||||||
|
oFD.FilterIndex = 2
|
||||||
|
oFD.RestoreDirectory = True
|
||||||
|
|
||||||
|
If oFD.ShowDialog() = DialogResult.OK Then
|
||||||
|
txtAttachment.Text = oFD.FileName
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
Reference in New Issue
Block a user