diff --git a/app/ClassWMResulthandler/clsProfil.vb b/app/ClassWMResulthandler/clsProfil.vb index 7803883..ee2431d 100644 --- a/app/ClassWMResulthandler/clsProfil.vb +++ b/app/ClassWMResulthandler/clsProfil.vb @@ -10,6 +10,7 @@ Imports DigitalData.Modules.Messaging.Mail.MailSession Public Class clsProfil Inherits clsCURRENT Dim Logger As Logger + Dim MyLogConfig As LogConfig #Region "***** Variablen *****" Private Shared CriticalError As Boolean = False Private windream As clsWindream_allgemein @@ -20,14 +21,15 @@ Public Class clsProfil Private _email As MailSender Private Shared WD_aktivesDokument As WMObject #End Region - Sub New(MyLogger As LogConfig, PROFIL_ID As Integer) - Logger = MyLogger.GetLogger() - windream = New clsWindream_allgemein(MyLogger) - windream_index = New clsWindream_Index(MyLogger) - _database = New clsDatabase(MyLogger) - _dateiverarbeitung = New clsDateiverarbeitung(MyLogger) - _email = New MailSender(MyLogger) - _JobWork = New clsJob_Work(MyLogger, _email) + Sub New(pLogConfig As LogConfig, PROFIL_ID As Integer) + Logger = pLogConfig.GetLogger() + MyLogConfig = pLogConfig + windream = New clsWindream_allgemein(pLogConfig) + windream_index = New clsWindream_Index(pLogConfig) + _database = New clsDatabase(pLogConfig) + _dateiverarbeitung = New clsDateiverarbeitung(pLogConfig) + _email = New MailSender(pLogConfig) + _JobWork = New clsJob_Work(pLogConfig, _email) End Sub Public Function Init(PROFIL_ID As Integer, pManual As Boolean) @@ -279,28 +281,36 @@ Public Class clsProfil oAttMt.Add(oAttachment_FullFilename) clsCURRENT.TEMP_FILES.Add(oAttachment_FullFilename) End If - Logger.Debug("Now _email and Messaging...") - If Not IsNothing(_email) And _email.Connected2Server = False And MAILSession.Connected = True Then - Logger.Debug("Re/init MAILSession...") + + Dim oReInit As Boolean = False + If oCountDocs = 1 Or IsNothing(MAILSession) Then + Logger.Debug("Init MAILSession...") + oReInit = True + ElseIf IsNothing(_email) Or _email.Connected2Server = False Or MAILSession.Connected = False Then + Logger.Info("Re-Init MAILSession...") + oReInit = True + End If + If oReInit = True Then + _email = New MailSender(MyLogConfig) MAILSession = _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE) If MAILSession.Connected = True Then Logger.Info($"MAIL: Connection to {MAILSMTP} successfull!") Else - Logger.Warn($"{oFileRunNo} Email_ConnectToServer was not successfull!") + Logger.Warn($"{oFileRunNo} - _email.Connect was not successfull!") FileJobSuccessful = False End If - End If + If Not IsNothing(_email) And _email.SendMail(oSendto, MAILFROM, oEmail_Betreff, Email_Body, Now, oAttMt, 0) = True Then FileJobSuccessful = True Else FileJobSuccessful = False - Logger.Debug("Setting MAILSession.Connected to [false]") + Logger.Info("Setting MAILSession.Connected to [false]") MAILSession.Connected = False If IsNothing(_email) Then Logger.Info($"_email is nothing") Else - Logger.Info($"{oFileRunNo} Email_SendMail was not successfull!") + Logger.Info($"{oFileRunNo} - Email_SendMail was not successfull!") End If @@ -363,7 +373,7 @@ Public Class clsProfil 'Für jeden File-Job For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows If FileJobSuccessful = False Then - Logger.Info($"{oFileRunNo} AUSSTIEG FOR SCHLEIFE cause FileJobSuccessful = False...") + Logger.Info($"{oFileRunNo} FileJobSuccessful = False...Exit For") Exit For End If @@ -495,6 +505,7 @@ Public Class clsProfil Try If Not IsNothing(_email) Then If _email.Connected2Server = True Then + Logger.Warn("KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!") _email.Disconnect() End If diff --git a/app/DDWDResultHandler/DDWDResultHandler.vb b/app/DDWDResultHandler/DDWDResultHandler.vb index 2e2a358..a6891f3 100644 --- a/app/DDWDResultHandler/DDWDResultHandler.vb +++ b/app/DDWDResultHandler/DDWDResultHandler.vb @@ -167,7 +167,7 @@ Public Class DDWDResultHandler _PROFIL_ID = CInt(DR.Item("GUID")) _profil = New clsProfil(MyLogger, _PROFIL_ID) 'Und nun das Profil durchlaufen - Dim initresult = _profil.Init(_PROFIL_ID) + Dim initresult = _profil.Init(_PROFIL_ID, False) If initresult = True Then '##### Profildurchlauf ######## _profil.Profil_Durchlauf(False) diff --git a/app/DDWDResultHandler/My Project/AssemblyInfo.vb b/app/DDWDResultHandler/My Project/AssemblyInfo.vb index ffe81eb..c15dd4e 100644 --- a/app/DDWDResultHandler/My Project/AssemblyInfo.vb +++ b/app/DDWDResultHandler/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + +