This commit is contained in:
2020-02-26 14:53:13 +01:00
parent 1496d02e59
commit 73cb093fdf
23 changed files with 404 additions and 302 deletions

View File

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

View File

@@ -308,7 +308,7 @@ Public Class clsDateiverarbeitung
Logger.Debug("tempFilename: " & tempFilename)
'Überprüfen ob File existiert
Do While IO.File.Exists(tempFilename) = True
tempFilename = ZielPfad & "\" & Filename & "~" & version & Extension
tempFilename = ZielPfad & "\" & Filename & "_" & version & Extension
version += 1
Loop
Logger.Debug("RenameFile - OLDFilename: " & aktfile_Exportresult & " - NEWFilename: " & Path.GetFileName(tempFilename))
@@ -353,7 +353,7 @@ Public Class clsDateiverarbeitung
Dim version As Integer = 2
'Überprüfen ob File existiert
Do While IO.File.Exists(tempFilename) = True
tempFilename = ZielPfad & "\" & WMvalue & "~" & version & Extension
tempFilename = ZielPfad & "\" & WMvalue & "_" & version & Extension
version += 1
Loop
File.Copy(copybasefile, tempFilename, True)

View File

@@ -14,66 +14,6 @@ Public Class clsEmail
Sub New(MyLogger As LogConfig)
Logger = MyLogger.GetLogger()
End Sub
Public Function Testmail(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 = "")
Try
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 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
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
Return True
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
Return False
End Try
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)
@@ -134,6 +74,7 @@ Public Class clsEmail
mymesssage.Subject = mailSubject
mymesssage.To.Add(New MailAddress(oMailReceipiant))
sClient.Send(mymesssage)
Logger.Info($"Email successfully send to: [{oMailReceipiant}]!")
Next
If oError = False Then
Return True
@@ -147,153 +88,4 @@ Public Class clsEmail
End Try
End Function
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,
AUTH_TYPE As String, Optional attment As String = "")
Try
Logger.Debug($"in Email_Send_Independentsoft..")
Dim empfaenger As String()
If mailto.Contains(";") Then
empfaenger = mailto.Split(";")
Else
ReDim Preserve empfaenger(0)
empfaenger(0) = mailto
End If
Dim _error As Boolean = False
'Für jeden Empfänger eine Neue Mail erzeugen
For Each _mailempfaenger As String In empfaenger
Logger.Debug($"Working on email for {_mailempfaenger}..")
Try
Dim message As New Message()
message.From = New Mailbox(mailfrom, mailfrom)
message.[To].Add(New Mailbox(_mailempfaenger))
message.Subject = mailSubject
Logger.Debug($"Message created..")
Dim textBodyPart As New BodyPart()
textBodyPart.ContentType = New Independentsoft.Email.Mime.ContentType("text", "html", "utf-8")
textBodyPart.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable
textBodyPart.Body = mailBody
message.BodyParts.Add(textBodyPart)
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 attachment1 As New Independentsoft.Email.Mime.Attachment(attment)
If attment.ToLower.EndsWith("pdf") Then
attachment1.ContentType = New Independentsoft.Email.Mime.ContentType("application", "pdf")
ElseIf attment.ToLower.EndsWith("jpg") Then
attachment1.ContentType = New Independentsoft.Email.Mime.ContentType("application", "jpg")
ElseIf attment.ToLower.EndsWith("docx") Then
attachment1.ContentType = New Independentsoft.Email.Mime.ContentType("application", "MS-word")
End If
message.BodyParts.Add(attachment1)
Else
Logger.Warn($"Attachment {attment.ToString} is not existing - Mail won't be send!")
Return False
End If
End If
Dim client As Smtp.SmtpClient
Try
client = New Smtp.SmtpClient(mailsmtp, mailport)
Catch ex As Exception
Logger.Warn("clsEmail.Create Client: " & ex.Message)
_error = True
Continue For
End Try
'Try
' client.Connect()
'Catch ex As Exception
' Logger.Warn("clsEmail.Client.Connect: " & ex.Message)
' _error = True
' ' Continue For
'End Try
If AUTH_TYPE = "SSL" Then
client.EnableSsl = True
' client.ValidateRemoteCertificate = True
Logger.Info("Authentification via SSL.")
ElseIf AUTH_TYPE = "TLS" Then
' client.ValidateRemoteCertificate = False
client.StartTls()
client.EnableSsl = False
Logger.Info("Authentification via TLS. SSL disabled")
Else
client.EnableSsl = False
Logger.Info("Authentification NONE. SSL disabled")
End If
Try
client.Connect()
Logger.Info("Connected to Client!")
Catch ex As Exception
Logger.Warn("clsEmail.Client.Connect2: " & ex.Message)
_error = True
' Continue For
End Try
Try
If mailsmtp.Contains("office365.com") Then
client.Login(mailUser, mailPW, AuthenticationType.None)
Else
client.Login(mailUser, mailPW)
End If
Logger.Info("Logged in!")
Catch ex As Exception
Try
If mailsmtp.Contains("office365.com") Then
client.Login(mailUser, mailPW, AuthenticationType.Login)
Else
client.Login(mailUser, mailPW, AuthenticationType.None)
End If
Catch ex1 As Exception
Try
client.Login(mailUser, mailPW, AuthenticationType.Login)
Catch ex2 As Exception
Logger.Warn("clsEmail.Client.Login: " & ex.Message)
_error = True
client.Disconnect()
Continue For
End Try
End Try
End Try
Try
client.Send(message)
Logger.Info("Message to " & _mailempfaenger & " has been send.")
_error = False
Catch ex As Exception
Logger.Warn("clsEmail.Client.Send: " & ex.Message)
Try
client.Login(mailUser, mailPW, AuthenticationType.Login)
client.Send(message)
Catch ex1 As Exception
Logger.Warn("clsEmail.Client.Send2: " & ex.Message)
_error = True
client.Disconnect()
Continue For
End Try
End Try
client.Disconnect()
Catch ex As Exception
Logger.Error(ex)
_error = True
End Try
Next
If _error = True Then
Return False
Else
Return True
End If
Catch ex As Exception
Logger.Error(ex)
Return False
End Try
End Function
End Class

View File

@@ -144,7 +144,7 @@ Public Class clsProfil
Return False
End If
If windreamSucheErgebnisse.Count > 0 Then
Logger.Info(windreamSucheErgebnisse.Count & " files shall be worked!")
Logger.Info(windreamSucheErgebnisse.Count & " file(s) shall be worked!")
Logger.Debug("SELECT * FROM TBWMRH_PROFIL_JOB WHERE AKTIV = 1 AND PROFIL_ID = " & _profGUID & " ORDER BY REIHENFOLGE")
Dim DT_PROFIL_JOB As DataTable = _database.Return_Datatable("SELECT * FROM TBWMRH_PROFIL_JOB WHERE AKTIV = 1 AND PROFIL_ID = " & _profGUID & " ORDER BY REIHENFOLGE")
@@ -169,7 +169,7 @@ Public Class clsProfil
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
Case "Create Mail Attachment".ToUpper
Logger.Info("JobType: Create Mail Attachment")
Logger.Debug("JobType: Create Mail Attachment")
'XX
Dim Email_Empfänger = DR_PR_JB.Item("STRING1")
@@ -243,7 +243,7 @@ Public Class clsProfil
End If
Case "Export HDD".ToUpper
Logger.Info($"{oFileRunNo} JobType: Case Export HDD")
Logger.Debug($"{oFileRunNo} JobType: Case Export HDD")
'Für jedes Dokument in der Windream-Ergebnisliste
'For Each dok As WMObject In windreamSucheErgebnisse
' aktuelles Dokument zum Export bereitstellen
@@ -257,7 +257,7 @@ Public Class clsProfil
End If
'Next
Case "BNS json Download".ToUpper
Logger.Info($"{oFileRunNo} JobType: BNS json Download")
Logger.Debug($"{oFileRunNo} JobType: BNS json Download")
FileJobSuccessful = _dateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"))
'Case "Send to printer".ToUpper
' Logger.Info("JobType: Send to printer")
@@ -393,7 +393,6 @@ Public Class clsProfil
If arrValue Is Nothing = False Then
' MsgBox("now indexing with: " & idxvalue)
Dim oErrorOccurred = windream_index.RunIndexing(WMdok, arrIndex, arrValue, _profObjekttyp)
' 07.01.2019: Weitere Jobs bei Fehler in RunIndexing überspringen
@@ -644,27 +643,35 @@ Public Class clsProfil
Next
Case "Send InfoMail with WM-Search".ToUpper
Logger.Info("Working on CASE Send InfoMail with WM-Search.... ")
Dim oWMResults As WMObjects = windream.GetSearchDocuments(DR_PR_JB.Item("STRING5"))
If oWMResults Is Nothing Then
Logger.Warn("windreamSucheErgebnisse is nothing ( Send InfoMail with WM-Search)!", True, "clsProfil.Profil_Durchlauf")
Return False
End If
If oWMResults.Count > 0 Then
If _JobWork.New_Mail_with_attachment(DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"), DR_PR_JB.Item("STRING3"), DR_PR_JB.Item("STRING4"), clsCURRENT.DT_TBDD_EMAIL, DR_PR_JB.Item("STRING5")) = True Then
FileJobSuccessful = True
If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then
For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
For Each oWMDoc As WMObject In oWMResults
_dateiverarbeitung.Check_File_job(oWMDoc, DR_PR_FILE_JOB.Item("TYP").ToString.ToLower, DR_PR_FILE_JOB.Item("STRING1").ToString, DR_PR_FILE_JOB.Item("STRING2").ToString, _profObjekttyp, windream_index)
Next
'Dim oWMResults As WMObjects = windream.GetSearchDocuments(DR_PR_JB.Item("STRING5"))
'If oWMResults Is Nothing Then
' Logger.Warn("windreamSucheErgebnisse is nothing ( Send InfoMail with WM-Search)!", True, "clsProfil.Profil_Durchlauf")
' Return False
'End If
Try
If windreamSucheErgebnisse.Count > 0 Then
Logger.Debug("windreamSucheErgebnisse.Count > 0 .... ")
If _JobWork.New_Mail_with_attachment(DR_PR_JB.Item("STRING1"), DR_PR_JB.Item("STRING2"), DR_PR_JB.Item("STRING3"), DR_PR_JB.Item("STRING4"), clsCURRENT.DT_TBDD_EMAIL, DR_PR_JB.Item("STRING5")) = True Then
FileJobSuccessful = True
'If DT_PROFIL_FILE_JOB.Rows.Count > 0 Then
' For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
' For Each oWMDoc As WMObject In oWMResults
' _dateiverarbeitung.Check_File_job(oWMDoc, DR_PR_FILE_JOB.Item("TYP").ToString.ToLower, DR_PR_FILE_JOB.Item("STRING1").ToString, DR_PR_FILE_JOB.Item("STRING2").ToString, _profObjekttyp, windream_index)
' Next
' Next
'End If
Next
End If
Else
Logger.Info("Attention: Send InfoMail with WM-Search - windreamSucheErgebnisse.Count = 0")
FileJobSuccessful = False
End If
Else
Logger.Info("Send InfoMail with WM-Search - oWMResults.Count = 0")
End If
Catch ex As Exception
Logger.Warn($"Unexpected Error in Case [Send InfoMail with WM-Search] Error: [{ex.Message}]")
FileJobSuccessful = False
End Try
End Select
If FileJobSuccessful = True Then

View File

@@ -286,7 +286,7 @@ Public Class clsWindream_Index
'If indexname = "Tournr" Then
'End If
Logger.Info("Indexierung von Index '" & indexname & "'")
Logger.Debug("Indexierung von Index '" & indexname & "'")
Dim value = aValues(i)
Dim convertValue
@@ -562,7 +562,7 @@ Public Class clsWindream_Index
End If
'Jetzt die Nachindexierung für Vektor-Felder
oDocument.SetVariableValue(aName, myArray)
Logger.Info("'SetVariableValue' für VEKTOR erfolgreich")
Logger.Debug("'SetVariableValue' für VEKTOR erfolgreich")
End If
Else
Logger.Debug("Array der Indexwerte ist leer/Nothing - Keine Nachindexierung")