Big update: MessageID replaced with Hash of MessageID

This commit is contained in:
Jonathan Jenne 2023-07-03 16:35:24 +02:00
parent 2b21650c53
commit aa5a268e14
14 changed files with 523 additions and 538 deletions

View File

@ -59,6 +59,10 @@
<Reference Include="DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraPrinting.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DigitalData.Modules.Database, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\wisag_check_Att\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging"> <Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference> </Reference>

View File

@ -2,13 +2,15 @@
Imports System.IO Imports System.IO
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports DigitalData.EMLProfiler Imports DigitalData.EMLProfiler
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Messaging Imports DigitalData.Modules.Messaging
Public Class frmMain Public Class frmMain
Private Logger As DigitalData.Modules.Logging.Logger Private Logger As DigitalData.Modules.Logging.Logger
Private Shared MyLogger As LogConfig Private Shared LogConfig As LogConfig
Private _database As clsDatabase 'Private _database As clsDatabase
Private _database As MSSQLServer
Private _Encryption As clsEncryption Private _Encryption As clsEncryption
Private _windream As clsWindream_allgemein Private _windream As clsWindream_allgemein
' Private _email As clsEmail ' Private _email As clsEmail
@ -18,7 +20,8 @@ Public Class frmMain
Private _SQLServerConString As String Private _SQLServerConString As String
Private _Worklist As List(Of String) Private _Worklist As List(Of String)
Private _limilab As DigitalData.Modules.Messaging.Limilab Private _limilab As DigitalData.Modules.Messaging.Limilab
Private _ConfigManager As ClassConfig
Private _Config As ClassConfig.Config
Public Sub New() Public Sub New()
@ -31,22 +34,22 @@ Public Class frmMain
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
Try Try
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName, My.Application.Info.ProductName) LogConfig = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName, My.Application.Info.ProductName)
_limilab = New Limilab(MyLogger) _limilab = New Limilab(LogConfig)
Logger = MyLogger.GetLogger() Logger = LogConfig.GetLogger()
If My.Settings.DEBUG = True Then If My.Settings.DEBUG = True Then
Logger.Info("!! DEBUG is ACTIVE !!") Logger.Info("!! DEBUG is ACTIVE !!")
End If End If
MyLogger.Debug = My.Settings.DEBUG LogConfig.Debug = My.Settings.DEBUG
InitDatabase() InitDatabase()
ToolStripProgressBar1.Visible = False ToolStripProgressBar1.Visible = False
Logger.Debug($"AppConfig is located at: [{AppDomain.CurrentDomain.SetupInformation.ConfigurationFile}]") Logger.Debug($"AppConfig is located at: [{AppDomain.CurrentDomain.SetupInformation.ConfigurationFile}]")
If My.Settings.USE_WM Then If My.Settings.USE_WM Then
_windream = New clsWindream_allgemein(MyLogger) _windream = New clsWindream_allgemein(LogConfig)
End If End If
'_email = New clsEmail(MyLogger) '_email = New clsEmail(MyLogger)
_emailIMAP = New clsEmailIMAP(MyLogger, _SQLServerConString) _emailIMAP = New clsEmailIMAP(LogConfig)
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in FormLoad") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in FormLoad")
End Try End Try
@ -62,7 +65,7 @@ Public Class frmMain
ObjektTypenEintragen() ObjektTypenEintragen()
End If End If
_Encryption = New clsEncryption("!35452didalog=", MyLogger) _Encryption = New clsEncryption("!35452didalog=", LogConfig)
End Sub End Sub
Private Function Set_ConnectionStrings() Private Function Set_ConnectionStrings()
Try Try
@ -168,8 +171,15 @@ Public Class frmMain
Logger.Debug($"SQL-Server ConnString is [{_SQLServerConString}]") Logger.Debug($"SQL-Server ConnString is [{_SQLServerConString}]")
_database = New clsDatabase(MyLogger, My.Settings.MyConnectionString) _ConfigManager = New ClassConfig(LogConfig, _database)
dbResult = _database.Init(My.Settings.MyConnectionString) _Config = _ConfigManager.GetConfig()
If _Config Is Nothing Then
MsgBox("Configuration could not be loaded. Please check the Logfile.", MsgBoxStyle.Critical, Text)
End If
'_database = New clsDatabase(MyLogger, My.Settings.MyConnectionString)
'dbResult = _database.Init(My.Settings.MyConnectionString)
Else Else
MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information)
@ -178,7 +188,7 @@ Public Class frmMain
tslblstatus.BackColor = Color.Red tslblstatus.BackColor = Color.Red
End If End If
If dbResult = False Then If dbResult = False Then
MsgBox("Error in init database. (Connection failed) More information in the logfile.", MsgBoxStyle.Critical) MsgBox("Error in init database. (Connection failed) More information in the logfile.", MsgBoxStyle.Critical, Text)
Return False Return False
Else Else
Return True Return True
@ -259,8 +269,13 @@ Public Class frmMain
'Set the construction string 'Set the construction string
MyConnectionString = con MyConnectionString = con
My.Settings.MyConnectionString = MyConnectionString My.Settings.MyConnectionString = MyConnectionString
_database = New MSSQLServer(LogConfig, MyConnectionString)
_ConfigManager = New ClassConfig(LogConfig, _database)
'csb.ConnectionString 'csb.ConnectionString
_database.Init(MyConnectionString) '_database.Init(MyConnectionString)
My.Settings.Save() My.Settings.Save()
If chkbxUserAut.Checked = False Then If chkbxUserAut.Checked = False Then
@ -285,15 +300,15 @@ Public Class frmMain
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
If _RunwithLocalemail = False Then If _RunwithLocalemail = False Then
MyLogger.Debug = True LogConfig.Debug = True
Dim _work As New clsWorker(My.Settings.EML_LIMITATION_SENDER, MyLogger, _SQLServerConString, GUIDTextBox.Text, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW, Dim _work As New clsWorker(My.Settings.EML_LIMITATION_SENDER, LogConfig, _SQLServerConString, _Config.WindreamConnectionString, GUIDTextBox.Text, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW,
My.Settings.USE_WM, ToolStripEmailAccountID.Text, "EmailProfilerTestClient") My.Settings.USE_WM, ToolStripEmailAccountID.Text, "EmailProfilerTestClient")
_work.Start_WorkingProfiles() _work.Start_WorkingProfiles()
Else Else
For Each ofile As String In _Worklist For Each ofile As String In _Worklist
Logger.Info($"## Manual working on file {ofile} ... ") Logger.Info($"## Manual working on file {ofile} ... ")
Dim _work As New clsWorker(My.Settings.EML_LIMITATION_SENDER, MyLogger, _SQLServerConString, GUIDTextBox.Text, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW, My.Settings.USE_WM, ToolStripEmailAccountID.Text, "EmailProfilerTestClient", ofile) Dim _work As New clsWorker(My.Settings.EML_LIMITATION_SENDER, LogConfig, _SQLServerConString, _Config.WindreamConnectionString, GUIDTextBox.Text, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW, My.Settings.USE_WM, ToolStripEmailAccountID.Text, "EmailProfilerTestClient", ofile)
_work.Start_WorkingProfiles(True) _work.Start_WorkingProfiles(True)
Next Next
@ -311,7 +326,7 @@ Public Class frmMain
fi.Delete() fi.Delete()
Next Next
Catch ex As Exception Catch ex As Exception
If MyLogger.Debug = True Then If LogConfig.Debug = True Then
Logger.Warn($"Could not delete the tempfile: {ex.Message}") Logger.Warn($"Could not delete the tempfile: {ex.Message}")
End If End If
End Try End Try
@ -391,7 +406,7 @@ Public Class frmMain
End Sub End Sub
Private Sub btnShowLogpath_Click(sender As Object, e As EventArgs) Handles btnShowLogpath.Click Private Sub btnShowLogpath_Click(sender As Object, e As EventArgs) Handles btnShowLogpath.Click
Process.Start(MyLogger.LogDirectory) Process.Start(LogConfig.LogDirectory)
End Sub End Sub
Private Sub TBEMLP_POLL_PROFILESBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Private Sub TBEMLP_POLL_PROFILESBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
@ -590,7 +605,7 @@ Public Class frmMain
Case 4 Case 4
Try Try
Dim osql = "SELECT * FROM TBDD_FUNCTION_REGEX WHERE UPPER(FUNCTION_NAME) IN (UPPER('EMAIL_PROFILER - RemoveHTMLText'),UPPER('EMAIL_PROFILER - RemoveHTMLText1'))" Dim osql = "SELECT * FROM TBDD_FUNCTION_REGEX WHERE UPPER(FUNCTION_NAME) IN (UPPER('EMAIL_PROFILER - RemoveHTMLText'),UPPER('EMAIL_PROFILER - RemoveHTMLText1'))"
Dim oDTFunctionRegex As DataTable = _database.Return_Datatable(osql) Dim oDTFunctionRegex As DataTable = _database.GetDatatable(osql)
txtRegex1.Text = oDTFunctionRegex.Rows(0).Item("REGEX") txtRegex1.Text = oDTFunctionRegex.Rows(0).Item("REGEX")
txtRegex2.Text = oDTFunctionRegex.Rows(1).Item("REGEX") txtRegex2.Text = oDTFunctionRegex.Rows(1).Item("REGEX")
txthtmlEmail.BackColor = Color.Wheat txthtmlEmail.BackColor = Color.Wheat
@ -635,10 +650,10 @@ Public Class frmMain
Private Sub LOG_ERRORS_ONLYCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles LOG_ERRORS_ONLYCheckBox.CheckedChanged Private Sub LOG_ERRORS_ONLYCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles LOG_ERRORS_ONLYCheckBox.CheckedChanged
If _LoadInProgress = True Then Exit Sub If _LoadInProgress = True Then Exit Sub
MyLogger.Debug = LOG_ERRORS_ONLYCheckBox.Checked LogConfig.Debug = LOG_ERRORS_ONLYCheckBox.Checked
My.Settings.Save() My.Settings.Save()
Dim upd = $"UPDATE TBEMLP_CONFIG SET CHANGED_WHO = '{Environment.UserName}',LOG_ERRORS_ONLY = '{LOG_ERRORS_ONLYCheckBox.Checked}' WHERE GUID = 1" Dim upd = $"UPDATE TBEMLP_CONFIG SET CHANGED_WHO = '{Environment.UserName}',LOG_ERRORS_ONLY = '{LOG_ERRORS_ONLYCheckBox.Checked}' WHERE GUID = 1"
_database.Execute_non_Query(upd) _database.ExecuteNonQuery(upd)
Load_Config() Load_Config()
End Sub End Sub
@ -672,7 +687,7 @@ Public Class frmMain
Private Sub CHECK_INTERVALL_MINUTESNumericUpDown_ValueChanged(sender As Object, e As EventArgs) Handles CHECK_INTERVALL_MINUTESNumericUpDown.ValueChanged Private Sub CHECK_INTERVALL_MINUTESNumericUpDown_ValueChanged(sender As Object, e As EventArgs) Handles CHECK_INTERVALL_MINUTESNumericUpDown.ValueChanged
If _LoadInProgress = True Then Exit Sub If _LoadInProgress = True Then Exit Sub
Dim upd = $"UPDATE TBEMLP_CONFIG SET CHANGED_WHO = '{Environment.UserName}',CHECK_INTERVALL_MINUTES = {CHECK_INTERVALL_MINUTESNumericUpDown.Value} WHERE GUID = 1" Dim upd = $"UPDATE TBEMLP_CONFIG SET CHANGED_WHO = '{Environment.UserName}',CHECK_INTERVALL_MINUTES = {CHECK_INTERVALL_MINUTESNumericUpDown.Value} WHERE GUID = 1"
_database.Execute_non_Query(upd) _database.ExecuteNonQuery(upd)
Load_Config() Load_Config()
End Sub End Sub
'Private Function GetChildren(ByVal bodyParts As BodyPartCollection) As BodyPartCollection 'Private Function GetChildren(ByVal bodyParts As BodyPartCollection) As BodyPartCollection
@ -739,7 +754,7 @@ Public Class frmMain
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btntestImap.Click Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btntestImap.Click
My.Settings.Save() My.Settings.Save()
Dim oSQL = $"SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE GUID = {EMAILIDTextBox.Text}" Dim oSQL = $"SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE GUID = {EMAILIDTextBox.Text}"
Dim oDT As DataTable = _database.Return_Datatable(oSQL) Dim oDT As DataTable = _database.GetDatatable(oSQL)
If Not IsNothing(oDT) Then If Not IsNothing(oDT) Then
If oDT.Rows.Count = 1 Then If oDT.Rows.Count = 1 Then
@ -813,7 +828,7 @@ Public Class frmMain
Private Sub btnsaveRegex_Click_1(sender As Object, e As EventArgs) Handles btnsaveRegex.Click Private Sub btnsaveRegex_Click_1(sender As Object, e As EventArgs) Handles btnsaveRegex.Click
tslblRefresh.BackColor = Color.Transparent tslblRefresh.BackColor = Color.Transparent
Dim upd = $"UPDATE TBDD_FUNCTION_REGEX SET REGEX = '{txtRegex1.Text}' WHERE UPPER(FUNCTION_NAME) = UPPER('EMAIL_PROFILER - RemoveHTMLText')" Dim upd = $"UPDATE TBDD_FUNCTION_REGEX SET REGEX = '{txtRegex1.Text}' WHERE UPPER(FUNCTION_NAME) = UPPER('EMAIL_PROFILER - RemoveHTMLText')"
If _database.Execute_non_Query(upd) = True Then If _database.ExecuteNonQuery(upd) = True Then
tslblRefresh.Text = "Regex1 saved - " & Now.ToString tslblRefresh.Text = "Regex1 saved - " & Now.ToString
tslblRefresh.BackColor = Color.Yellow tslblRefresh.BackColor = Color.Yellow
Else Else
@ -879,7 +894,7 @@ Public Class frmMain
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
tslblRefresh.BackColor = Color.Transparent tslblRefresh.BackColor = Color.Transparent
Dim upd = $"UPDATE TBDD_FUNCTION_REGEX SET REGEX = '{txtRegex2.Text}' WHERE UPPER(FUNCTION_NAME) = UPPER('EMAIL_PROFILER - RemoveHTMLText1')" Dim upd = $"UPDATE TBDD_FUNCTION_REGEX SET REGEX = '{txtRegex2.Text}' WHERE UPPER(FUNCTION_NAME) = UPPER('EMAIL_PROFILER - RemoveHTMLText1')"
If _database.Execute_non_Query(upd) = True Then If _database.ExecuteNonQuery(upd) = True Then
tslblRefresh.Text = "Regex2 saved - " & Now.ToString tslblRefresh.Text = "Regex2 saved - " & Now.ToString
tslblRefresh.BackColor = Color.Yellow tslblRefresh.BackColor = Color.Yellow
Else Else

View File

@ -0,0 +1,72 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Base
Public Class ClassConfig
Public Class Config
Public Property PathError As String
Public Property PathAttachments As String
Public Property BodyFont As String
Public Property WindreamConnectionString As String
Public Property TimerInterval As Integer
Public Property WindreamDrive As String = "W"
End Class
Private ReadOnly Logger As Logger
Private ReadOnly Database As MSSQLServer
Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer)
Logger = pLogConfig.GetLogger()
Database = pDatabase
End Sub
Private Function GetConfigTable() As DataTable
Dim oSQL As String = "SELECT * FROM TBEMLP_CONFIG"
Dim oTable As DataTable = Database.GetDatatable(oSQL)
Return oTable
End Function
Private Function GetBaseConfigTable() As DataTable
Dim oSQL As String = "SELECT * FROM TBDD_BASECONFIG"
Dim oTable As DataTable = Database.GetDatatable(oSQL)
Return oTable
End Function
Public Function GetConfig() As Config
Dim oConfigTable = GetConfigTable()
Dim oBaseTable = GetBaseConfigTable()
If oBaseTable Is Nothing Then
Logger.Warn("Config from TBDD_BASECONFIG could not be loaded!")
Return Nothing
End If
If oBaseTable.Rows.Count = 0 Then
Logger.Warn("Config from TBDD_BASECONFIG could not be loaded!")
Return Nothing
End If
If oConfigTable Is Nothing Then
Logger.Warn("Config from TBEMLP_CONFIG could not be loaded!")
Return Nothing
End If
If oConfigTable.Rows.Count = 0 Then
Logger.Warn("Config from TBEMLP_CONFIG is empty!")
Return Nothing
End If
Dim oRow As DataRow = oConfigTable.Rows.Item(0)
Dim oConfig As New Config With {
.PathAttachments = oRow.ItemEx("PATH_EMAIL_TEMP", ""),
.PathError = oRow.ItemEx("PATH_EMAIL_ERRORS", ""),
.BodyFont = oRow.ItemEx("FONT_BODY", "Arial"),
.TimerInterval = oRow.ItemEx("CHECK_INTERVALL_MINUTES", 5),
.WindreamConnectionString = oRow.ItemEx("WM_CON_STRING", ""),
.WindreamDrive = oRow.ItemEx("WM_DRIVE", "W")
}
Return oConfig
End Function
End Class

View File

@ -6,18 +6,13 @@ Imports MailBox = Limilabs.Mail.Headers.MailBox
Imports Limilabs.Client.IMAP Imports Limilabs.Client.IMAP
Public Class ClassCurrent Public Class ClassCurrent
Public Shared Property WM_CON_STRING As String
Public Shared Property WM_DRIVE As String Public Shared Property WM_DRIVE As String
Public Shared Property TIMER_INTERVALL As Integer = 5
Public Shared Property CURRENT_EMAIL_GUID As Integer Public Shared Property CURRENT_EMAIL_GUID As Integer
Public Shared Property CURRENT_PROFILE_GUID As Integer Public Shared Property CURRENT_PROFILE_GUID As Integer
Public Shared Property DTCONFIG As DataTable Public Shared Property DTCONFIG As DataTable
Public Shared Property DT_ECM_BASE_CONFIG As DataTable Public Shared Property DT_ECM_BASE_CONFIG As DataTable
Public Shared Property PATH_TEMP As String
Public Shared Property PATH_ERROR As String
Public Shared Property MAIL_BODY_FONT As String = ""
Public Shared Property MAIL_FROM As String = "" Public Shared Property MAIL_FROM As String = ""
Public Shared Property MAIL_SERVER As String = "" Public Shared Property MAIL_SERVER As String = ""
Public Shared Property MAIL_USER As String = "" Public Shared Property MAIL_USER As String = ""
@ -30,20 +25,21 @@ Public Class ClassCurrent
Public Shared Property DT_STEPS As DataTable Public Shared Property DT_STEPS As DataTable
Public Shared Property DT_INDEXING_STEPS As DataTable Public Shared Property DT_INDEXING_STEPS As DataTable
Public Shared Property CURRENToWMSession As Object
Public Shared Property CURRENToWMSession_Created As Date = Now
Public Shared Property CURRENToWMConnect As Object
Public Shared Property CURRENT_ATTMT_COUNT As Integer
Public Shared Property SUBJECT_PRAFIX As String = "EmailProfiler"
Public Shared Property CURRENT_DRIVE_CHECK As String = ""
Public Shared Property CURRENT_DRIVE_ISFULL As Boolean = False
' Public Shared Property oCURRENT_WORKMAIL_LIST As New ArrayList() ' Public Shared Property oCURRENT_WORKMAIL_LIST As New ArrayList()
Public Shared Property CURRENT_WORKMAIL_UID_LIST As New List(Of Long) Public Shared Property CURRENT_WORKMAIL_UID_LIST As New List(Of Long)
Public Shared Property CURRENT_MAIL_MESSAGE As IMail Public Shared Property CURRENT_MAIL_MESSAGE As IMail
Public Shared Property CURRENT_TEMP_MAIL_PATH As String
Public Shared Property CURRENT_MAIL_BODY_ALL As String
Public Shared Property CURRENT_MAIL_BODY_ANSWER1 As String = ""
Public Shared Property CURRENT_MAIL_BODY_Substr2 As String = ""
Public Shared Property CURRENT_MAIL_SUBJECT As String = ""
Public Shared Property CURRENT_MAIL_FROM As String = ""
Public Shared Property CURRENT_MAIL_MESSAGE_ID As String = ""
Public Shared Property CURRENT_MAIL_UID As Long
Public Shared Property CURRENT_MAIL_PROCESS_NAME As String
Public Shared Property CURRENT_ImapObject As Imap Public Shared Property CURRENT_ImapObject As Imap
Public Shared Property CURRENT_MAIL_UID As Long
Public Shared Property DeleteMail As Boolean = False Public Shared Property DeleteMail As Boolean = False
Public Shared Property CURRENT_POLL_TYPE As String Public Shared Property CURRENT_POLL_TYPE As String

View File

@ -106,6 +106,7 @@
<Import Include="System.Threading.Tasks" /> <Import Include="System.Threading.Tasks" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="ClassConfig.vb" />
<Compile Include="ClassCurrent.vb" /> <Compile Include="ClassCurrent.vb" />
<Compile Include="clsDatabase.vb" /> <Compile Include="clsDatabase.vb" />
<Compile Include="clsEmail.IMAP.vb" /> <Compile Include="clsEmail.IMAP.vb" />
@ -116,7 +117,6 @@
<Compile Include="clsWorkEmail.vb" /> <Compile Include="clsWorkEmail.vb" />
<Compile Include="clsWorker.vb" /> <Compile Include="clsWorker.vb" />
<Compile Include="MailContainer.vb" /> <Compile Include="MailContainer.vb" />
<Compile Include="ModuleCurrent.vb" />
<Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb"> <Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>

View File

@ -1,52 +1,64 @@
Imports Limilabs.Mail Imports Limilabs.Mail
Imports DigitalData.Modules.Language Imports DigitalData.Modules.Base
Public Class MailContainer Public Class MailContainer
Private ReadOnly Uid As String Private Const SUBJECT_MAX_LENGTH = 25
Private ReadOnly FilteredMessageId
''' <summary>
''' The Mail object created by Limilabs
''' </summary>
Public ReadOnly Property Mail As IMail Public ReadOnly Property Mail As IMail
''' <summary>
Public ReadOnly Property Subject As String ''' The IMAP Id coming from the IMAP folder. Used to reference the mail.
Get ''' </summary>
Return Mail.Subject Public ReadOnly Property ImapId As Integer
End Get ''' <summary>
End Property ''' The original MessageID from the eml file
''' </summary>
Public ReadOnly Property MessageIdOriginal As String
''' <summary>
''' The new MessageID, which is generated by hashing the original MessageID
''' </summary>
Public ReadOnly Property MessageId As String Public ReadOnly Property MessageId As String
Get ''' <summary>
Return Mail.MessageID ''' The subject, truncated to SUBJECT_MAX_LENGTH characters
End Get ''' </summary>
End Property Public ReadOnly Property Subject As String
Public ReadOnly Property MessageIdPathSafe As String Public ReadOnly Property SenderDomain As String
Get Public ReadOnly Property SenderAddress As String
Return FilteredMessageId
End Get
End Property
Public Property BodyComplete As String
Public Property BodySubstring1 As String
Public Property BodySubstring2 As String
Public Sub New(pMail As IMail, pImapId As Integer)
Public Sub New(pMail As IMail, pUid As String)
Mail = pMail Mail = pMail
Uid = pUid ImapId = pImapId
FilteredMessageId = ProcessMessageId(pMail.MessageID)
MessageIdOriginal = pMail.MessageID
MessageId = StringEx.GetHash(pMail.MessageID)
Subject = ObjectEx.NotNull(pMail.Subject.Truncate(SUBJECT_MAX_LENGTH), String.Empty)
SenderAddress = GetSenderAddress(pMail)
SenderDomain = GetSenderDomain(pMail)
End Sub End Sub
Private Function ProcessMessageId(pOriginalMessageId As String) As String
If pOriginalMessageId Is Nothing Then
Return Guid.NewGuid.ToString
End If
If TypeOf pOriginalMessageId Is String AndAlso pOriginalMessageId.Length = 0 Then Private Function GetSenderAddress(pMail As IMail)
Return Guid.NewGuid.ToString Dim oMailBox = pMail.From.FirstOrDefault()
If oMailBox Is Nothing Then
Return "InvalidSenderAddress"
Else
Return oMailBox.Address
End If End If
End Function
Return Utils.RemoveInvalidCharacters(pOriginalMessageId) Private Function GetSenderDomain(pMail As IMail)
Dim oMailBox = pMail.From.FirstOrDefault()
If oMailBox Is Nothing Then
Return "InvalidSenderAddress"
Else
Return oMailBox.DomainPart
End If
End Function End Function
End Class End Class

View File

@ -1,9 +0,0 @@
Module ModuleCurrent
Public CURRENToWMSession As Object
Public CURRENToWMSession_Created As Date = Now
Public CURRENToWMConnect As Object
Public CURRENT_ATTMT_COUNT As Integer
Public SUBJECT_PRAFIX As String = "EmailProfiler"
Public CURRENT_DRIVE_CHECK As String = ""
Public CURRENT_DRIVE_ISFULL As Boolean = False
End Module

View File

@ -10,7 +10,7 @@ Public Class clsDatabase
MyLogger = LogConf MyLogger = LogConf
Init(ConStr) Init(ConStr)
End Sub End Sub
Public Function Init(ConString As String) Public Function Init(ConString As String) As Boolean
Try Try
Dim SQLconnect As New SqlClient.SqlConnection Dim SQLconnect As New SqlClient.SqlConnection
@ -21,11 +21,11 @@ Public Class clsDatabase
DTCONFIG = Return_Datatable("select * from TBEMLP_CONFIG") DTCONFIG = Return_Datatable("select * from TBEMLP_CONFIG")
If Not IsNothing(DTCONFIG) Then If Not IsNothing(DTCONFIG) Then
If DTCONFIG.Rows.Count = 1 Then If DTCONFIG.Rows.Count = 1 Then
PATH_TEMP = DTCONFIG.Rows(0).Item("PATH_EMAIL_TEMP") 'PATH_EXTRACT_ATTACHMENTS = DTCONFIG.Rows(0).Item("PATH_EMAIL_TEMP")
PATH_ERROR = DTCONFIG.Rows(0).Item("PATH_EMAIL_ERRORS") 'PATH_ERROR = DTCONFIG.Rows(0).Item("PATH_EMAIL_ERRORS")
MAIL_BODY_FONT = DTCONFIG.Rows(0).Item("FONT_BODY") 'MAIL_BODY_FONT = DTCONFIG.Rows(0).Item("FONT_BODY")
WM_CON_STRING = DTCONFIG.Rows(0).Item("WM_CON_STRING") 'WM_CON_STRING = DTCONFIG.Rows(0).Item("WM_CON_STRING")
TIMER_INTERVALL = DTCONFIG.Rows(0).Item("CHECK_INTERVALL_MINUTES") 'TIMER_INTERVALL = DTCONFIG.Rows(0).Item("CHECK_INTERVALL_MINUTES")
End If End If
End If End If
DT_ECM_BASE_CONFIG = Return_Datatable("select * from TBDD_BASECONFIG") DT_ECM_BASE_CONFIG = Return_Datatable("select * from TBDD_BASECONFIG")
@ -132,25 +132,4 @@ Public Class clsDatabase
Return Nothing Return Nothing
End Try End Try
End Function End Function
Public Function Execute_Scalar_CS(cmdscalar As String, constring As String)
Dim result
Try
Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand
SQLconnect.ConnectionString = constring
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)
Logger.Warn("Unexpected Error in Execute_Scalar_CS: " & ex.Message)
Logger.Warn("SQL: " & cmdscalar)
Return Nothing
End Try
End Function
End Class End Class

View File

@ -10,12 +10,10 @@ Imports DigitalData.Modules.Messaging
Public Class clsEmailIMAP Public Class clsEmailIMAP
Private Shared Logger As Logger Private Shared Logger As Logger
Private Shared LogConfig As LogConfig Private Shared LogConfig As LogConfig
Private _DB_MSSQL As clsDatabase
Private _limilab As Limilab Private _limilab As Limilab
Sub New(LogConf As LogConfig, ECMConnectionString As String) Sub New(LogConf As LogConfig)
LogConfig = LogConf LogConfig = LogConf
Logger = LogConf.GetLogger Logger = LogConf.GetLogger
_DB_MSSQL = New clsDatabase(LogConf, ECMConnectionString)
_limilab = New Limilab(LogConf) _limilab = New Limilab(LogConf)
End Sub End Sub
Public Function FetchIMAPMessagesLimilab(Server As String, Port As Integer, Username As String, Password As String, AuthType As String) As Boolean Public Function FetchIMAPMessagesLimilab(Server As String, Port As Integer, Username As String, Password As String, AuthType As String) As Boolean

View File

@ -9,6 +9,7 @@ Imports WMOBRWSLib
Imports WMOSRCHLib Imports WMOSRCHLib
Imports System.IO Imports System.IO
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.EMLProfiler.ClassCurrent
Public Class clsWindream_allgemein Public Class clsWindream_allgemein

File diff suppressed because it is too large Load Diff

View File

@ -4,37 +4,37 @@ Imports DigitalData.Modules.Messaging
Imports Limilabs.Mail Imports Limilabs.Mail
Imports Limilabs.Mail.MIME Imports Limilabs.Mail.MIME
Imports Limilabs.Mail.Headers Imports Limilabs.Mail.Headers
Imports DigitalData.Modules.Database
Public Class clsWorker Public Class clsWorker
Private Shared Logger As Logger Private Shared Logger As Logger
Private MyLogConfig As LogConfig
'Private _email As clsEmail 'Private _email As clsEmail
Private _emailIMAP As clsEmailIMAP Private ReadOnly _emailIMAP As clsEmailIMAP
Private _Database As clsDatabase 'Private _Database As clsDatabase
Private _USE_WM As Boolean = False Private ReadOnly _Database As MSSQLServer
Private _windream As clsWindream_allgemein Private ReadOnly _USE_WM As Boolean = False
Private _windream_index As clsWindream_Index Private ReadOnly _windream As clsWindream_allgemein
Private _workmail As clsWorkEmail Private ReadOnly _windream_index As clsWindream_Index
Private _wrapper As clsEncryption Private ReadOnly _workmail As clsWorkEmail
Private _POLL_PROFILEID As Integer = 0 Private ReadOnly _wrapper As clsEncryption
Private Eml_Limitation_Sender As String = "" Private ReadOnly _POLL_PROFILEID As Integer = 0
Dim cs As String Private ReadOnly Eml_Limitation_Sender As String = ""
Sub New(EML_LIMITATION As String, LogConf As LogConfig, ConStr As String, POLL_PROFILEID As Integer, FB_DATASOURCE As String, FB_DATABASE As String, FB_USER As String, FB_PW As String, USE_WM As Boolean, EmailAccountID As Integer, EmlProfPraefix As String, Optional plocaleml As String = "") Sub New(EML_LIMITATION As String, pLogConfig As LogConfig, ConStr As String, WMConStr As String, POLL_PROFILEID As Integer, FB_DATASOURCE As String, FB_DATABASE As String, FB_USER As String, FB_PW As String, USE_WM As Boolean, EmailAccountID As Integer, EmlProfPraefix As String, Optional plocaleml As String = "")
MyLogConfig = LogConf Logger = pLogConfig.GetLogger
Logger = LogConf.GetLogger _emailIMAP = New clsEmailIMAP(pLogConfig)
_emailIMAP = New clsEmailIMAP(LogConf, ConStr) _Database = New MSSQLServer(pLogConfig, ConStr)
_Database = New clsDatabase(LogConf, ConStr)
cs = ConStr
_USE_WM = USE_WM _USE_WM = USE_WM
Eml_Limitation_Sender = EML_LIMITATION Eml_Limitation_Sender = EML_LIMITATION
If _USE_WM Then If _USE_WM Then
_windream = New clsWindream_allgemein(LogConf) _windream = New clsWindream_allgemein(pLogConfig)
_windream_index = New clsWindream_Index(LogConf) _windream_index = New clsWindream_Index(pLogConfig)
End If End If
_workmail = New clsWorkEmail(LogConf, ConStr, FB_DATASOURCE, FB_DATABASE, FB_USER, FB_PW, USE_WM, EmailAccountID, EmlProfPraefix) _workmail = New clsWorkEmail(pLogConfig, ConStr, WMConStr, FB_DATASOURCE, FB_DATABASE, FB_USER, FB_PW, USE_WM, EmailAccountID, EmlProfPraefix)
_wrapper = New clsEncryption("!35452didalog=", LogConf) _wrapper = New clsEncryption("!35452didalog=", pLogConfig)
_POLL_PROFILEID = POLL_PROFILEID _POLL_PROFILEID = POLL_PROFILEID
ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = plocaleml CURRENT_DEBUG_LOCAL_EMAIL = plocaleml
End Sub End Sub
Public Sub Start_WorkingProfiles(Optional LocalEmail As Boolean = False) Public Sub Start_WorkingProfiles(Optional LocalEmail As Boolean = False)
@ -53,7 +53,7 @@ Public Class clsWorker
Next Next
TEMP_FILES.Clear() TEMP_FILES.Clear()
If _Database.Init(cs) = True Then If _Database.DBInitialized = True Then
Logger.Debug("now windream_init... ") Logger.Debug("now windream_init... ")
If _USE_WM Then If _USE_WM Then
If _windream.Init = False Then If _windream.Init = False Then
@ -69,8 +69,8 @@ Public Class clsWorker
Else Else
osql &= " WHERE GUID = " & _POLL_PROFILEID osql &= " WHERE GUID = " & _POLL_PROFILEID
End If End If
Dim DT_TBDD_EMAIL As DataTable = _Database.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1") Dim DT_TBDD_EMAIL As DataTable = _Database.GetDatatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
Dim DT_PROFILES = _Database.Return_Datatable(osql) Dim DT_PROFILES = _Database.GetDatatable(osql)
If Not IsNothing(DT_PROFILES) Then If Not IsNothing(DT_PROFILES) Then
If DT_PROFILES.Rows.Count > 0 Then If DT_PROFILES.Rows.Count > 0 Then
Logger.Debug("count of active profiles: " & DT_PROFILES.Rows.Count.ToString) Logger.Debug("count of active profiles: " & DT_PROFILES.Rows.Count.ToString)
@ -78,14 +78,14 @@ Public Class clsWorker
CURRENT_PROFILE_GUID = oDR_Profile.Item("GUID") CURRENT_PROFILE_GUID = oDR_Profile.Item("GUID")
DT_POLL_PROCESS = Nothing DT_POLL_PROCESS = Nothing
Dim sql = String.Format("SELECT * FROM TBEMLP_POLL_PROCESS WHERE PROFILE_ID = {0} AND ACTIVE = 1", CURRENT_PROFILE_GUID) Dim sql = String.Format("SELECT * FROM TBEMLP_POLL_PROCESS WHERE PROFILE_ID = {0} AND ACTIVE = 1", CURRENT_PROFILE_GUID)
DT_POLL_PROCESS = _Database.Return_Datatable(sql) DT_POLL_PROCESS = _Database.GetDatatable(sql)
If Not IsNothing(DT_POLL_PROCESS) Then If Not IsNothing(DT_POLL_PROCESS) Then
If DT_POLL_PROCESS.Rows.Count = 0 Then If DT_POLL_PROCESS.Rows.Count = 0 Then
Logger.Info("No processes configured for this Email-Profile - " & sql) Logger.Info("No processes configured for this Email-Profile - " & sql)
Continue For Continue For
Else Else
DT_STEPS = Nothing DT_STEPS = Nothing
DT_STEPS = _Database.Return_Datatable(String.Format("SELECT T.* FROM TBEMLP_POLL_STEPS T,TBEMLP_POLL_PROCESS T1 WHERE T.PROCESS_ID = T1.GUID AND T1.PROFILE_ID = {0} AND T1.ACTIVE = 1", CURRENT_PROFILE_GUID)) DT_STEPS = _Database.GetDatatable(String.Format("SELECT T.* FROM TBEMLP_POLL_STEPS T,TBEMLP_POLL_PROCESS T1 WHERE T.PROCESS_ID = T1.GUID AND T1.PROFILE_ID = {0} AND T1.ACTIVE = 1", CURRENT_PROFILE_GUID))
End If End If
Else Else
@ -175,7 +175,7 @@ Public Class clsWorker
If Not IsNothing(oEmail) Then If Not IsNothing(oEmail) Then
If LIMIT_EMAIL_FROM Then If LIMIT_EMAIL_FROM Then
Dim oEmailFrom As String Dim oEmailFrom As String = ""
For Each m As MailBox In oEmail.From For Each m As MailBox In oEmail.From
oEmailFrom = m.Address oEmailFrom = m.Address
Next Next
@ -185,7 +185,7 @@ Public Class clsWorker
End If End If
End If End If
If _workmail.WorkEmailMessage(oEmail, oUID) = True Then If _workmail.WorkEmailMessage(oEmail, oUID) = True Then
If ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = "" Then If CURRENT_DEBUG_LOCAL_EMAIL = "" Then
EMAIL_DELETE() EMAIL_DELETE()
End If End If
End If End If
@ -216,7 +216,7 @@ Public Class clsWorker
Logger.Warn("For the Email-Profile ID " & CURRENT_EMAIL_GUID & " no record could be found!") Logger.Warn("For the Email-Profile ID " & CURRENT_EMAIL_GUID & " no record could be found!")
End If End If
_Database.Execute_non_Query("UPDATE TBEMLP_POLL_PROFILES SET LAST_TICK = GETDATE() WHERE GUID = " & oDR_Profile.Item("GUID").ToString) _Database.ExecuteNonQuery("UPDATE TBEMLP_POLL_PROFILES SET LAST_TICK = GETDATE() WHERE GUID = " & oDR_Profile.Item("GUID").ToString)
Else Else
Logger.Warn("For the Email-Profile ID " & CURRENT_EMAIL_GUID & " no record could be found! Check wether Email-Profile is active!") Logger.Warn("For the Email-Profile ID " & CURRENT_EMAIL_GUID & " no record could be found! Check wether Email-Profile is active!")
End If End If
@ -245,7 +245,7 @@ Public Class clsWorker
End If End If
End If End If
_Database.Execute_non_Query("UPDATE TBEMLP_CONFIG SET LAST_TICK = GETDATE() WHERE GUID = 1") _Database.ExecuteNonQuery("UPDATE TBEMLP_CONFIG SET LAST_TICK = GETDATE() WHERE GUID = 1")
End If End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)

View File

@ -1,15 +1,20 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.IO Imports System.IO
Imports DigitalData.EMLProfiler Imports DigitalData.EMLProfiler
Imports DigitalData.EMLProfiler.ClassCurrent Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Public Class MyService Public Class MyService
#Region "+++++ variables +++++" #Region "+++++ variables +++++"
Private _threadRunner As BackgroundWorker Private _threadRunner As BackgroundWorker
Private MyLogger As LogConfig Private LogConfig As LogConfig
Private Logger As Logger Private Logger As Logger
Private _database As clsDatabase 'Private _database As clsDatabase
Private _workmail As clsWorkEmail Private _workmail As clsWorkEmail
Private _ConfigManager As ClassConfig
Private _Config As ClassConfig.Config
Private Database As MSSQLServer
#End Region #End Region
Public Sub New() Public Sub New()
MyBase.New() MyBase.New()
@ -19,22 +24,9 @@ Public Class MyService
' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge ' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge
' ausführen, damit der Dienst gestartet werden kann. ' ausführen, damit der Dienst gestartet werden kann.
Try Try
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, "Digital Data", "DD EmailProfiler") Dim oLogPath = Path.Combine(My.Application.Info.DirectoryPath, "Log")
Logger = MyLogger.GetLogger LogConfig = New LogConfig(LogConfig.PathType.CustomPath, oLogPath, Nothing, "Digital Data", "DD EmailProfiler", 30)
Logger = LogConfig.GetLogger
Try
Dim directory As New IO.DirectoryInfo(MyLogger.LogDirectory)
For Each file As IO.FileInfo In directory.GetFiles
If (Now - file.CreationTime).Days > 29 Then
file.Delete()
Else
Exit For
End If
Next
Catch ex As Exception
End Try
Logger.Info("## Service started ## ") Logger.Info("## Service started ## ")
@ -43,23 +35,29 @@ Public Class MyService
Else Else
If My.Settings.DEBUG = True Then If My.Settings.DEBUG = True Then
Logger.Info("DEBUG ACTIVATED") Logger.Info("DEBUG ACTIVATED")
MyLogger.Debug = True LogConfig.Debug = True
Else Else
MyLogger.Debug = False LogConfig.Debug = False
End If End If
_database = New clsDatabase(MyLogger, My.Settings.MyConnectionString) Database = New MSSQLServer(LogConfig, My.Settings.MyConnectionString)
_ConfigManager = New ClassConfig(LogConfig, Database)
_Config = _ConfigManager.GetConfig()
'_database = New clsDatabase(MyLogger, My.Settings.MyConnectionString)
Logger.Debug("_database and _email initialized") Logger.Debug("_database and _email initialized")
_workmail = New clsWorkEmail(MyLogger, My.Settings.MyConnectionString, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW, _workmail = New clsWorkEmail(LogConfig, My.Settings.MyConnectionString, _Config.WindreamConnectionString, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW,
My.Settings.USE_WM, My.Settings.EmailAccountID, My.Settings.EmailProfilerPraefix) My.Settings.USE_WM, My.Settings.EmailAccountID, My.Settings.EmailProfilerPraefix)
Logger.Debug("_workmail initialized") Logger.Debug("_workmail initialized")
If _database.Init(My.Settings.MyConnectionString) = False Then
If Database.DBInitialized = False Then
Logger.Warn("ATTENTION: No Connection was established '" & My.Settings.MyConnectionString & "'!") Logger.Warn("ATTENTION: No Connection was established '" & My.Settings.MyConnectionString & "'!")
Else Else
'### Thread für das nachträgliche Setzen von Rechten generieren '### Thread für das nachträgliche Setzen von Rechten generieren
_threadRunner = New BackgroundWorker() _threadRunner = New BackgroundWorker With {
_threadRunner.WorkerReportsProgress = True .WorkerReportsProgress = True,
_threadRunner.WorkerSupportsCancellation = True .WorkerSupportsCancellation = True
}
AddHandler _threadRunner.DoWork, AddressOf RUN_THREAD AddHandler _threadRunner.DoWork, AddressOf RUN_THREAD
AddHandler _threadRunner.RunWorkerCompleted, AddressOf Thread1_Completed AddHandler _threadRunner.RunWorkerCompleted, AddressOf Thread1_Completed
'### Den Timer generieren '### Den Timer generieren
@ -67,7 +65,7 @@ Public Class MyService
'Das Event hinterlegen welches bei "Tick" ausgelöst wird 'Das Event hinterlegen welches bei "Tick" ausgelöst wird
AddHandler Timer_Durchlauf.Elapsed, AddressOf Thread_Run AddHandler Timer_Durchlauf.Elapsed, AddressOf Thread_Run
' Set the Interval ' Set the Interval
Timer_Durchlauf.Interval = (TIMER_INTERVALL * 60000) Timer_Durchlauf.Interval = (_Config.TimerInterval * 60000)
Timer_Durchlauf.Enabled = True Timer_Durchlauf.Enabled = True
Logger.Debug("...Timer started.") Logger.Debug("...Timer started.")
' Und den Durchlauf das erste Mal starten ' Und den Durchlauf das erste Mal starten
@ -86,7 +84,7 @@ Public Class MyService
Public Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Public Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
Try Try
Dim notcompleted As Boolean = False Dim notcompleted As Boolean = False
Dim _work As New clsWorker(My.Settings.EML_LIMITATION_SENDER, MyLogger, My.Settings.MyConnectionString, 0, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW, My.Settings.USE_WM, My.Settings.EmailAccountID, My.Settings.EmailProfilerPraefix) Dim _work As New clsWorker(My.Settings.EML_LIMITATION_SENDER, LogConfig, My.Settings.MyConnectionString, _Config.WindreamConnectionString, 0, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PW, My.Settings.USE_WM, My.Settings.EmailAccountID, My.Settings.EmailProfilerPraefix)
_work.Start_WorkingProfiles() _work.Start_WorkingProfiles()
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)

View File

@ -48,6 +48,12 @@
<OptionInfer>On</OptionInfer> <OptionInfer>On</OptionInfer>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\wisag_check_Att\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language"> <Reference Include="DigitalData.Modules.Language">
<HintPath>..\..\..\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath> <HintPath>..\..\..\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath>
</Reference> </Reference>