MS: Emailservice und Logging

This commit is contained in:
2020-01-06 13:00:25 +01:00
parent bc18b693bb
commit f20d0e5edd
6 changed files with 272 additions and 21 deletions

View File

@@ -64,6 +64,7 @@ Public Class EmailService
End If
If My.Settings.SQLSERVER_CS_TEST <> String.Empty Then
_MSSQL_Test = New MSSQLServer(_LogConfig, My.Settings.SQLSERVER_CS_TEST)
If _MSSQL_Test.DBInitialized = False Then
@@ -128,7 +129,7 @@ Public Class EmailService
Private Sub QueueTimer_Elapsed(sender As Object, e As ElapsedEventArgs)
If Not _EmailQueue.IsBusy Then
_EmailQueue.RunWorkerAsync()
_Logger.Info("Worker is ready, executing.")
_Logger.Debug("Worker is ready, executing.")
Else
_Logger.Info("Worker is busy, skipping execution.")
End If
@@ -137,17 +138,17 @@ Public Class EmailService
Private Sub EmailQueue_DoWork(sender As Object, e As DoWorkEventArgs)
Try
If _Firebird?._DBInitialized Then
_Logger.Info("Starting Firebird Sending")
_Logger.Debug("Starting Firebird Sending")
SendEmailFrom(DatabaseType.Firebird, Nothing)
End If
If _MSSQL?.DBInitialized Then
_Logger.Info("Starting MSSQL Sending")
_Logger.Debug("Starting MSSQL Sending")
SendEmailFrom(DatabaseType.MSSQL, _MSSQL)
End If
If _MSSQL_Test?.DBInitialized Then
_Logger.Info("Starting MSSQL Test Sending")
_Logger.Debug("Starting MSSQL Test Sending")
SendEmailFrom(DatabaseType.MSSQL, _MSSQL_Test)
End If
Catch ex As Exception
@@ -197,7 +198,7 @@ Public Class EmailService
End If
If oEmailQueue.Rows.Count = 0 Then
_Logger.Info("Email Queue is empty. Exiting.")
_Logger.Debug("Email Queue is empty. Exiting.")
Return False
End If
@@ -295,9 +296,10 @@ Public Class EmailService
End If
Dim oEmailSent As Boolean = False
oEmailSent = _Email.NewEmail(oEmailTo, oSubject, oBody, oMailFrom, oMailSMTP, oMailport, oMailUser, oMailPW, oAuthType, "DDEmailService", oAttachment)
oEmailSent = _Email.New_EmailISoft(oSubject, oBody, oEmailTo, oMailFrom, oMailSMTP, oMailport, oMailUser, oMailPW, oAuthType, "DDEmailService", oAttachment)
If oEmailSent Then
Select Case Database
Case DatabaseType.Firebird
oSQL = $"UPDATE TBEDM_EMAIL_QUEUE SET EMAIL_SENT = CURRENT_TIMESTAMP,COMMENT = '{oComment}' WHERE GUID = {oGuid}"
@@ -312,12 +314,14 @@ Public Class EmailService
End If
MSSQLInstance.NewExecutenonQuery(oSQL)
End Select
_Logger.Info($"Email has been send to: {oEmailTo} - Subject: {oSubject}")
Threading.Thread.Sleep(500)
End If
Next
Return True
Catch ex As Exception
_Logger.Warn("Error in SendEmailFromFirebird. Email was not sent.")
_Logger.Warn("Error in SendEmailFrom. Email was not sent.")
_Logger.Error(ex)
Return False
End Try