Compare commits

..

4 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
14 changed files with 704 additions and 829 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

@@ -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,25 +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
Dim oSession = _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE)
If oSession.Connected = 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
@@ -351,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
@@ -483,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
@@ -603,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
@@ -647,18 +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
Dim oSession = _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE)
If oSession.Connected = 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.Disconnect()
Else
Logger.Warn($"Email_ConnectToServer2 was not successfull!")
Logger.Warn($"Email_ConnectToServer(2) was not successfull!")
FileJobSuccessful = False
End If
@@ -768,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

@@ -733,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