Compare commits

..

12 Commits

Author SHA1 Message Date
Developer01
ac71f0ce9a Entfernung von Oracle-Support und Refactoring
Oracle-Datenbankoperationen entfernt, Windream-Integration verbessert.
Referenzen aktualisiert und Pfade angepasst.
Timer-Logik optimiert, neue Einstellung `PMREFRESH_INTERVALL_MIN` eingeführt.
Assembly-Versionen und generierte Code-Versionen aktualisiert.
2026-05-18 10:02:33 +02:00
7f35fecfa2 MS Mailhandling und Update Service 2024-03-20 13:34:36 +01:00
45ca73af35 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/ResulHandlerMSSQL 2024-03-20 10:48:28 +01:00
48f9673472 MS Mail Handling und Manual Run 2024-03-20 10:48:16 +01:00
Jonathan Jenne
a70f006bb1 fix 2023-10-12 08:43:02 +02:00
Jonathan Jenne
36e2d97b20 fix 2023-10-11 15:08:24 +02:00
Jonathan Jenne
6add3760bd fix 2023-10-11 15:07:13 +02:00
Jonathan Jenne
2a76d515cb fix session 2023-10-11 15:05:08 +02:00
Jonathan Jenne
52c3939ad6 Merge branch 'recovered' 2023-10-11 15:00:28 +02:00
Jonathan Jenne
268e4d595e WIP on master: 820d09d update nlog to 5.0.5, .net to 4.6.2 2023-10-11 14:50:23 +02:00
Jonathan Jenne
10f417eb7c index on master: 820d09d update nlog to 5.0.5, .net to 4.6.2 2023-10-11 14:50:23 +02:00
Jonathan Jenne
90868864ab untracked files on master: 820d09d update nlog to 5.0.5, .net to 4.6.2 2023-10-11 14:50:23 +02:00
18 changed files with 734 additions and 853 deletions

View File

@@ -44,30 +44,33 @@
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.5.4.2, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="DigitalData.Modules.Base, Version=1.3.6.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Messaging">
<HintPath>..\..\..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath>
<Reference Include="DigitalData.Modules.Logging, Version=2.6.3.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="Interop.WINDREAMLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath>
<Reference Include="DigitalData.Modules.Messaging, Version=1.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath>
</Reference>
<Reference Include="Interop.WINDREAMLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WINDREAMLib.dll</HintPath>
</Reference>
<Reference Include="Interop.WMOBRWSLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOBRWSLib.dll</HintPath>
<HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Interop.WMOSRCHLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOSRCHLib.dll</HintPath>
<HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WMOSRCHLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Interop.WMOTOOLLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll</HintPath>
<HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WMOTOOLLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.CSharp" />

View File

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

View File

@@ -26,103 +26,6 @@ Public Class clsDatabase
End Try
End Function
Public Function ExecuteonOracleDb(CONSTRING As String, ByVal plsqlcommand As String)
Try
Logger.Debug("plsqlcommand: " & plsqlcommand)
' die nötigen Variablen definieren
Dim result As Object = Nothing
Dim conn As New OracleConnectionStringBuilder
Dim Oracle_Conn As OracleConnection = New OracleConnection(CONSTRING)
Dim Oracle_Command As OracleCommand = Nothing
Dim DataAdapter As OracleDataAdapter = Nothing
' Verbindung zur Datenbank aufbauen
Try
Oracle_Conn.Open()
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonOracleDb(OpenConnection)")
Return False
End Try
' SQL-Abfrage definieren
Try
Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn)
Oracle_Command.AddToStatementCache = True
Catch ex As Exception
Logger.Warn($"PLSQL-Command: [{plsqlcommand}]")
Logger.Error(ex)
'clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine")
Oracle_Conn.Close()
Return False
End Try
' *** Ausführen des Command ***
If Command() IsNot Nothing Then
Try
Oracle_Command.ExecuteNonQuery()
' DB-Connection schliessen
Oracle_Conn.Close()
Return True
Catch ex As Exception
Logger.Warn($"PLSQL-Command: [{plsqlcommand}]")
Logger.Error(ex)
'clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
Oracle_Conn.Close()
Return False
End Try
Else
Logger.Info("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")")
' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte
' Eintrag in Logdatei machen
'clsLogger.Add("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
Return False
End If
Catch ex As Exception
Logger.Warn($"PLSQL-Command: [{plsqlcommand}]")
Logger.Error(ex)
'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
Return False
End Try
End Function
Public Function Oracle_CS_Test(CONSTRING As String)
Try
Dim conn As New OracleConnectionStringBuilder
Dim Oracle_Conn As OracleConnection = New OracleConnection(CONSTRING)
' Verbindung zur Datenbank aufbauen
Try
Oracle_Conn.Open()
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add(ex.Message, True, "clsDatatabase.Oracle_CS_Test(OpenConnection)")
Return False
End Try
Oracle_Conn.Close()
Return True
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add("Unexpected Error in Oracle_CS_Test: " & ex.Message, True, "clsDatatabase.Oracle_CS_Test")
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
Return False
End Try
End Function
Public Function MSSQL_CS_Test(CONSTRING As String)
Try
@@ -331,71 +234,4 @@ Public Class clsDatabase
Return Nothing
End Try
End Function
Public Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String)
Dim result
Try
Logger.Debug("cmdscalar: " & cmdscalar)
Dim SQLconnect As New OracleConnection
Dim SQLcommand As New OracleCommand
SQLconnect.ConnectionString = OracleConnection
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo
SQLcommand.CommandText = cmdscalar
result = SQLcommand.ExecuteScalar()
SQLcommand.Dispose()
SQLconnect.Close()
Return result
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add("Error in OracleExecute_Scalar: " & ex.Message, True)
'clsLogger.Add("#SQL: " & cmdscalar, False)
Return Nothing
End Try
End Function
Public Function OracleExecute_non_Query(ExecuteCMD As String, OracleConnection As String, Optional userInput As Boolean = False)
Try
Logger.Debug("ExecuteCMD: " & ExecuteCMD)
Dim SQLconnect As New OracleConnection
Dim SQLcommand As OracleCommand
SQLconnect.ConnectionString = OracleConnection
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo
SQLcommand.CommandText = ExecuteCMD
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add("Error in OracleExecute_non_Query: " & ex.Message, True)
'clsLogger.Add("#SQL: " & ExecuteCMD, False)
Return False
End Try
End Function
Public Function Oracle_Return_Datatable(Select_anweisung As String, OracleConnection As String, Optional userInput As Boolean = False)
Try
Logger.Debug("Select_anweisung: " & Select_anweisung)
Dim SQLconnect As New OracleConnection
Dim SQLcommand As OracleCommand
SQLconnect.ConnectionString = OracleConnection
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = Select_anweisung
Dim adapter1 As OracleDataAdapter = New OracleDataAdapter(SQLcommand)
Dim dt As DataTable = New DataTable()
adapter1.Fill(dt)
SQLconnect.Close()
Return dt
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add("Error in Oracle_Return_Datatable: " & ex.Message, True)
'clsLogger.Add("#SQL: " & Select_anweisung, False)
Return Nothing
End Try
End Function
End Class

View File

@@ -531,16 +531,11 @@ Public Class clsDateiverarbeitung
Return False
End If
If _database.ExecuteonOracleDb(OracleCS, result) = True Then
Return True
Else
Logger.Warn($"Executing Oracle Command is no longer implemented")
Return False
End If
Catch ex As Exception
Logger.Error(ex)
Return False
End Try
End Function

View File

@@ -57,7 +57,8 @@ Public Class clsJob_Work
If Attachment_Filename <> String.Empty Then
oAttMt.Add(Attachment_Filename)
End If
If _mail.Connect(oMAILSMTP, oMAIL_PORT, oMAIL_USER, oPWPlain, oMAIL_AUTH_TYPE) = True Then
Dim oSession = _mail.Connect(oMAILSMTP, oMAIL_PORT, oMAIL_USER, oPWPlain, oMAIL_AUTH_TYPE)
If oSession.Connected = True Then
Logger.Info($"MAIL: Connection to {oMAILSMTP} successfull!")
If _mail.SendMail(oSendto, oMAILFROM, Email_subject, Email_Body, Now, oAttMt, 0) = True Then
Return True

View File

@@ -5,10 +5,12 @@ Imports Newtonsoft.Json
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Messaging
Imports DigitalData.Modules.Messaging.Mail
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
@@ -19,27 +21,28 @@ 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)
Public Function Init(PROFIL_ID As Integer, pManual As Boolean)
Try
Logger.Debug("Start Initialisierung Profil für GUID: " & PROFIL_ID.ToString)
Dim DT As DataTable = _database.Return_Datatable("Select * from TBWMRH_PROFIL where GUID = " & PROFIL_ID)
If DT.Rows.Count > 0 Then
If DT.Rows.Count = 1 Then
For Each DR As DataRow In DT.Rows
_profGUID = PROFIL_ID
_Profilname = CStr(DR.Item("Profilname"))
Logger.Debug("Check Profilname '" & _Profilname & "', GUID: " & _profGUID & " geladen")
' Überprüfen ob Profil aktiv oder inaktiv
If CBool(DR.Item("Aktiv")) = False Then
If CBool(DR.Item("Aktiv")) = False And pManual = False Then
Logger.Info("## Profil '" & _Profilname & "' ist inaktiv geschaltet")
Return False
Else
@@ -64,23 +67,24 @@ Public Class clsProfil
End Function
'Durchlauf des Profils wird aus dem Service gestartet wenn Init = True war
Public Function Profil_Durchlauf(manually As Boolean) As Boolean
Public Function Profil_Durchlauf(pManRun As Boolean) As Boolean
Dim _error As Boolean = False
Try
Dim Run_Profile As Boolean = False
Dim oRunProfile As Boolean = False
If pManRun = False Then
'Soll die Verarbeitung heute durchgeführt werden??
Dim Dayofweek As Integer = My.Computer.Clock.LocalTime.DayOfWeek
Dim SUBS As Integer = 0
Dim RUNTODAY As Integer = 0
If Dayofweek = 0 Then
SUBS = 6
Else
End If
RUNTODAY = _profDay.Substring(Dayofweek - 1, 1)
If _profDay.Substring(Dayofweek - 1, 1) = 1 Then
oRunProfile = True
Else
Logger.Info("Verarbeitung für JETZT NICHT konfiguriert")
End If
'Verarbeitung soll heute durchgeführt werden
Logger.Debug("Verarbeitung soll heute durchgeführt werden!")
Logger.Debug("_RunType: " & _profRunType)
@@ -96,11 +100,11 @@ Public Class clsProfil
Logger.Debug("_RunTime.ToShortTimeString: " & _RunTime.ToShortTimeString & " # " & "Now.ToShortTimeString: " & Now.ToShortTimeString)
If Time_next.ToString.StartsWith("11.11.1911") Then
Logger.Info("Manueller Durchlauf des Profils - 11.11.1911")
Run_Profile = True
oRunProfile = True
Else
'Ist die Uhrzeit in der Range
If _RunTime.ToShortTimeString = Now.ToShortTimeString Then
Run_Profile = True
oRunProfile = True
Else
Logger.Debug("No run as " & _RunTime.ToShortTimeString & "<>" & Now.ToShortTimeString)
End If
@@ -115,18 +119,20 @@ Public Class clsProfil
If DiffMin >= CInt(arr(1)) Then
'Den Durchlauf erlauben
Run_Profile = True
oRunProfile = True
Else
Logger.Debug("No run as DiffMin (" & DiffMin & ") <= Intervall(" & arr(1) & ")")
End If
Case Else
Logger.Warn("_profRunType konnte nicht ausgewertet werden - " & arr(0))
End Select
If Run_Profile = False And manually = True Then
Logger.Info("This is a manual run of profile!")
Run_Profile = True
Else
Logger.Info("### This is a manual run of profile! ###")
oRunProfile = True
End If
If Run_Profile = True Then
If oRunProfile = True Then
Logger.Debug($"'{_Profilname}' - Run_Profile = True")
clsCURRENT.DT_TBDD_EMAIL = _database.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
clsCURRENT.PROFILE_HandledFiles = Nothing
@@ -170,6 +176,15 @@ Public Class clsProfil
Dim oCountDocs As Integer = 0
Dim oEmailAttachment_path As String
Dim MAILFROM As String = ""
Dim MAILSMTP As String = ""
Dim MAIL_USER As String = ""
Dim MAIL_USER_PW As String = ""
Dim MAIL_AUTH_TYPE As String = "SSL"
Dim MAIL_PORT As String = "25"
Dim MAILSession As SessionInfo
For Each WMdok As WMObject In windreamSucheErgebnisse
oEmailAttachment_path = String.Empty
@@ -215,14 +230,8 @@ Public Class clsProfil
Return False
End If
Dim MAILFROM As String = ""
Dim MAILSMTP As String = ""
Dim MAIL_USER As String = ""
Dim MAIL_USER_PW As String = ""
Dim MAIL_AUTH_TYPE As String = "SSL"
Dim MAIL_PORT As String = "25"
If oCountDocs = 1 Then
Logger.Debug("##### EMAIL BASICS CONSTRUCT (oCountDocs = 1) ######")
For Each emailrow As DataRow In clsCURRENT.DT_TBDD_EMAIL.Rows
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
MAILFROM = emailrow.Item("EMAIL_FROM")
@@ -252,6 +261,8 @@ Public Class clsProfil
Email_Empfänger = _dateiverarbeitung.REGEX_REPLACE(WMdok, Email_Empfänger)
Logger.Debug("Email_Empfänger: " & Email_Empfänger)
End If
End If
oEmail_Betreff = _dateiverarbeitung.REGEX_REPLACE(WMdok, oEmail_Betreff)
Email_Body = _dateiverarbeitung.REGEX_REPLACE(WMdok, Email_Body)
@@ -270,24 +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 Then
If _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE) = True Then
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.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
@@ -350,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
@@ -482,7 +505,8 @@ Public Class clsProfil
Try
If Not IsNothing(_email) Then
If _email.Connected2Server = True Then
_email.DisconnectFromServer()
Logger.Warn("KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!")
_email.Disconnect()
End If
End If
@@ -602,12 +626,12 @@ Public Class clsProfil
Dim EMAIL_PROFIL = DR_PR_JB.Item("STRING4")
Logger.Debug("EMAIL_PROFIL: " & EMAIL_PROFIL)
If Not IsNothing(clsCURRENT.DT_TBDD_EMAIL) And clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
Dim MAILFROM As String = ""
Dim MAILSMTP As String = ""
Dim MAIL_USER As String = ""
Dim MAIL_USER_PW As String = ""
Dim MAIL_AUTH_TYPE As String = "SSL"
Dim MAIL_PORT As Integer
MAILFROM = ""
MAILSMTP = ""
MAIL_USER = ""
MAIL_USER_PW = ""
MAIL_AUTH_TYPE = "SSL"
MAIL_PORT = 0
For Each emailrow As DataRow In clsCURRENT.DT_TBDD_EMAIL.Rows
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
@@ -646,17 +670,28 @@ Public Class clsProfil
oAttMt.Add(clsCURRENT.CONCATTED_FILE)
clsCURRENT.TEMP_FILES.Add(clsCURRENT.CONCATTED_FILE)
End If
If Not IsNothing(_email) And _email.Connected2Server = False And MAILSession.Connected = True Then
Logger.Debug("Re/init MAILSession(2)...")
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!")
FileJobSuccessful = False
End If
If _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE) = True Then
End If
If MAILSession.Connected = True Then
If _email.SendMail(oSendto, MAILFROM, Email_Betreff, Email_Body, Now, oAttMt, 0) = True Then
FileJobSuccessful = True
Else
Logger.Warn("Email_SendMail2 was not successfull!")
Logger.Warn("Email_SendMail(2) was not successfull!")
FileJobSuccessful = False
End If
_email.DisconnectFromServer()
_email.Disconnect()
Else
Logger.Warn($"Email_ConnectToServer2 was not successfull!")
Logger.Warn($"Email_ConnectToServer(2) was not successfull!")
FileJobSuccessful = False
End If
@@ -766,9 +801,7 @@ Public Class clsProfil
End If
End If
Else
Logger.Info("Verarbeitung für JETZT NICHT konfiguriert")
End If
'Abschluss des Profiles
_database.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0 WHERE GUID = " & _profGUID)
Return True

View File

@@ -10,7 +10,7 @@ Imports WMOSRCHLib
Imports System.IO
Imports DigitalData.Modules.Logging
Public Class clsWindream_allgemein
Public Class ClsWindream_allgemein
Dim Logger As Logger
#Region "+++++ Konstanten +++++"
Const DEBUG = AUS
@@ -59,7 +59,13 @@ Public Class clsWindream_allgemein
Try
Dim oHourDifference As Integer
oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now))
'If IsNothing(CURRENToWMConnect) Or oHourDifference >= 2 Then
If Not IsNothing(CURRENToWMSession) AndAlso CURRENToWMSession.aLoggedin AndAlso oHourDifference < 2 Then
Logger.Debug("oWMSession already created!")
oWMSession = CURRENToWMSession
Return True
End If
Try
'Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
oWMSession = CreateObject("Windream.WMSession", GetCurrentServer)
@@ -260,7 +266,8 @@ Public Class clsWindream_allgemein
For Each index As String In indexnamen
If index = indexname Then Return True
Next
Logger.Warn($"Index '{indexname}' does not exist in Objecttype '{objekttyp}'")
Return False
Catch ex As Exception
Logger.Error(ex)

View File

@@ -19,8 +19,8 @@
<setting name="SQLSERVER_CS_PMRefresh" serializeAs="String">
<value>Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd</value>
</setting>
<setting name="PMREFRESH_INTERVALL" serializeAs="String">
<value>2</value>
<setting name="PMREFRESH_INTERVALL_MIN" serializeAs="String">
<value>1</value>
</setting>
</DDWDResultHandler.My.MySettings>
</applicationSettings>

View File

@@ -67,7 +67,7 @@ Public Class DDWDResultHandler
' Set the Interval
Timer_Durchlauf.Interval = 60000
Timer_Durchlauf.Enabled = True
Logger.Debug("Timer gestartet")
Logger.Debug("Timer Resulthandler gestartet")
' Und den Durchlauf das erste Mal starten
@@ -84,9 +84,11 @@ Public Class DDWDResultHandler
AddHandler TimerPMRefresh.Elapsed, AddressOf ThreadPMRefreshRun
' Set the Interval
TimerPMRefresh.Interval = 120000 '2 minutes
Dim oIntervallMS = (My.Settings.PMREFRESH_INTERVALL_MIN * 60000)
TimerPMRefresh.Interval = oIntervallMS
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
TimerPMRefresh.Enabled = True
Logger.Debug($"Timer PM Refresh gestartet, mit Intervall {My.Settings.PMREFRESH_INTERVALL_MIN} Minuten ")
'End If
If My.Settings.SQLSERVER_CS_RH = "" And My.Settings.SQLSERVER_CS_PMRefresh <> "" Then
Logger.Info("Thread PM Refresh will now be started for initial Run as Resulthandler's ConnString is empty...")
@@ -167,7 +169,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)

View File

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

View File

@@ -15,7 +15,7 @@ Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
@@ -76,10 +76,10 @@ Namespace My
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("2")> _
Public ReadOnly Property PMREFRESH_INTERVALL() As Integer
Global.System.Configuration.DefaultSettingValueAttribute("1")> _
Public ReadOnly Property PMREFRESH_INTERVALL_MIN() As Integer
Get
Return CType(Me("PMREFRESH_INTERVALL"),Integer)
Return CType(Me("PMREFRESH_INTERVALL_MIN"),Integer)
End Get
End Property
End Class

View File

@@ -8,8 +8,8 @@
<Setting Name="SQLSERVER_CS_PMRefresh" Type="System.String" Scope="Application">
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd</Value>
</Setting>
<Setting Name="PMREFRESH_INTERVALL" Type="System.Int32" Scope="Application">
<Value Profile="(Default)">2</Value>
<Setting Name="PMREFRESH_INTERVALL_MIN" Type="System.Int32" Scope="Application">
<Value Profile="(Default)">1</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -52,8 +52,9 @@
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
<Reference Include="DigitalData.Modules.Logging, Version=2.6.3.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>

View File

@@ -8,7 +8,8 @@
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="ResultHandler_Konfig.My.MySettings.SQLSERVER_CS" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd" providerName="System.Data.SqlClient" />
<add name="ResultHandler_Konfig.My.MySettings.SQLSERVER_CS" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />

View File

@@ -15,7 +15,7 @@ Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
@@ -54,17 +54,6 @@ Namespace My
End Get
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Secu"& _
"rity Info=True;User ID=sa;Password=dd")> _
Public ReadOnly Property SQLSERVER_CS() As String
Get
Return CType(Me("SQLSERVER_CS"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
@@ -100,6 +89,17 @@ Namespace My
Me("Debug_Active") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Secu"& _
"rity Info=True;User ID=sa;Password=dd")> _
Public ReadOnly Property SQLSERVER_CS() As String
Get
Return CType(Me("SQLSERVER_CS"),String)
End Get
End Property
End Class
End Namespace

View File

@@ -2,14 +2,6 @@
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles />
<Settings>
<Setting Name="SQLSERVER_CS" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
&lt;ConnectionString&gt;Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd</Value>
</Setting>
<Setting Name="BNSAPI_HOST" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
@@ -19,5 +11,13 @@
<Setting Name="Debug_Active" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="SQLSERVER_CS" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
&lt;ConnectionString&gt;Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -4,6 +4,7 @@ Imports DigitalData.Modules.Messaging
Imports DD_WMResulthandler
Imports System.Net.Mail
Imports System.Net
Imports DigitalData.Modules.Messaging.Mail
Public Class frmMain
Private _windream As clsWindream_allgemein
@@ -732,7 +733,7 @@ Public Class frmMain
For Each DR As DataRow In DT.Rows
clsCURRENT._PROFIL_ID = CInt(DR.Item("GUID"))
'Und nun das Profil durchlaufen
Dim initresult = _profil.Init(clsCURRENT._PROFIL_ID)
Dim initresult = _profil.Init(clsCURRENT._PROFIL_ID, True)
If initresult = True Then
_profil.Profil_Durchlauf(True)
ElseIf initresult = False Then
@@ -911,26 +912,27 @@ Public Class frmMain
End Sub
Private Sub btnsendtestmail_Click(sender As Object, e As EventArgs) Handles btnsendtestmail.Click
' Dim _ss2email As New Email(MyLogger)
Dim llmail As New MailSender(MyLogger)
Dim oSender As New MailSender(MyLogger)
If txtTestmailTo.Text <> String.Empty Then
My.Settings.Save()
Dim wrapper As New clsEncryption("!35452didalog=")
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
If llmail.ConnectToServer(EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text) = True Then
Dim oSession = oSender.Connect(EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text)
If oSession.Connected = True Then
Dim oSendto As New List(Of String)
oSendto.Add(txtTestmailTo.Text)
Dim oAttMt As New List(Of String)
If txtAttachment.Text <> String.Empty Then
oAttMt.Add(txtAttachment.Text)
End If
If llmail.SendMail(oSendto, EMAIL_FROMTextBox.Text, "Testmail from GUI WMResultHandler", "TEST", Now, oAttMt, 1) = True Then
If oSender.SendMail(oSendto, EMAIL_FROMTextBox.Text, "Testmail from GUI WMResultHandler", "TEST", Now, oAttMt, 1) = True Then
MsgBox("Email has been sent successfully.", MsgBoxStyle.Information)
Else
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
End If
llmail.DisconnectFromServer()
oSender.Disconnect()
Else
MsgBox("Could not connect to server. Please check the log.", MsgBoxStyle.Exclamation)