Compare commits

...

53 Commits

Author SHA1 Message Date
OlgunR
9b321269ce Refactor monitoring grid to use GridViewMonitoring
Replaces all references to GridView5 with GridViewMonitoring for clarity and maintainability. Updates layout save/restore logic to use the new view, adds a helper for loading layouts, and improves default layout restoration. Cleans up designer and resource files, removing obsolete entries and ensuring correct initialization.
2026-01-28 11:28:19 +01:00
OlgunR
5d4cdb2814 Add save/restore layout buttons to Monitoring grid
Added "Save Layout" and "Restore Default Layout" buttons to the Monitoring tab, allowing users to save and restore the grid layout for GridView5. The layout is persisted as an XML file in the user's app data directory. On form load, the layout is restored if the file exists. Button event handlers provide user feedback, and control positions were adjusted to fit the new buttons.
2026-01-27 13:31:15 +01:00
OlgunR
c2e7d06c4c Update main form and add splash/HDR settings in app config
Switched main form from Form1 to frmMain. Removed the ApplicationType element. Added MinimumSplashScreenDisplayTime and HighDpiMode settings to support splash screen timing and high DPI configuration. Reordered XML namespaces for consistency.
2026-01-27 13:04:52 +01:00
OlgunR
b4ea5d9a00 Update version to 3.2.0 in AssemblyInfo.vb
Updated AssemblyTrademark to "3.2.0" and AssemblyVersion to "3.2.0.0" to reflect the new release version. No other changes were made.
2026-01-27 12:50:04 +01:00
OlgunR
da9b468b01 Revert "Update main form, config, and bump version to 3.2.0"
This reverts commit 180d5d7d3a.
2026-01-27 12:48:12 +01:00
OlgunR
180d5d7d3a Update main form, config, and bump version to 3.2.0
Changed startup form to frmMain and updated XML config with new elements. Increased trademark and assembly versions to 3.2.0.
2026-01-27 12:46:38 +01:00
OlgunR
234510e5db Make GridView non-editable in frmMain
Set gridView.OptionsBehavior.Editable to False after best-fitting columns, ensuring users cannot edit cell values directly in the UI.
2026-01-27 12:08:47 +01:00
OlgunR
7ce7a11a30 Auto-fit grid columns using BestFitColumns()
Replaced manual column width settings for "GUID", "PROFILE_ID", and "EMAIL_SUBJECT" with gridView.BestFitColumns() to automatically adjust all column widths based on their content. This improves maintainability and ensures optimal display of data.
2026-01-27 10:56:29 +01:00
OlgunR
80b33eb3b2 Add Refresh button to Monitoring tab in frmMain
Added a "Refresh" button with icon to the Monitoring tab's config panel. The button reloads the monitoring grid via a new event handler. Refactored designer code for better organization and updated .resx tray locations. No functional resource changes.
2026-01-27 10:36:57 +01:00
OlgunR
4a62d456d0 Set explicit grid column widths and enable auto width
Replaced best-fit columns with fixed widths for GUID, PROFILE_ID, and EMAIL_SUBJECT. Enabled ColumnAutoWidth for improved layout control.
2026-01-27 10:31:59 +01:00
OlgunR
2c1c63563c Add Monitoring tab with configurable email history grid
Introduced a new "Monitoring" tab to the main form, featuring a configuration panel for specifying the number of emails to display and a DevExpress grid to show recent email history from TBEMLP_HISTORY. Added logic to validate the configuration input and dynamically reload the grid. Updated designer and code-behind to support new controls and event handlers. Made minor layout adjustments to accommodate the new UI elements.
2026-01-27 10:13:02 +01:00
OlgunR
6272a11eb1 Add empty "Monitoring" tab to frmMain interface
Added a new tab page named "Monitoring" to the frmMain form and included it in the main TabControl. Updated the designer and resource files to declare the new tab and re-add related image and metadata entries. No functional logic has been implemented for the new tab yet.
2026-01-27 09:54:56 +01:00
OlgunR
8a7a9ebb67 Adjust UI layout and localization in frmMain form
- Updated location and size of ACTIVECheckBox controls for better alignment
- Reduced BindingNavigator4 width and increased GridControl3 height
- Changed BindingNavigatorCountItem1 text from German to English
- Added/updated TrayLocation metadata and restored SVG tab icons in frmMain.resx
- No changes to core logic; cosmetic and localization improvements only
2026-01-27 09:06:10 +01:00
OlgunR
6d12be2033 Update to .NET 4.8, English comments, and config tweaks
Upgraded project to target .NET Framework 4.8 and updated App.config accordingly. Replaced German with English comments in auto-generated designer files for better accessibility. Made minor XML formatting improvements in App.config. Added OnInitialize override to set MinimumSplashScreenDisplayTime to 0. Set requireReinstallation="true" for Microsoft.IdentityModel.Abstractions in packages.config.
2026-01-26 13:44:56 +01:00
Developer01
c7ef7fe478 ImageScaling 2026-01-23 14:02:23 +01:00
Developer01
48bc6dcc26 Push release 2026-01-23 13:57:44 +01:00
Developer01
38e682dcef Update GDPicture Variablenname LicenseString 2025-12-09 16:34:04 +01:00
Developer01
543db62095 GDPicture Local 2025-12-08 15:23:29 +01:00
Developer01
44267288ef GDPictureLicense via config 2025-12-08 14:47:11 +01:00
Developer01
904c4a7f2e GD Picture 14.3.18 2025-12-08 10:09:18 +01:00
Developer01
12e9538968 clsWorkEmail 2025-12-03 13:07:09 +01:00
Developer01
f150041a33 Stage Commit clsWorkemail 2025-12-03 13:01:50 +01:00
Developer01
109d497e37 MS AssemblyInfo 2025-12-03 12:49:37 +01:00
Developer01
8fb7992c22 Oauth 2 integriert 2025-11-27 17:55:35 +01:00
7d04f4c3b5 Ungekürztes Subject verwenden 2025-10-01 10:21:31 +02:00
d397c9ec95 EMailProfiler.Common: Version 3.1.2.0 2025-10-01 09:43:54 +02:00
d7c2c86a00 Ein leeres Subject führt offensichtlich zu unverarbeiteten E-Mails. Variable und deren Logging geprüft und abgesichert 2025-10-01 09:43:01 +02:00
db06af6a37 EMailprofile.Common: Version 3.1.1.0 2025-09-10 08:47:44 +02:00
1bcf91f7c8 EMailprofile.Common: Korrektur Fall ein normaler Anhang ist defekt. 2025-09-10 08:46:36 +02:00
d0e93841fe Test-Tool Aktualisierungen 2025-09-10 08:45:13 +02:00
6c47b9ddec EMailProfile.Common: Version 3.1.0.0 2025-09-05 11:49:41 +02:00
ec5c3999ab EmailProfile.Common: Korrektur, damit Email mit PDF-Datei und kaputten eingebetteten Anhängen abgelehnt und temp. Dateien gelöscht werden. 2025-09-05 11:47:53 +02:00
06cfc97ebd Verweis-Pfade zu unseren DLLS an die neue Struktur angepasst. 2025-09-04 09:46:56 +02:00
Developer01
c5715e7c89 TLS Anpassungen und Logging 2025-06-26 16:42:22 +02:00
Developer01
2ea8178aaa Merge 2025-06-24 14:50:50 +02:00
Developer01
f0d1520286 Form logging und methode wie im Service benutzen 2025-06-24 14:49:07 +02:00
86a11a0670 lokale Referenzen korrigiert 2025-05-30 10:44:06 +02:00
b68f94f35f EmailProfiler.Common: Liste der Anhänge einschränken, so dass nur erlaubte Dateitypen enthalten sind. 2025-02-13 11:20:23 +01:00
a73b8f5a16 EMailProfiler.Common: Die Config-Klasse MUSS Config heißen 2025-01-17 14:25:20 +01:00
c42440968f EMail Profiler Service: Version 3.0.5.0 2025-01-17 13:19:46 +01:00
73475a585e Email Profiler APP: Version 3.0.2.0 2025-01-17 13:18:31 +01:00
187c869560 EmailProfiler.Common: Version 3.0.10.0 2025-01-17 11:38:07 +01:00
acdbf643fb EmailProfiler.Common: Auswertung der neuen DB Spalte ALLOW_XML_RECEIPTS 2025-01-17 11:36:51 +01:00
5fd352dd1a EmailProfiler.Form: Version 3.0.1.0 2025-01-17 11:09:49 +01:00
c6ac431d7f EmailProfiler.Form: Neues DB-Feld ALLOW_XML_RECEIPTS und dazugehörige Checkbox eingebaut. ConnectionString in Mysettings angepasst. 2025-01-17 11:08:49 +01:00
169f8c0ec8 EmailProfiler.Common: Version 3.0.9.0 2025-01-16 09:46:26 +01:00
c3d20191b5 EMail Profiler: Test-Projekt kann jetzt EML-Dateien einlesen. / Der erste E-Mail-Anhang darf eine XML-Datei sein 2025-01-16 09:45:28 +01:00
371cace3ef EmailProfiler Form: Version 3.0.0.0 2025-01-09 10:21:04 +01:00
9dc6f7b43f EmailProfiler.Common: Version 3.0.8.0 2025-01-09 10:18:26 +01:00
33e2da02cb EMailProfiler APP: Version 3.0.4.0 2025-01-09 10:16:51 +01:00
ba999fa1d9 EMailProfiler: Config-Daten in zentraler Klasse. abfrage der GDPicture Lizenz über Config-Modul 2025-01-09 10:13:07 +01:00
6193019051 EMailProfiler.Common: Version 3.0.7.0 2024-11-15 13:17:13 +01:00
c170bf7cc4 EmailProfiler.Common: Flag setzen, wenn normales attachment defekt ist.
alte Logik entfernt bzw. auskommentiert
2024-11-15 13:16:27 +01:00
40 changed files with 4900 additions and 3622 deletions

View File

@@ -1,9 +1,5 @@
Imports WINDREAMLib Imports Limilabs.Client.IMAP
Imports Limilabs.Mail Imports WINDREAMLib
Imports Limilabs.Mail.MIME
Imports Limilabs.Mail.Headers
Imports MailBox = Limilabs.Mail.Headers.MailBox
Imports Limilabs.Client.IMAP
Public Class ClassCurrent Public Class ClassCurrent
Public Shared Property WM_DRIVE As String Public Shared Property WM_DRIVE As String
@@ -23,7 +19,6 @@ Public Class ClassCurrent
Public Shared Property CURRENT_DRIVE_CHECK As String = "" Public Shared Property CURRENT_DRIVE_CHECK As String = ""
Public Shared Property CURRENT_DRIVE_ISFULL As Boolean = False Public Shared Property CURRENT_DRIVE_ISFULL As Boolean = False
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_ImapObject As Imap Public Shared Property CURRENT_ImapObject As Imap
@@ -51,7 +46,7 @@ Public Class ClassCurrent
Public Shared Property TEMP_FILES As List(Of String) = New List(Of String) Public Shared Property TEMP_FILES As List(Of String) = New List(Of String)
Public Shared Property TEMP_WORK_FILES As List(Of String) = New List(Of String) Public Shared Property TEMP_WORK_FILES As List(Of String) = New List(Of String)
Public Shared Property GDPictureLicense As String = "None" Public Shared Property GDPictureLicense As String = ""
Public Shared Property EmailAttachments As List(Of EmailAttachment) = New List(Of EmailAttachment) Public Shared Property EmailAttachments As List(Of EmailAttachment) = New List(Of EmailAttachment)
End Class End Class

View File

@@ -5,9 +5,13 @@ Public Class Config
Public Property ConnectionString As String = "" Public Property ConnectionString As String = ""
Public Property Debug As Boolean = False Public Property Debug As Boolean = False
Public Property EmailAccountId As Integer = 0 Public Property EmailAccountId As Integer = 0
Public Property EmailTitlePrefix As String = "EmailProfiler" Public Property EmailTitlePrefix As String = "EmailProfiler"
Public Property EmailSenderLimitation As String = "" Public Property EmailSenderLimitation As String = ""
Public Property UseWindream As Boolean = False Public Property UseWindream As Boolean = False
''' <summary> ''' <summary>
@@ -23,5 +27,18 @@ Public Class Config
Public Property InfoTemplateId As Integer = 0 Public Property InfoTemplateId As Integer = 0
Public Property EmailTestReceiver As String = "" Public Property EmailTestReceiver As String = ""
Public Property EmailTestHTML As String = "" Public Property EmailTestHTML As String = ""
''' <summary>
''' Enthält die Version des GDPicture Modules,
''' für das der Lizenzschlüssel aus TBDD_3RD_PARTY_MODULES
''' gelesen werden soll.
''' </summary>
Public Property GDPictureVersion As String = ""
''' <summary>
''' Enthält die Lizenznummer des GDPicture Modules.
''' Nur wenn nicht über die Datenbank zu holen!!.
''' </summary>
Public Property GDPictureLicenseAsString As String = ""
End Class End Class

View File

@@ -12,6 +12,8 @@ Public Class EmailAttachment
Public ErrorCodeValue As ErrorCode = ErrorCode.Unknown Public ErrorCodeValue As ErrorCode = ErrorCode.Unknown
Public ErrorCodeComment As String = "" Public ErrorCodeComment As String = ""
Public AttachmentPosition As Integer = 0
Public EmbeddedFiles As List(Of EmailAttachment) = New List(Of EmailAttachment) Public EmbeddedFiles As List(Of EmailAttachment) = New List(Of EmailAttachment)
Public ReadOnly Property Extension As String Public ReadOnly Property Extension As String

View File

@@ -8,27 +8,32 @@ Public Class MailContainer
''' The Mail object created by Limilabs ''' The Mail object created by Limilabs
''' </summary> ''' </summary>
Public ReadOnly Property Mail As IMail Public ReadOnly Property Mail As IMail
''' <summary> ''' <summary>
''' The IMAP Id coming from the IMAP folder. Used to reference the mail. ''' The IMAP Id coming from the IMAP folder. Used to reference the mail.
''' </summary> ''' </summary>
Public ReadOnly Property ImapId As Integer Public ReadOnly Property ImapId As Integer
''' <summary> ''' <summary>
''' The original MessageID from the eml file ''' The original MessageID from the eml file
''' </summary> ''' </summary>
Public ReadOnly Property MessageIdOriginal As String Public ReadOnly Property MessageIdOriginal As String
''' <summary> ''' <summary>
''' The new MessageID, which is generated by hashing the original MessageID ''' The new MessageID, which is generated by hashing the original MessageID
''' </summary> ''' </summary>
Public ReadOnly Property MessageId As String Public ReadOnly Property MessageId As String
''' <summary> ''' <summary>
''' The subject, truncated to SUBJECT_MAX_LENGTH characters ''' The subject, truncated to SUBJECT_MAX_LENGTH characters
''' </summary> ''' </summary>
Public ReadOnly Property Subject As String Public ReadOnly Property Subject As String
Public ReadOnly Property SubjectOriginal As String Public ReadOnly Property SubjectOriginal As String
Public ReadOnly Property SenderDomain As String Public ReadOnly Property SenderDomain As String
Public ReadOnly Property SenderAddress As String
Public ReadOnly Property SenderAddress As String
Public Sub New(pMail As IMail, pImapId As Integer) Public Sub New(pMail As IMail, pImapId As Integer)
Mail = pMail Mail = pMail

View File

@@ -49,26 +49,99 @@
<Reference Include="AE.Net.Mail, Version=1.7.10.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AE.Net.Mail, Version=1.7.10.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AE.Net.Mail.1.7.10.0\lib\net45\AE.Net.Mail.dll</HintPath> <HintPath>..\packages\AE.Net.Mail.1.7.10.0\lib\net45\AE.Net.Mail.dll</HintPath>
</Reference> </Reference>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Base"> <Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Database"> <Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language">
<HintPath>..\..\..\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging"> <Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Messaging"> <Reference Include="DigitalData.Modules.Messaging">
<HintPath>..\..\..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Patterns"> <Reference Include="DigitalData.Modules.Patterns">
<HintPath>..\..\..\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14, Version=14.2.90.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.2.90\lib\net462\GdPicture.NET.14.dll</HintPath> <HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml.Framework, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Markdown, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.Markdown.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Interop.WINDREAMLib"> <Reference Include="Interop.WINDREAMLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath> <HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath>
@@ -85,22 +158,95 @@
<Reference Include="Mail"> <Reference Include="Mail">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\Limilabs\Mail.dll\Mail.dll</HintPath> <HintPath>P:\Visual Studio Projekte\Bibliotheken\Limilabs\Mail.dll\Mail.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="NativeSDK.Exceptions, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\NativeSDK.Exceptions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\NativeSDK.Settings.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings.Edition, Version=14.3.21.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.21\lib\net462\NativeSDK.Settings.Edition.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json.Bson, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference> </Reference>
<Reference Include="OpenMcdf, Version=2.4.1.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll</HintPath>
</Reference>
<Reference Include="protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="protobuf-net.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll</HintPath>
</Reference>
<Reference Include="RtfPipe, Version=2.0.7677.4303, Culture=neutral, PublicKeyToken=5f6ab4ce530296d2, processorArchitecture=MSIL">
<HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.CodeDom, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.IO.Compression" /> <Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Packaging, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" /> <Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=8.0.0.6, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" /> <Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
<Reference Include="WindowsBase" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Import Include="Microsoft.VisualBasic" /> <Import Include="Microsoft.VisualBasic" />
@@ -117,15 +263,16 @@
<Compile Include="ClassDBConfig.vb" /> <Compile Include="ClassDBConfig.vb" />
<Compile Include="ClassCurrent.vb" /> <Compile Include="ClassCurrent.vb" />
<Compile Include="clsEmail.IMAP.vb" /> <Compile Include="clsEmail.IMAP.vb" />
<Compile Include="Data\Config.vb" />
<Compile Include="Data\EmailAttachment.vb" /> <Compile Include="Data\EmailAttachment.vb" />
<Compile Include="EmailStrings.vb" /> <Compile Include="Enum\EmailStrings.vb" />
<Compile Include="clsEncryption.vb" /> <Compile Include="clsEncryption.vb" />
<Compile Include="clsWindream_allgemein.vb" /> <Compile Include="clsWindream_allgemein.vb" />
<Compile Include="clsWindream_Index.vb" /> <Compile Include="clsWindream_Index.vb" />
<Compile Include="clsWorkEmail.vb" /> <Compile Include="clsWorkEmail.vb" />
<Compile Include="clsWorker.vb" /> <Compile Include="clsWorker.vb" />
<Compile Include="Enum\ErrorCode.vb" /> <Compile Include="Enum\ErrorCode.vb" />
<Compile Include="MailContainer.vb" /> <Compile Include="Data\MailContainer.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>
@@ -165,11 +312,11 @@
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets')" /> <Import Project="..\packages\GdPicture.runtimes.windows.14.3.21\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.21\build\net462\GdPicture.runtimes.windows.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText> <ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets'))" /> <Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.21\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.21\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target> </Target>
</Project> </Project>

View File

@@ -12,8 +12,8 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")> <Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("DigitalData.EMLProfiler")> <Assembly: AssemblyProduct("DigitalData.EMLProfiler")>
<Assembly: AssemblyCopyright("Copyright © 2024")> <Assembly: AssemblyCopyright("Copyright © 2025")>
<Assembly: AssemblyTrademark("3.0.6.0")> <Assembly: AssemblyTrademark("3.0.10.0")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.0.6.0")> <Assembly: AssemblyVersion("3.5.0.0")>
<Assembly: AssemblyFileVersion("3.0.6.0")> <Assembly: AssemblyFileVersion("3.5.0.0")>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<configSections> <configSections>
</configSections> </configSections>
@@ -28,6 +28,42 @@
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" /> <assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.1.0" newVersion="6.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.5.0" newVersion="4.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1" newVersion="8.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.6" newVersion="8.0.0.6" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Packaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1" newVersion="8.0.0.1" />
</dependentAssembly>
</assemblyBinding> </assemblyBinding>
</runtime> </runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup></configuration> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup></configuration>

View File

@@ -115,6 +115,8 @@ Public Class clsWindream_Index
Catch ex As Exception Catch ex As Exception
End Try End Try
Return "String"
End Function End Function
Public Function RunIndexing_Vektor(ByVal oDocument As WMObject, ByVal Indizes As String(), ByVal aValues As String()) Public Function RunIndexing_Vektor(ByVal oDocument As WMObject, ByVal Indizes As String(), ByVal aValues As String())
Try Try
@@ -244,9 +246,9 @@ Public Class clsWindream_Index
'clsLogger.AddError("## Fehler in RunIndexing_Vektor - Fehler: " & ex.Message, "RunIndexingVektor") 'clsLogger.AddError("## Fehler in RunIndexing_Vektor - Fehler: " & ex.Message, "RunIndexingVektor")
oDocument.Save() oDocument.Save()
oDocument.unlock() oDocument.unlock()
Return False
End Try
End Try
Return False
End Function End Function
Public Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object, Objekttyp As String) Public Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object, Objekttyp As String)
@@ -630,8 +632,9 @@ Public Class clsWindream_Index
'clsLogger.AddError(ex.Message, "ClassSearchResult.RunIndexing") 'clsLogger.AddError(ex.Message, "ClassSearchResult.RunIndexing")
oDocument.Save() oDocument.Save()
oDocument.unlock() oDocument.unlock()
Return False
End Try End Try
Return False
End Function End Function
#End Region #End Region
Public Function GetVektorArray(ByVal oDocument As WMObject, oIndexName As String, NIIndexe As Object, CheckDuplikat As Boolean) Public Function GetVektorArray(ByVal oDocument As WMObject, oIndexName As String, NIIndexe As Object, CheckDuplikat As Boolean)
@@ -834,7 +837,7 @@ Public Class clsWindream_Index
''' _indexname = Name des zu überprüfenden Indexfeldes ''' _indexname = Name des zu überprüfenden Indexfeldes
Public Function GetValueforIndex_WMFile(ByVal _dok As WMObject, _indexname As String) Public Function GetValueforIndex_WMFile(ByVal _dok As WMObject, _indexname As String)
Try Try
Const WMEntityDocument = 1 'Const WMEntityDocument = 1
Dim IndexwertAusWindream As Object = Nothing Dim IndexwertAusWindream As Object = Nothing
IndexwertAusWindream = _dok.GetVariableValue(_indexname) IndexwertAusWindream = _dok.GetVariableValue(_indexname)
Return IndexwertAusWindream.ToString Return IndexwertAusWindream.ToString

View File

@@ -279,8 +279,9 @@ Public Class clsWindream_allgemein
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)
Return False
End Try End Try
Return False
End Function End Function
#End Region #End Region

View File

@@ -1,27 +1,24 @@
Imports System.Text.RegularExpressions Imports System.Data.SqlClient
Imports WINDREAMLib
Imports EmailProfiler.Common.ClassCurrent
Imports System.IO Imports System.IO
Imports DigitalData.Modules.Logging Imports System.Text.RegularExpressions
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Base
Imports System.Threading Imports System.Threading
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Patterns
Imports EmailProfiler.Common.ClassCurrent
Imports GdPicture14
Imports Limilabs.Mail Imports Limilabs.Mail
Imports Limilabs.Mail.MIME Imports Limilabs.Mail.MIME
Imports Limilabs.Mail.Headers Imports WINDREAMLib
Imports MailBox = Limilabs.Mail.Headers.MailBox Imports MailBox = Limilabs.Mail.Headers.MailBox
Imports DigitalData.Modules.Patterns
Imports System.Data.SqlClient
Imports GdPicture14
Imports Limilabs.Client.IMAP
Imports System.Net.NetworkInformation
Imports System.Collections.Specialized.BitVector32
Public Class clsWorkEmail Public Class clsWorkEmail
Private Const SUBJECT_MAX_LENGTH = 25 Private Const SUBJECT_MAX_LENGTH = 25
Private Const MESSAGE_ID_MAX_LENGTH = 100 Private Const MESSAGE_ID_MAX_LENGTH = 100
Private CurrentMail As MailContainer = Nothing Private _CurrentMail As MailContainer = Nothing
Private CurrentTempMailPath As String Private CurrentTempMailPath As String
@@ -51,40 +48,58 @@ Public Class clsWorkEmail
Private ReadOnly _LicenseManager As New LicenseManager Private ReadOnly _LicenseManager As New LicenseManager
Private ReadOnly _ValidExtensions As List(Of String) Private ReadOnly _ValidExtensions As List(Of String)
Private ReadOnly _ValidFirstExtensions As List(Of String)
Private ReadOnly _GraphicExtensions As List(Of String) Private ReadOnly _GraphicExtensions As List(Of String)
Private DoubleBytes As Double
Private _worked_email As Boolean = False Private _worked_email As Boolean = False
Sub New(LogConf As LogConfig, ConStr As String, WmConStr As String, pUseWindream As Boolean, EmailAccountID As Integer, EmlProfPraefix As String, pRejectionTemplateId As Integer, pInfoTemplateId As Integer) Sub New(LogConf As LogConfig, ConStr As String, WmConStr As String, pConfigData As Config)
Try Try
_Logger = LogConf.GetLogger _Logger = LogConf.GetLogger
_LogConfig = LogConf _LogConfig = LogConf
_DB_MSSQL = New MSSQLServer(LogConf, ConStr) _DB_MSSQL = New MSSQLServer(LogConf, ConStr)
_Logger.Debug("clsWorkmail _email initialized") _Logger.Debug("clsWorkmail _email initialized")
_UseWindream = pUseWindream _UseWindream = pConfigData.UseWindream
_Patterns = New Patterns2(LogConf) _Patterns = New Patterns2(LogConf)
_RejectionTemplateId = pRejectionTemplateId _RejectionTemplateId = pConfigData.RejectionTemplateId
_InfoTemplateId = pInfoTemplateId _InfoTemplateId = pConfigData.InfoTemplateId
_Logger.Debug($"_RejectionTemplateId: {_RejectionTemplateId}") _Logger.Debug($"_RejectionTemplateId: {_RejectionTemplateId}")
_ValidExtensions = New List(Of String) From {"pdf", "xls", "xlsx", "doc", "docx", "ppt", "pptx"} _ValidExtensions = New List(Of String) From {"pdf", "xls", "xlsx", "doc", "docx", "ppt", "pptx"}
_ValidFirstExtensions = New List(Of String) From {"xml"}
_ValidFirstExtensions.AddRange(_ValidExtensions)
_GraphicExtensions = New List(Of String) From {"jpg", "bmp", "jpeg", "gif", "png", "xml"} _GraphicExtensions = New List(Of String) From {"jpg", "bmp", "jpeg", "gif", "png", "xml"}
If pUseWindream Then If _UseWindream Then
_windream = New clsWindream_allgemein(LogConf) _windream = New clsWindream_allgemein(LogConf)
_windream_index = New clsWindream_Index(LogConf) _windream_index = New clsWindream_Index(LogConf)
_windreamConnectionString = WmConStr _windreamConnectionString = WmConStr
End If End If
If pConfigData.GDPictureLicenseAsString = String.Empty Then
_Logger.Debug("clsWorkEmail - GDPicture local is empty ..switching to db-getting ...")
GDPictureLicense = ConfigDbFunct.GetProductLicense("GDPICTURE", pConfigData.GDPictureVersion, _LogConfig, ConStr)
Else
_Logger.Debug("")
_Logger.Debug(String.Format("clsWorkEmail - GDPicture License from local config [{0}]", pConfigData.GDPictureLicenseAsString))
_Logger.Debug("")
GDPictureLicense = pConfigData.GDPictureLicenseAsString
End If
If String.IsNullOrEmpty(GDPictureLicense) = False Then
_LicenseManager.RegisterKEY(GDPictureLicense) _LicenseManager.RegisterKEY(GDPictureLicense)
Else
_Logger.Error("clsWorkEmail() - No value for GDPictureLicense found")
End If
_EmailAccountID = EmailAccountID _EmailAccountID = pConfigData.EmailAccountId
SUBJECT_PRAFIX = EmlProfPraefix SUBJECT_PRAFIX = pConfigData.EmailTitlePrefix
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try
End Sub End Sub
Public Function WorkEmailMessage(pMailMessage As IMail, poUID As Long, pValidationSQL As String) As Boolean Public Function WorkEmailMessage(pMailMessage As IMail, poUID As Long, pValidationSQL As String) As Boolean
Try Try
For Each m As MailBox In pMailMessage.From For Each m As MailBox In pMailMessage.From
@@ -92,9 +107,9 @@ Public Class clsWorkEmail
Next Next
'TODO: Move all of these CURRENT_MAIL vars into a business object of type mail container 'TODO: Move all of these CURRENT_MAIL vars into a business object of type mail container
CurrentMail = New MailContainer(pMailMessage, poUID) _CurrentMail = New MailContainer(pMailMessage, poUID)
_Logger.Debug($"Working on email from: {CURRENT_MAIL_FROM}...Subject: {pMailMessage.Subject}") _Logger.Debug($"Working on email from: {_CurrentMail.SenderAddress}...Subject: {pMailMessage.Subject}")
CURRENT_MAIL_BODY_ALL = "" CURRENT_MAIL_BODY_ALL = ""
CURRENT_MAIL_BODY_ANSWER1 = "" CURRENT_MAIL_BODY_ANSWER1 = ""
CURRENT_MAIL_BODY_Substr2 = "" CURRENT_MAIL_BODY_Substr2 = ""
@@ -127,29 +142,29 @@ Public Class clsWorkEmail
' '
'End If 'End If
If IsNothing(CURRENT_MAIL_SUBJECT) Then If IsNothing(_CurrentMail.SubjectOriginal) Then
CURRENT_MAIL_SUBJECT = "" CURRENT_MAIL_SUBJECT = String.Empty
_Logger.Warn("Subject was nothing!")
Else Else
_Logger.Debug("Subject: [{0}]", CURRENT_MAIL_SUBJECT) CURRENT_MAIL_SUBJECT = _CurrentMail.SubjectOriginal.ToUpper.EscapeForSQL()
_Logger.Debug("Fixed Subject: [{0}]", CURRENT_MAIL_SUBJECT)
End If End If
_Logger.Info($"Working on email from : {CURRENT_MAIL_FROM}...") Dim oSql = $"Select COALESCE(MAX(GUID),0) FROM TBEMLP_HISTORY WHERE EMAIL_MSGID = '{_CurrentMail.MessageId}'"
Dim oSql = $"Select COALESCE(MAX(GUID),0) FROM TBEMLP_HISTORY WHERE EMAIL_MSGID = '{CurrentMail.MessageId}'"
Dim oHistoryID = _DB_MSSQL.GetScalarValue(oSql) Dim oHistoryID = _DB_MSSQL.GetScalarValue(oSql)
If oHistoryID > 0 And IS_LOCAL_TEST = False Then If oHistoryID > 0 And IS_LOCAL_TEST = False Then
_Logger.Info($"Message with subject [{CURRENT_MAIL_SUBJECT}] from [{CURRENT_MAIL_FROM}] has already been worked!") _Logger.Info($"Message with subject [{_CurrentMail.SubjectOriginal}] from [{_CurrentMail.SenderAddress}] has already been worked!")
Return True Return True
End If End If
Dim oTempMailExists As Boolean = Save2TempDirectory(CurrentMail) Dim oTempMailExists As Boolean = Save2TempDirectory(_CurrentMail)
'Checking wether Mail can be opened 'Checking wether Mail can be opened
Dim oTempMailAccessible As Boolean = False Dim oTempMailAccessible As Boolean = False
If oTempMailExists = False Then If oTempMailExists = False Then
_Logger.Warn("Could not process email [{0}], file does not exist!", CurrentMail.MessageId) _Logger.Warn("Could not process email [{0}], file does not exist!", _CurrentMail.MessageId)
Return False Return False
End If End If
@@ -162,7 +177,7 @@ Public Class clsWorkEmail
End Try End Try
If oTempMailAccessible = False Then If oTempMailAccessible = False Then
_Logger.Warn("Could not process email [{0}], file is not accessible!", CurrentMail.MessageId) _Logger.Warn("Could not process email [{0}], file is not accessible!", _CurrentMail.MessageId)
Return False Return False
End If End If
@@ -171,22 +186,21 @@ Public Class clsWorkEmail
If pValidationSQL <> "" Then If pValidationSQL <> "" Then
Dim oReplaceValues = New Dictionary(Of String, String) From { Dim oReplaceValues = New Dictionary(Of String, String) From {
{"EMAIL", CurrentMail.SenderAddress}, {"EMAIL", _CurrentMail.SenderAddress},
{"DOMAIN", CurrentMail.SenderDomain} {"DOMAIN", _CurrentMail.SenderDomain}
} }
Dim pValidationSQLWithPlaceholders = _Patterns.ReplaceCustomValues(pValidationSQL, oReplaceValues) Dim pValidationSQLWithPlaceholders = _Patterns.ReplaceCustomValues(pValidationSQL, oReplaceValues)
Dim oResult As String = ObjectEx.NotNull(_DB_MSSQL.GetScalarValue(pValidationSQLWithPlaceholders), "") Dim oResult As String = ObjectEx.NotNull(_DB_MSSQL.GetScalarValue(pValidationSQLWithPlaceholders), "")
If oResult <> "" Then If oResult <> "" Then
Dim oRejectionCodeString = GetRejectionCodeString(CurrentMail.MessageId, ErrorCode.SenderValidationFailed) Dim oRejectionCodeString = GetRejectionCodeString(_CurrentMail.MessageId, ErrorCode.SenderValidationFailed)
'insert history und exit 'insert history und exit
InsertHistoryEntryWithStatus(CurrentMail, "REJECTED", oRejectionCodeString) InsertHistoryEntryWithStatus(_CurrentMail, "REJECTED", oRejectionCodeString)
AddTrackingStatusMSSQL(CurrentMail.MessageId, oRejectionCodeString, "Email-Adress validation failed", "", "EMailProfiler") AddTrackingStatusMSSQL(_CurrentMail.MessageId, oRejectionCodeString, "Email-Adress validation failed", "", "EMailProfiler")
'AddEmailToQueueMSSQL(CurrentMail.MessageId, oResult, "Email validation failed", _EmailAccountID) AddToEmailQueueMSSQL(_CurrentMail.MessageId, oResult, "Email validation failed", _EmailAccountID,
AddToEmailQueueMSSQL(CurrentMail.MessageId, oResult, "Email validation failed", _EmailAccountID,
_RejectionTemplateId, ErrorCode.SenderValidationFailed, "", "") _RejectionTemplateId, ErrorCode.SenderValidationFailed, "", "")
' Return early from processing eml ' Return early from processing eml
@@ -196,13 +210,14 @@ Public Class clsWorkEmail
End If End If
If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER]") Then If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER]") Then
Return PROCESS_MANAGER_IN(CurrentMail) Return ProcessManager_IN(_CurrentMail)
Else Else
_Logger.Debug("CommonEmail-Process-Sniffer") _Logger.Debug("CommonEmail-Process-Sniffer")
Dim oCommonEmailResult = COMMON_EMAIL_IN(CurrentMail) ' Allgemeine Verarbeitung der EMail
Dim oCommonEmailResult = CommonEmail_IN(_CurrentMail)
If oCommonEmailResult = False Then If oCommonEmailResult = False Then
Return False Return False
@@ -211,20 +226,18 @@ Public Class clsWorkEmail
If CURRENT_ATTMT_COUNT = 0 Then If CURRENT_ATTMT_COUNT = 0 Then
_Logger.Info("### Mail contained no Attachments!! ###") _Logger.Info("### Mail contained no Attachments!! ###")
Dim oRejectionCodeString = GetRejectionCodeString(CurrentMail.MessageId, ErrorCode.NoAttachments) Dim oRejectionCodeString = GetRejectionCodeString(_CurrentMail.MessageId, ErrorCode.NoAttachments)
InsertHistoryEntryWithStatus(CurrentMail, "REJECTED", oRejectionCodeString) InsertHistoryEntryWithStatus(_CurrentMail, "REJECTED", oRejectionCodeString)
AddTrackingStatusMSSQL(CurrentMail.MessageId, oRejectionCodeString, "No Attachments", "", "EMailProfiler") AddTrackingStatusMSSQL(_CurrentMail.MessageId, oRejectionCodeString, "No Attachments", "", "EMailProfiler")
Dim oBody = EmailStrings.EMAIL_NO_FERDS Dim oBody = EmailStrings.EMAIL_NO_FERDS
'If AddEmailToQueueMSSQL(CurrentMail.MessageId, oBody, "No Attachments", _EmailAccountID) = True Then If AddToEmailQueueMSSQL(_CurrentMail.MessageId, oBody, "No Attachments", _EmailAccountID,
If AddToEmailQueueMSSQL(CurrentMail.MessageId, oBody, "No Attachments", _EmailAccountID,
_RejectionTemplateId, ErrorCode.NoAttachments, "", "") = True Then _RejectionTemplateId, ErrorCode.NoAttachments, "", "") = True Then
CURRENT_ImapObject.DeleteMessageByUID(poUID) CURRENT_ImapObject.DeleteMessageByUID(poUID)
End If End If
Else Else
' Jetzt werden die ggf gefundenen Attachment-Fehler überprüft und verarbeitet ' Jetzt werden die ggf gefundenen Attachment-Fehler überprüft und verarbeitet
Dim oNormalAttachmentsNotValid As Boolean = False Dim oNormalAttachmentsNotValid As Boolean = False
Dim oEmbeddedAttachmentsNotValid As Boolean = False Dim oEmbeddedAttachmentsNotValid As Boolean = False
@@ -234,9 +247,9 @@ Public Class clsWorkEmail
Any(Function(emb) emb.EmbeddedFiles.Any(Function(ext) ext.IsAttachmentValid = False)) Any(Function(emb) emb.EmbeddedFiles.Any(Function(ext) ext.IsAttachmentValid = False))
If oEmbeddedAttachmentsNotValid = True Then If oEmbeddedAttachmentsNotValid = True Then
Dim oRejectionCodeString = GetRejectionCodeString(CurrentMail.MessageId, ErrorCode.EmbeddedFileAttachmentCorrupt) Dim oRejectionCodeString = GetRejectionCodeString(_CurrentMail.MessageId, ErrorCode.EmbeddedFileAttachmentCorrupt)
InsertHistoryEntryWithStatus(CurrentMail, "REJECTED", oRejectionCodeString) InsertHistoryEntryWithStatus(_CurrentMail, "REJECTED", oRejectionCodeString)
AddTrackingStatusMSSQL(CurrentMail.MessageId, oRejectionCodeString, "Embedded File corrupt", "", "EMailProfiler") AddTrackingStatusMSSQL(_CurrentMail.MessageId, oRejectionCodeString, "Embedded File corrupt", "", "EMailProfiler")
SendRejectionMailToSenderIfEmbeddedAttachmentsAreNotValid() SendRejectionMailToSenderIfEmbeddedAttachmentsAreNotValid()
@@ -245,7 +258,7 @@ Public Class clsWorkEmail
Else Else
If IS_LOCAL_TEST = False Then If IS_LOCAL_TEST = False Then
InsertHistoryEntry(CurrentMail) InsertHistoryEntry(_CurrentMail)
End If End If
oNormalAttachmentsNotValid = EmailAttachments.Any(Function(ext) ext.IsAttachmentValid = False) oNormalAttachmentsNotValid = EmailAttachments.Any(Function(ext) ext.IsAttachmentValid = False)
@@ -279,7 +292,7 @@ Public Class clsWorkEmail
If oHtmlFilenameList.IsNotNullOrEmpty() Then If oHtmlFilenameList.IsNotNullOrEmpty() Then
AddToEmailQueueMSSQL(CurrentMail.MessageId, "", "Attachment invalid", _EmailAccountID, _InfoTemplateId, ErrorCode.NormalFileAttachmentCorrupt, oHtmlFilenameList, "") AddToEmailQueueMSSQL(_CurrentMail.MessageId, "", "Attachment invalid", _EmailAccountID, _InfoTemplateId, ErrorCode.NormalFileAttachmentCorrupt, oHtmlFilenameList, "")
End If End If
End Sub End Sub
@@ -293,7 +306,7 @@ Public Class clsWorkEmail
Dim oHtmlFilenameList As String = GetHtmlFilenameList() Dim oHtmlFilenameList As String = GetHtmlFilenameList()
If oHtmlFilenameList.IsNotNullOrEmpty() Then If oHtmlFilenameList.IsNotNullOrEmpty() Then
AddToEmailQueueMSSQL(CurrentMail.MessageId, "", "Attachment invalid", _EmailAccountID, _RejectionTemplateId, ErrorCode.EmbeddedFileAttachmentCorrupt, oHtmlFilenameList, "") AddToEmailQueueMSSQL(_CurrentMail.MessageId, "", "Attachment invalid", _EmailAccountID, _RejectionTemplateId, ErrorCode.EmbeddedFileAttachmentCorrupt, oHtmlFilenameList, "")
End If End If
End Sub End Sub
@@ -311,7 +324,7 @@ Public Class clsWorkEmail
If attachmentItem.IsAttachmentValid = False Or oEmbeddedAttachmentsInvalid = True Then If attachmentItem.IsAttachmentValid = False Or oEmbeddedAttachmentsInvalid = True Then
AddTrackingStatusMSSQL(CurrentMail.MessageId, attachmentItem.OrgFileName, "FILE CONSISTENCY NOT OK", attachmentItem.ErrorCodeComment, "EMail Profiler") AddTrackingStatusMSSQL(_CurrentMail.MessageId, attachmentItem.OrgFileName, "FILE CONSISTENCY NOT OK", attachmentItem.ErrorCodeComment, "EMail Profiler")
filenameHtmlString += "<li>" + attachmentItem.OrgFileName + "</li>" filenameHtmlString += "<li>" + attachmentItem.OrgFileName + "</li>"
End If End If
@@ -323,7 +336,7 @@ Public Class clsWorkEmail
For Each embeddedItem In attachmentItem.EmbeddedFiles For Each embeddedItem In attachmentItem.EmbeddedFiles
If embeddedItem.IsAttachmentValid = False Then If embeddedItem.IsAttachmentValid = False Then
AddTrackingStatusMSSQL(CurrentMail.MessageId, embeddedItem.OrgFileName, "EMBEDDED FILE CONSISTENCY NOT OK", embeddedItem.ErrorCodeComment, "EMail Profiler") AddTrackingStatusMSSQL(_CurrentMail.MessageId, embeddedItem.OrgFileName, "EMBEDDED FILE CONSISTENCY NOT OK", embeddedItem.ErrorCodeComment, "EMail Profiler")
embeddedFilenamesHtmlString += "<li>" + embeddedItem.OrgFileName + "</li>" embeddedFilenamesHtmlString += "<li>" + embeddedItem.OrgFileName + "</li>"
End If End If
@@ -530,7 +543,8 @@ Public Class clsWorkEmail
Return True Return True
End Function End Function
Private Function PROCESS_MANAGER_IN(pCurrentMail As MailContainer) As Boolean
Private Function ProcessManager_IN(pCurrentMail As MailContainer) As Boolean
Try Try
_Logger.Info(String.Format("PM-related message found....[{0}]", pCurrentMail.Mail.Subject)) _Logger.Info(String.Format("PM-related message found....[{0}]", pCurrentMail.Mail.Subject))
@@ -540,7 +554,6 @@ Public Class clsWorkEmail
Dim TEMP_PROCESS_PROFILE_DT As DataTable = DT_POLL_PROCESS Dim TEMP_PROCESS_PROFILE_DT As DataTable = DT_POLL_PROCESS
Dim PM_ROW As DataRow() = TEMP_PROCESS_PROFILE_DT.Select(oExpression) Dim PM_ROW As DataRow() = TEMP_PROCESS_PROFILE_DT.Select(oExpression)
For Each row As DataRow In PM_ROW For Each row As DataRow In PM_ROW
Try Try
WM_REFERENCE_INDEX = row("WM_REFERENCE_INDEX") WM_REFERENCE_INDEX = row("WM_REFERENCE_INDEX")
Catch ex As Exception Catch ex As Exception
@@ -554,11 +567,9 @@ Public Class clsWorkEmail
WM_IDX_BODY_SUBSTR_LENGTH = row("WM_IDX_BODY_SUBSTR_LENGTH") WM_IDX_BODY_SUBSTR_LENGTH = row("WM_IDX_BODY_SUBSTR_LENGTH")
DeleteMail = row("DELETE_MAIL") DeleteMail = row("DELETE_MAIL")
If COPY2HDD(pCurrentMail, row("COPY_2_HDD"), row("PATH_ORIGINAL"), row("PATH_EMAIL_ERRORS"), False) = True Then If Copy2HDD(pCurrentMail, row("COPY_2_HDD"), row("PATH_ORIGINAL"), row("PATH_EMAIL_ERRORS"), False) = True Then
EXTRACT_BODY(pCurrentMail) ExtractBody(pCurrentMail)
End If End If
Next Next
If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER][EA]") Then If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER][EA]") Then
@@ -571,9 +582,9 @@ Public Class clsWorkEmail
_Logger.Info(String.Format("Keyword contained a : at end...removing it...")) _Logger.Info(String.Format("Keyword contained a : at end...removing it..."))
CURRENT_MAIL_BODY_ANSWER1 = CURRENT_MAIL_BODY_ANSWER1.Replace(":", "") CURRENT_MAIL_BODY_ANSWER1 = CURRENT_MAIL_BODY_ANSWER1.Replace(":", "")
End If End If
If GET_WMDOC_INFO() = True Then If GetWMDocInfo() = True Then
If DT_STEPS.Rows.Count > 0 Then If DT_STEPS.Rows.Count > 0 Then
WORK_POLL_STEPS() WorkPollSteps()
Else Else
_Logger.Info("No steps configured for this Profile ....") _Logger.Info("No steps configured for this Profile ....")
End If End If
@@ -586,11 +597,10 @@ Public Class clsWorkEmail
Return True Return True
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
'Logger.Debug("Unexpected Error in PROCESS_MANAGER_IN: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID)
Return False Return False
End Try End Try
End Function End Function
Dim DoubleBytes As Double
Default Public Property FormatBytes(ByVal BytesCaller As ULong) As String Default Public Property FormatBytes(ByVal BytesCaller As ULong) As String
Get Get
Try Try
@@ -621,7 +631,8 @@ Public Class clsWorkEmail
End Set End Set
End Property End Property
Function COMMON_EMAIL_IN(pCurrentMail As MailContainer) As Boolean
Function CommonEmail_IN(pCurrentMail As MailContainer) As Boolean
Try Try
_Logger.Info(String.Format("COMMON_EMAIL_IN...Subject [{0}]", pCurrentMail.Mail.Subject)) _Logger.Info(String.Format("COMMON_EMAIL_IN...Subject [{0}]", pCurrentMail.Mail.Subject))
@@ -648,6 +659,7 @@ Public Class clsWorkEmail
Dim oPathOriginal As String = oRow.ItemEx("PATH_ORIGINAL", "") Dim oPathOriginal As String = oRow.ItemEx("PATH_ORIGINAL", "")
Dim oExtractMainPath As String = oRow.ItemEx("PATH_EMAIL_TEMP", "") Dim oExtractMainPath As String = oRow.ItemEx("PATH_EMAIL_TEMP", "")
Try Try
Dim oSplit As String() Dim oSplit As String()
Dim oStorage As String Dim oStorage As String
@@ -686,10 +698,9 @@ Public Class clsWorkEmail
_Logger.Warn($"Unexpected Error in Checking RemainingTotalFreeSpace for Storage [{oExtractMainPath}]: {ex.Message}") _Logger.Warn($"Unexpected Error in Checking RemainingTotalFreeSpace for Storage [{oExtractMainPath}]: {ex.Message}")
End Try End Try
If COPY2HDD(pCurrentMail, oRow("COPY_2_HDD"), oRow("PATH_ORIGINAL"), oRow("PATH_EMAIL_ERRORS"), True) = True Then If Copy2HDD(pCurrentMail, oRow("COPY_2_HDD"), oRow("PATH_ORIGINAL"), oRow("PATH_EMAIL_ERRORS"), True) = True Then
Dim oAllowXMLReceipts As Boolean = oRow("ALLOW_XML_RECEIPTS")
'If EXTRACT_ATTACHMENTS(pCurrentMail, oExtractMainPath, oRow("PATH_EMAIL_ERRORS")) = True Then If ExtractAttachments(pCurrentMail, oExtractMainPath, oAllowXMLReceipts) = True Then
If ExtractAttachments(pCurrentMail, oExtractMainPath) = True Then
Return True Return True
Else Else
_Logger.Warn("!##Returning false from EXTRACT_ATTACHMENTS!##") _Logger.Warn("!##Returning false from EXTRACT_ATTACHMENTS!##")
@@ -703,7 +714,6 @@ Public Class clsWorkEmail
Return True Return True
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
'Logger.Debug("Unexpected Error in PROCESS_MANAGER_IN: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID)
Return False Return False
End Try End Try
End Function End Function
@@ -730,7 +740,6 @@ Public Class clsWorkEmail
' Subject can be SUBJECT_MAX_LENGTH chars at most, ' Subject can be SUBJECT_MAX_LENGTH chars at most,
' otherwise we run into errors with the path being too long ' otherwise we run into errors with the path being too long
'Dim oSubjectFilename = CURRENT_MAIL_MESSAGE.Subject.Truncate(SUBJECT_MAX_LENGTH) & ".eml"
Dim oSubjectFilename = pCurrentMail.MessageId & ".eml" Dim oSubjectFilename = pCurrentMail.MessageId & ".eml"
oSubjectFilename = StringEx.RemoveInvalidCharacters(oSubjectFilename) oSubjectFilename = StringEx.RemoveInvalidCharacters(oSubjectFilename)
@@ -769,16 +778,16 @@ Public Class clsWorkEmail
_Logger.Error(ex) _Logger.Error(ex)
_Logger.Info($"Unexpected error in Save2Temp [{oTempFilename}]") _Logger.Info($"Unexpected error in Save2Temp [{oTempFilename}]")
CurrentTempMailPath = Nothing CurrentTempMailPath = Nothing
'clsLogger.Add("Unexpected Error in COPY2HDD: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID, True)
Return False Return False
End Try End Try
End Function End Function
Private Function COPY2HDD(pCurrentMail As MailContainer, pShouldCopyToDisk As Boolean, pDestination As String, pPathErrors As String, pUseMessageIdAsFilename As Boolean) As Boolean
Private Function Copy2HDD(pCurrentMail As MailContainer, pShouldCopyToDisk As Boolean, pDestination As String, pPathErrors As String, pUseMessageIdAsFilename As Boolean) As Boolean
Try Try
If pShouldCopyToDisk = True Then If pShouldCopyToDisk = True Then
_Logger.Debug("COPY_2_HDD is ACTIVE!") _Logger.Debug("COPY_2_HDD is ACTIVE!")
'PATH_ERROR = pPathErrors
If Directory.Exists(pDestination) Then If Directory.Exists(pDestination) Then
Dim oTempFilename = Path.Combine(pDestination, $"{pCurrentMail.MessageId}.eml") Dim oTempFilename = Path.Combine(pDestination, $"{pCurrentMail.MessageId}.eml")
@@ -818,7 +827,8 @@ Public Class clsWorkEmail
Return False Return False
End Try End Try
End Function End Function
Private Function EXTRACT_BODY(pCurrentMail As MailContainer)
Private Function ExtractBody(pCurrentMail As MailContainer)
Dim oTable As DataTable = _DB_MSSQL.GetDatatable("SELECT * FROM TBDD_FUNCTION_REGEX WHERE UPPER(FUNCTION_NAME) IN (UPPER('EMAIL_PROFILER - RemoveHTMLText'),UPPER('EMAIL_PROFILER - RemoveHTMLText1'))") Dim oTable As DataTable = _DB_MSSQL.GetDatatable("SELECT * FROM TBDD_FUNCTION_REGEX WHERE UPPER(FUNCTION_NAME) IN (UPPER('EMAIL_PROFILER - RemoveHTMLText'),UPPER('EMAIL_PROFILER - RemoveHTMLText1'))")
Dim oBodyText As String = "" Dim oBodyText As String = ""
@@ -829,7 +839,6 @@ Public Class clsWorkEmail
If Not IsNothing(CURRENT_MAIL_BODY_ALL) Then If Not IsNothing(CURRENT_MAIL_BODY_ALL) Then
Dim oRow = oTable.Rows.Item(0) Dim oRow = oTable.Rows.Item(0)
' CURRENT_MAIL_BODY_ALL = oMsg_email.Body
Dim oPattern1 As String Dim oPattern1 As String
Dim oPattern2 As String Dim oPattern2 As String
Try Try
@@ -856,11 +865,6 @@ Public Class clsWorkEmail
Do While oMatch2.Success Do While oMatch2.Success
oClearedBodyText = oClearedBodyText.Replace(oMatch2.Value, "") oClearedBodyText = oClearedBodyText.Replace(oMatch2.Value, "")
'Dim g As Group = m.Groups(1)
'If g.ToString.StartsWith("&") = False Then
' TEMP_HTML_RESULTS.Add(g.ToString())
'End If
oMatch2 = oMatch2.NextMatch() oMatch2 = oMatch2.NextMatch()
Loop Loop
_Logger.Debug($"Cleared bodytext after Regex2 is: {oClearedBodyText}") _Logger.Debug($"Cleared bodytext after Regex2 is: {oClearedBodyText}")
@@ -915,13 +919,12 @@ Public Class clsWorkEmail
Return True Return True
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
'clsLogger.Add("Unexpected Error in COPY2HDD: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID, True)
MESSAGE_ERROR = True MESSAGE_ERROR = True
Return False Return False
End Try End Try
End Function End Function
Private Function ExtractAttachments(pCurrentMail As MailContainer, pExtractPath As String) As Boolean Private Function ExtractAttachments(pCurrentMail As MailContainer, pExtractPath As String, pAllowXMLReceipts As Boolean) As Boolean
_Logger.Debug("In ExtractAttachments - pExtractPath = [{0}]", pExtractPath) _Logger.Debug("In ExtractAttachments - pExtractPath = [{0}]", pExtractPath)
CURRENT_ATTMT_COUNT = 0 CURRENT_ATTMT_COUNT = 0
@@ -944,18 +947,24 @@ Public Class clsWorkEmail
Return True Return True
End If End If
Dim oAttachmentCount As Integer = 0 Dim oAttachmentCount As Integer = 0 ' Anzahl gültige Anhänge
Dim AttachmentPosition As Integer = 0 ' Position des Anhangs in der EMail
For Each oAttachment As MimeData In pCurrentMail.Mail.Attachments Dim oAttachmentList As List(Of MimeData) = GetPurgedAttachmentList(pCurrentMail.Mail.Attachments, pAllowXMLReceipts)
For Each oAttachment As MimeData In oAttachmentList
_Logger.Info("Working on Attachment [{0}]", oAttachment.SafeFileName) _Logger.Info("Working on Attachment [{0}]", oAttachment.SafeFileName)
AttachmentPosition += 1
Dim oEmailAttachment As EmailAttachment = New EmailAttachment() With Dim oEmailAttachment As EmailAttachment = New EmailAttachment() With
{ {
.OrgFileName = oAttachment.SafeFileName .OrgFileName = oAttachment.SafeFileName,
.AttachmentPosition = AttachmentPosition
} }
EmailAttachments.Add(oEmailAttachment) EmailAttachments.Add(oEmailAttachment)
If ValidateFileExtension(oEmailAttachment) = False Then If ValidateFileExtension(oEmailAttachment, pAllowXMLReceipts) = False Then
oEmailAttachment.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt oEmailAttachment.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt
Continue For Continue For
End If End If
@@ -994,14 +1003,25 @@ Public Class clsWorkEmail
' Verarbeite Embedded Attachments ' Verarbeite Embedded Attachments
WorkEmbeddedAttachments(oEmailAttachment, oGdPicturePDF) WorkEmbeddedAttachments(oEmailAttachment, oGdPicturePDF)
' Prüfen ob es ungültige Anhänge gibt.
Dim oEmbeddedAttachmentsNotValid As Boolean = EmailAttachments.
Where(Function(att) att.EmbeddedFiles.Count > 0).
Any(Function(emb) emb.EmbeddedFiles.Any(Function(ext) ext.IsAttachmentValid = False))
If oEmbeddedAttachmentsNotValid = True Then
MESSAGE_ERROR = True
Continue For
End If
Else Else
oAttachmentCount -= 1 oAttachmentCount -= 1
CleanUpFilePath(oEmailAttachment.DestFilePath) CleanUpFilePath(oEmailAttachment.DestFilePath)
UpdateAttachmentTableAfterError(oEmailAttachment.OrgFileName, pCurrentMail.MessageId, "PDF Structure corrupt")
oEmailAttachment.FileStatus = oStatus oEmailAttachment.FileStatus = oStatus
oEmailAttachment.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt oEmailAttachment.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt
oEmailAttachment.ErrorCodeComment = "PDF Structure corrupt" oEmailAttachment.ErrorCodeComment = "PDF Structure corrupt"
oEmailAttachment.IsAttachmentValid = False oEmailAttachment.IsAttachmentValid = False
MESSAGE_ERROR = True MESSAGE_ERROR = True
Continue For Continue For
End If End If
@@ -1026,6 +1046,47 @@ Public Class clsWorkEmail
End Function End Function
''' <summary>
''' Holt aus alle Anhängen diejenigen raus,
''' die einen erlaubten Dateianhang haben
''' </summary>
''' <param name="pAttachmentList"></param>
''' <param name="pAllowXMLReceipts"></param>
''' <returns>Liste der Dateien, die wir verarbeiten wollen, nothing im Fehlerfall</returns>
Private Function GetPurgedAttachmentList(pAttachmentList As IMimeDataReadOnlyCollection, pAllowXMLReceipts As Boolean) As List(Of MimeData)
_Logger.Debug("GetPurgedAttachmentList()")
Try
Dim retValue As List(Of MimeData) = New List(Of MimeData)
Dim oIsValidExtension As Boolean = False
For Each oAttachment As MimeData In pAttachmentList
Dim lowerFilename = oAttachment.SafeFileName.ToLower
If pAllowXMLReceipts = True Then
oIsValidExtension = _ValidFirstExtensions.Any(Function(ext) lowerFilename.EndsWith(ext))
Else
oIsValidExtension = _ValidExtensions.Any(Function(ext) lowerFilename.EndsWith(ext))
End If
If oIsValidExtension = True Then
retValue.Add(oAttachment)
End If
Next
_Logger.Debug("GetPurgedAttachmentList() retValue contains [{0}] attachments.", retValue.Count)
Return retValue
Catch ex As Exception
_Logger.Error(ex)
End Try
Return Nothing
End Function
Private Sub WorkEmbeddedAttachments(pEmailAttachment As EmailAttachment, pGDPicturePDF As GdPicturePDF) Private Sub WorkEmbeddedAttachments(pEmailAttachment As EmailAttachment, pGDPicturePDF As GdPicturePDF)
Dim embeddedFileCount As Integer = pGDPicturePDF.GetEmbeddedFileCount() Dim embeddedFileCount As Integer = pGDPicturePDF.GetEmbeddedFileCount()
@@ -1045,7 +1106,7 @@ Public Class clsWorkEmail
oEmbeddedFile.FileStatus = pGDPicturePDF.GetStat() oEmbeddedFile.FileStatus = pGDPicturePDF.GetStat()
If oEmbeddedFile.FileStatus = GdPictureStatus.OK Then If oEmbeddedFile.FileStatus = GdPictureStatus.OK Then
If ValidateFileExtension(oEmbeddedFile) = False Then If ValidateFileExtension(oEmbeddedFile, False) = False Then
oEmbeddedFile.ErrorCodeValue = ErrorCode.EmbeddedFileAttachmentCorrupt oEmbeddedFile.ErrorCodeValue = ErrorCode.EmbeddedFileAttachmentCorrupt
Continue For Continue For
End If End If
@@ -1087,6 +1148,7 @@ Public Class clsWorkEmail
CleanUpFilePath(oFilePath) CleanUpFilePath(oFilePath)
pAttachmentData.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt pAttachmentData.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt
pAttachmentData.ErrorCodeComment = "Filesize is zero" pAttachmentData.ErrorCodeComment = "Filesize is zero"
pAttachmentData.IsAttachmentValid = False
Return False Return False
End If End If
@@ -1099,6 +1161,38 @@ Public Class clsWorkEmail
End Try End Try
End Function End Function
''' <summary>
''' Aktualisiert Datensätze in der Tabelle TBEMLP_HISTORY_ATTACHMENT
''' wenn ein Fehler bei einem Attachment aufgetreten ist.
''' </summary>
Private Sub UpdateAttachmentTableAfterError(pOrgFileName As String, pMessageID As String, pComment As String)
If String.IsNullOrEmpty(pOrgFileName) Then
_Logger.Info("Parameter [pOrgFileName] missing")
Return
End If
If String.IsNullOrEmpty(pMessageID) Then
_Logger.Info("Parameter [pMessageID] missing")
Return
End If
If pComment Is Nothing Then
pComment = "-"
Return
End If
Dim updateSQL As String = "UPDATE [DD_ECM].[dbo].[TBEMLP_HISTORY_ATTACHMENT] SET COMMENT = '@PARAM_COMMENT', EMAIL_ATTMT_INDEX = '-' WHERE EMAIL_MSGID = '@PARAM_MSGID' AND EMAIL_ATTMT = '@PARAM_ORGFILE';"
updateSQL = updateSQL.Replace("@PARAM_COMMENT", pComment)
updateSQL = updateSQL.Replace("@PARAM_MSGID", pMessageID)
updateSQL = updateSQL.Replace("@PARAM_ORGFILE", pOrgFileName)
_Logger.Info("Execute UPDATE-SQL: [{0}]", updateSQL)
_DB_MSSQL.ExecuteNonQuery(updateSQL)
End Sub
''' <summary> ''' <summary>
''' Falls Datei bereits existiert, lösche sie jetzt ''' Falls Datei bereits existiert, lösche sie jetzt
''' </summary> ''' </summary>
@@ -1132,13 +1226,19 @@ Public Class clsWorkEmail
End Try End Try
End Function End Function
Private Function ValidateFileExtension(pAttachmentData As EmailAttachment) As Boolean Private Function ValidateFileExtension(pAttachmentData As EmailAttachment, pAllowXMLReceipts As Boolean) As Boolean
_Logger.Debug("Validate extension of [{0}]", pAttachmentData.OrgFileName) _Logger.Debug("Validate extension of [{0}]", pAttachmentData.OrgFileName)
Dim lowerFilename = pAttachmentData.OrgFileName.ToLower Dim lowerFilename = pAttachmentData.OrgFileName.ToLower
Dim oIsValidExtension = _ValidExtensions.Any(Function(ext) lowerFilename.EndsWith(ext)) Dim oIsValidExtension As Boolean = False
Dim oIsGraphicExtension = _GraphicExtensions.Any(Function(ext) lowerFilename.EndsWith(ext)) Dim oIsGraphicExtension = _GraphicExtensions.Any(Function(ext) lowerFilename.EndsWith(ext))
If pAllowXMLReceipts = True AndAlso pAttachmentData.AttachmentPosition = 1 Then
oIsValidExtension = _ValidFirstExtensions.Any(Function(ext) lowerFilename.EndsWith(ext))
Else
oIsValidExtension = _ValidExtensions.Any(Function(ext) lowerFilename.EndsWith(ext))
End If
If oIsValidExtension = False Then If oIsValidExtension = False Then
If oIsGraphicExtension = False Then If oIsGraphicExtension = False Then
_Logger.Warn("File has no valid extension, and it has no graphic extension. In this case we have to inform the sender!") _Logger.Warn("File has no valid extension, and it has no graphic extension. In this case we have to inform the sender!")
@@ -1152,189 +1252,6 @@ Public Class clsWorkEmail
Return True Return True
End Function End Function
''' <summary>
''' Diese Funktion wird nicht mehr verwendet!!!!
''' </summary>
Private Function EXTRACT_ATTACHMENTS(pCurrentMail As MailContainer, pExtractPath As String, pErrorPath As String)
_Logger.Debug("In EXTRACT_ATTACHMENTS...")
_Logger.Debug(String.Format("PATH_TEMP[{0}]", pExtractPath))
Dim oAttachmentCount As Integer
oAttachmentCount = 0
TEMP_WORK_FILES.Clear()
Try
If CurrentTempMailPath <> Nothing Then
If File.Exists(CurrentTempMailPath) Then
Dim oATTFilename = ""
For Each oAttachment As MimeData In pCurrentMail.Mail.Attachments
oATTFilename = oAttachment.SafeFileName.ToString.ToLower
Dim oValidExtensions = New List(Of String) From {"pdf", "xls", "xlsx", "doc", "docx", "ppt", "pptx"}
Dim oGraphicExtensions = New List(Of String) From {"jpg", "bmp", "jpeg", "gif", "png", "xml"}
Dim oValidExt = oValidExtensions.Any(Function(ext) oATTFilename.EndsWith(ext))
If oValidExt = False Then
_Logger.Info("Invalid FileExtension [{0}]", oATTFilename)
Dim GraphicExt = oGraphicExtensions.Any(Function(ext) oATTFilename.EndsWith(ext))
If GraphicExt = False Then
Dim oInfo = $"Consistency or extension of attached file {oATTFilename} is not ok."
AddTrackingStatusMSSQL(CurrentMail.MessageId, oInfo, "PDF CONSISTENCY NOT OK", "Info GUI", "EML_PROF_EXTR_ATT1")
AddToEmailQueueMSSQL(CurrentMail.MessageId, oInfo, "PDF CONSISTENCY NOT OK", _EmailAccountID,
_InfoTemplateId, ErrorCode.NormalFileAttachmentCorrupt, oATTFilename, "")
End If
Continue For
End If
Dim oAttachmentFilePath = ""
_Logger.Info("Working on Attachment [{0}]", oAttachment.SafeFileName)
Try
Dim oFileInfo = New FileInfo(oAttachment.SafeFileName)
Dim oFilenameWithoutExtension = Path.GetFileNameWithoutExtension(oAttachment.SafeFileName)
Dim oFilename = StringEx.ConvertTextToSlug(oFilenameWithoutExtension) & oFileInfo.Extension
'Dim oAttachmentFileName = $"{CURRENT_MAIL_MESSAGE_ID}~{pCurrentMail.SenderDomain}~{oFilename}"
Dim oAttachmentFileName = $"{pCurrentMail.MessageId}~Attm{oAttachmentCount}{oFileInfo.Extension}"
_Logger.Debug("Final Filename for Attachment: [{0}]", oAttachmentFileName)
Dim oExtractTempPath = Path.Combine(pExtractPath, "Temp")
If Directory.Exists(oExtractTempPath) = False Then
Directory.CreateDirectory(oExtractTempPath)
End If
oAttachmentFilePath = Path.Combine(oExtractTempPath, oAttachmentFileName)
_Logger.Debug("Final Path for Attachment: [{0}]", oAttachmentFilePath)
If File.Exists(oAttachmentFilePath) Then
_Logger.Warn("File [{0}] already exists!", oAttachmentFilePath)
File.Delete(oAttachmentFilePath)
End If
_Logger.Debug(String.Format("Trying to save attachment [{0}]", oAttachmentFilePath))
Try
oAttachment.Save(oAttachmentFilePath)
'oAttachment.Save(oAttachmentFileString)
Dim oFileInfo1 As New FileInfo(oAttachmentFilePath)
'ToDo Konsistenz prüfen
If oFileInfo.Extension.ToLower = ".pdf" Then
Dim oPDFConsistent As Boolean = True
Dim oLicenseManager As New LicenseManager
oLicenseManager.RegisterKEY(GDPictureLicense)
Dim oGdPicturePDF As New GdPicturePDF()
' Lic
Dim oStatus As GdPictureStatus = oGdPicturePDF.LoadFromFile(oAttachmentFilePath, True)
If oStatus <> GdPictureStatus.OK Then
oPDFConsistent = False
Dim oResult = $"PDF-Consistency of attached file {oATTFilename} is not ok. ({oStatus.ToString})"
AddTrackingStatusMSSQL(CurrentMail.MessageId, oResult, "PDF CONSISTENCY NOT OK", "Info GUI", "EML_PROF_EXTR_ATT2")
AddToEmailQueueMSSQL(CurrentMail.MessageId, oResult, "PDF CONSISTENCY NOT OK", _EmailAccountID,
_InfoTemplateId, ErrorCode.EmbeddedFileAttachmentCorrupt, oATTFilename, "")
File.Delete(oAttachmentFilePath)
Continue For
Else
Dim embeddedFileCount As Integer = oGdPicturePDF.GetEmbeddedFileCount()
If embeddedFileCount > 0 Then
For i As Integer = 0 To embeddedFileCount - 1
Dim oEmbAttName As String = oGdPicturePDF.GetEmbeddedFileName(i)
Dim fileDetail As IO.FileInfo
fileDetail = My.Computer.FileSystem.GetFileInfo(oEmbAttName)
If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then
Dim FileSize As Integer = oGdPicturePDF.GetEmbeddedFileSize(i)
oValidExt = oValidExtensions.Any(Function(ext) oEmbAttName.EndsWith(ext))
If oValidExt = False Then
_Logger.Info("Invalid FileExtension of embedded file [{0}]", oEmbAttName)
Dim GraphicExt = oGraphicExtensions.Any(Function(ext) oEmbAttName.EndsWith(ext))
If GraphicExt = False Then
Dim oInfo = $"Consistency or extension of attached file [{oEmbAttName}] is not ok."
AddTrackingStatusMSSQL(CurrentMail.MessageId, oInfo, "Extension invalid", "Info GUI", "EML_PROF_EXTR_ATT3")
AddToEmailQueueMSSQL(CurrentMail.MessageId, oInfo, "Extension invalid", _EmailAccountID,
_InfoTemplateId, ErrorCode.EmbeddedFileAttachmentCorrupt, oEmbAttName, "")
End If
Continue For
End If
If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then
Dim FileData As Byte() = New Byte(FileSize) {}
Dim status As GdPictureStatus = oGdPicturePDF.ExtractEmbeddedFile(0, FileData)
If status <> GdPictureStatus.OK Or FileSize = 0 Then
oPDFConsistent = False
Dim oResult = $"Consistency or PDF-State of embedded file [{oEmbAttName}] is not ok."
AddTrackingStatusMSSQL(CurrentMail.MessageId, oResult, "PDF CONSISTENCY EMBEDDED FILE NOT OK", "Info GUI", "EML_PROF_EXTR_ATT4")
AddToEmailQueueMSSQL(CurrentMail.MessageId, oResult, "PDF CONSISTENCY EMBEDDED FILE NOT OK", _EmailAccountID,
_InfoTemplateId, ErrorCode.EmbeddedFileAttachmentCorrupt, oEmbAttName, "")
Continue For
End If
End If
End If
Next
End If
End If
End If
Dim oFileLength As Long = oFileInfo1.Length
If oFileLength > 2 Then
_Logger.Info(String.Format("Attachment saved to [{0}]", oAttachmentFilePath))
InsertAttachmentHistoryEntry(pCurrentMail, oAttachment.SafeFileName, oAttachmentFileName)
oAttachmentCount += 1
Else
_Logger.Warn($"##!! oFileLength for AttachmentObjects is <2 !!##")
Dim oResult = $"Consistency of attached file [{oAttachment.SafeFileName}] is not ok."
AddTrackingStatusMSSQL(CurrentMail.MessageId, oResult, "CONSISTENCY ATTACHED FILE NOT OK", "Info GUI", "EML_PROF_EXTR_ATT5")
AddToEmailQueueMSSQL(CurrentMail.MessageId, oResult, "CONSISTENCY ATTACHED FILE NOT OK", _EmailAccountID,
_InfoTemplateId, ErrorCode.EmbeddedFileAttachmentCorrupt, oAttachment.SafeFileName, "")
Try
File.Delete(oAttachmentFilePath)
Catch ex As Exception
_Logger.Error(ex)
End Try
End If
Catch ex As Exception
_Logger.Warn($"Error while saving attachment-name: {ex.Message} - AttachmentName: {oAttachmentFilePath}")
MESSAGE_ERROR = True
End Try
Catch ex As Exception
_Logger.Warn($"Error while creating and saving attachment-name: {ex.Message} - AttachmentName: {oAttachmentFilePath}")
MESSAGE_ERROR = True
End Try
TEMP_WORK_FILES.Add(oAttachmentFilePath)
Next
Else
_Logger.Warn($"If cause 2 EXTRACT_ATTACHMENTS: {CurrentTempMailPath} not existing")
End If
Else
_Logger.Warn($"EXTRACT_ATTACHMENTSIf cause 1: CURRENT_TEMP_MAIL_PATH is NOTHING")
End If
CURRENT_ATTMT_COUNT = oAttachmentCount
If MESSAGE_ERROR = True Then
WorkTempFiles("delete")
Return False
Else
WorkTempFiles("move")
Return True
End If
Catch ex As Exception
_Logger.Error(ex)
MESSAGE_ERROR = True
Return False
End Try
End Function
Private Sub WorkTempFiles(pAction As String) Private Sub WorkTempFiles(pAction As String)
For Each _file In TEMP_WORK_FILES For Each _file In TEMP_WORK_FILES
_Logger.Debug("Working ({0}) on temp work file: [{1}]", pAction, _file) _Logger.Debug("Working ({0}) on temp work file: [{1}]", pAction, _file)
@@ -1506,7 +1423,7 @@ Public Class clsWorkEmail
End Function End Function
Private Function WORK_POLL_STEPS() As Boolean Private Function WorkPollSteps() As Boolean
Try Try
Dim oFoundSomething As Boolean = False Dim oFoundSomething As Boolean = False
_worked_email = False _worked_email = False
@@ -1524,7 +1441,7 @@ Public Class clsWorkEmail
Dim sql As String = String.Format("SELECT * FROM TBEMLP_POLL_INDEXING_STEPS WHERE STEP_ID = {0} AND ACTIVE = 1", POLL_STEP_GUID) Dim sql As String = String.Format("SELECT * FROM TBEMLP_POLL_INDEXING_STEPS WHERE STEP_ID = {0} AND ACTIVE = 1", POLL_STEP_GUID)
DT_INDEXING_STEPS = _DB_MSSQL.GetDatatable(sql) DT_INDEXING_STEPS = _DB_MSSQL.GetDatatable(sql)
If DT_INDEXING_STEPS.Rows.Count > 0 Then If DT_INDEXING_STEPS.Rows.Count > 0 Then
WORK_INDEXING_STEPS() WorkIndexingSteps()
Else Else
_Logger.Info("No Indexing Steps found?! - SQL: " & sql) _Logger.Info("No Indexing Steps found?! - SQL: " & sql)
End If End If
@@ -1542,7 +1459,7 @@ Public Class clsWorkEmail
If DT_INDEXING_STEPS.Rows.Count >= 1 Then If DT_INDEXING_STEPS.Rows.Count >= 1 Then
_Logger.Info($"An index for direct answer was configured. Therefore it will be used...") _Logger.Info($"An index for direct answer was configured. Therefore it will be used...")
End If End If
WORK_INDEXING_STEPS() WorkIndexingSteps()
_worked_email = True _worked_email = True
End If End If
@@ -1561,11 +1478,11 @@ Public Class clsWorkEmail
Catch ex As Exception Catch ex As Exception
MESSAGE_ERROR = True MESSAGE_ERROR = True
_Logger.Error(ex) _Logger.Error(ex)
'clsLogger.Add("Unexpected Error in WORK_POLL_STEPS: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID, True)
Return False Return False
End Try End Try
End Function End Function
Private Function WORK_INDEXING_STEPS() As Boolean
Private Function WorkIndexingSteps() As Boolean
Try Try
For Each row As DataRow In DT_INDEXING_STEPS.Rows For Each row As DataRow In DT_INDEXING_STEPS.Rows
@@ -1582,10 +1499,10 @@ Public Class clsWorkEmail
Catch ex As Exception Catch ex As Exception
MESSAGE_ERROR = True MESSAGE_ERROR = True
_Logger.Error(ex) _Logger.Error(ex)
'clsLogger.Add("Unexpected Error in WORK_INDEXING_STEPS: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID, True)
Return False Return False
End Try End Try
End Function End Function
Private Function IndexFile(oidxname As String, oidxvalue As String, oConcat_act_Value As Boolean) Private Function IndexFile(oidxname As String, oidxvalue As String, oConcat_act_Value As Boolean)
Dim OArrIndex() As String Dim OArrIndex() As String
@@ -1636,9 +1553,9 @@ Public Class clsWorkEmail
End If End If
End Function End Function
Private Function GET_WMDOC_INFO() As Boolean Private Function GetWMDocInfo() As Boolean
Try Try
Dim oDOC_ID = REGEX_CHECK_DOC_ID(CURRENT_MAIL_SUBJECT.Replace("10636", "133092").Replace("10644", "133092")) Dim oDOC_ID = RegExCheckDocID(CURRENT_MAIL_SUBJECT.Replace("10636", "133092").Replace("10644", "133092"))
If Not IsNothing(oDOC_ID) Then If Not IsNothing(oDOC_ID) Then
Dim oDT_BASE_ATTR As DataTable = _DB_MSSQL.GetDatatableWithConnection("SELECT * FROM BaseAttributes WHERE dwDocID = " & oDOC_ID, _windreamConnectionString) Dim oDT_BASE_ATTR As DataTable = _DB_MSSQL.GetDatatableWithConnection("SELECT * FROM BaseAttributes WHERE dwDocID = " & oDOC_ID, _windreamConnectionString)
If Not IsNothing(oDT_BASE_ATTR) Then If Not IsNothing(oDT_BASE_ATTR) Then
@@ -1679,12 +1596,12 @@ Public Class clsWorkEmail
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
'clsLogger.Add("Unexpected Error in GET_DOC_INFO: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID)
MESSAGE_ERROR = True MESSAGE_ERROR = True
Return False Return False
End Try End Try
End Function End Function
Public Function REGEX_CHECK_DOC_ID(SearchString As String)
Public Function RegExCheckDocID(SearchString As String)
Try Try
Dim oRegex As New Regex("\[DID#{1}([0-9]+)]{1}") Dim oRegex As New Regex("\[DID#{1}([0-9]+)]{1}")
_Logger.Debug("REGEX_String before replacing: '" & SearchString & "'") _Logger.Debug("REGEX_String before replacing: '" & SearchString & "'")

View File

@@ -1,23 +1,22 @@
Imports EmailProfiler.Common.ClassCurrent Imports System.IO
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Base Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Messaging.Mail Imports DigitalData.Modules.Messaging.Mail
Imports EmailProfiler.Common.ClassCurrent
Imports Limilabs.Mail Imports Limilabs.Mail
Imports Limilabs.Mail.Headers Imports Limilabs.Mail.Headers
Imports System.Reflection.Emit
Imports GdPicture14
Public Class clsWorker Public Class clsWorker
Private ReadOnly Logger As Logger Private ReadOnly _Logger As Logger
Private ReadOnly Fetcher As MailFetcher Private ReadOnly _Fetcher As MailFetcher
Private ReadOnly Database As MSSQLServer Private ReadOnly _Database As MSSQLServer
Private ReadOnly UseWindream As Boolean = False Private ReadOnly _UseWindream As Boolean = False
Private ReadOnly ClassWindreamAllgemein As clsWindream_allgemein Private ReadOnly ClassWindreamAllgemein As clsWindream_allgemein
Private ReadOnly ClassWindreamIndex As clsWindream_Index Private ReadOnly ClassWindreamIndex As clsWindream_Index
Private ReadOnly ClassWorkMail As clsWorkEmail Private ReadOnly _ClassWorkMail As clsWorkEmail
Private ReadOnly Encryption As clsEncryption Private ReadOnly Encryption As clsEncryption
Private ReadOnly ProfileId As Integer = 0D Private ReadOnly _ProfileId As Integer = 0D
Private ReadOnly EmailLimitationSender As String = "" Private ReadOnly EmailLimitationSender As String = ""
Private ReadOnly EmailLimitationEnabled As Boolean = False Private ReadOnly EmailLimitationEnabled As Boolean = False
@@ -25,106 +24,96 @@ Public Class clsWorker
Private ReadOnly LocalEmlFile As String = "" Private ReadOnly LocalEmlFile As String = ""
Sub New(pLogConfig As LogConfig, pConnectionString As String, pWindreamConnectionString As String, pPollProfileId As Integer, pUseWindream As Boolean, Sub New(pLogConfig As LogConfig, pConnectionString As String, pWindreamConnectionString As String, pPollProfileId As Integer, pConfigData As Config, Optional pLocalEML As String = "")
pEmailAccountID As Integer, pEmailPrefix As String, pEmailLimitationSender As String, pRejectionTemplateId As Integer, pInfoTemplateId As Integer, Optional pLocalEML As String = "") _Logger = pLogConfig.GetLogger
Logger = pLogConfig.GetLogger
'ClassEmailImap = New clsEmailIMAP(pLogConfig) 'ClassEmailImap = New clsEmailIMAP(pLogConfig)
Fetcher = New MailFetcher(pLogConfig) _Fetcher = New MailFetcher(pLogConfig)
Database = New MSSQLServer(pLogConfig, pConnectionString) _Database = New MSSQLServer(pLogConfig, pConnectionString)
UseWindream = pUseWindream _UseWindream = pConfigData.UseWindream
EmailLimitationSender = pEmailLimitationSender EmailLimitationSender = pConfigData.EmailSenderLimitation
If EmailLimitationSender.Contains("@") Then If EmailLimitationSender.Contains("@") Then
Logger.Info("Email Sender Limitation active for address: [{0}]", EmailLimitationSender) _Logger.Info("Email Sender Limitation active for address: [{0}]", EmailLimitationSender)
EmailLimitationEnabled = True EmailLimitationEnabled = True
End If End If
If UseWindream Then If _UseWindream Then
ClassWindreamAllgemein = New clsWindream_allgemein(pLogConfig) ClassWindreamAllgemein = New clsWindream_allgemein(pLogConfig)
ClassWindreamIndex = New clsWindream_Index(pLogConfig) ClassWindreamIndex = New clsWindream_Index(pLogConfig)
End If End If
ClassWorkMail = New clsWorkEmail(pLogConfig, pConnectionString, pWindreamConnectionString, pUseWindream, pEmailAccountID, pEmailPrefix, pRejectionTemplateId, pInfoTemplateId) _ClassWorkMail = New clsWorkEmail(pLogConfig, pConnectionString, pWindreamConnectionString, pConfigData)
Encryption = New clsEncryption("!35452didalog=", pLogConfig) Encryption = New clsEncryption("!35452didalog=", pLogConfig)
ProfileId = pPollProfileId _ProfileId = pPollProfileId
LocalEmlFile = pLocalEML LocalEmlFile = pLocalEML
End Sub End Sub
Private Sub DeleteTempFiles() Private Sub DeleteTempFiles()
For Each _file In TEMP_FILES For Each _file In TEMP_FILES
Logger.Debug("Trying to delete temp file: [{0}]", _file) _Logger.Debug("Trying to delete temp file: [{0}]", _file)
If IO.File.Exists(_file) Then If File.Exists(_file) Then
Try Try
IO.File.Delete(_file) File.Delete(_file)
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) _Logger.Error(ex)
Logger.Warn("Could not delete the tempfile from TEMP_FILES: [{0}]", _file) _Logger.Warn("Could not delete the tempfile from TEMP_FILES: [{0}]", _file)
End Try End Try
End If End If
Next Next
TEMP_FILES.Clear() TEMP_FILES.Clear()
End Sub End Sub
Private Function LoadEmailAccounts() As DataTable Private Function LoadEmailAccounts() As DataTable
Return Database.GetDatatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1") Return _Database.GetDatatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
End Function End Function
Private Function LoadPollingProfiles(pProfileId As Integer) As DataTable Private Function LoadPollingProfiles(pProfileId As Integer) As DataTable
Dim oSQL = "SELECT * FROM TBEMLP_POLL_PROFILES WHERE ACTIVE = 1" Dim oSQL = "SELECT * FROM TBEMLP_POLL_PROFILES WHERE ACTIVE = 1"
If ProfileId = 0 Then If _ProfileId = 0 Then
oSQL &= " ORDER BY SEQUENCE" oSQL &= " ORDER BY SEQUENCE"
Else Else
oSQL &= $" AND GUID = {pProfileId}" oSQL &= $" AND GUID = {pProfileId}"
End If End If
Return Database.GetDatatable(oSQL) Return _Database.GetDatatable(oSQL)
End Function End Function
Public Sub Start_WorkingProfiles(Optional LocalEmail As Boolean = False, Optional CallFromService As Boolean = False) Public Sub Start_WorkingProfiles(Optional LocalEmail As Boolean = False)
Try Try
DeleteTempFiles() DeleteTempFiles()
IS_LOCAL_TEST = LocalEmail IS_LOCAL_TEST = LocalEmail
If Database.DBInitialized = False Then If _Database.DBInitialized = False Then
Logger.Warn("Database is not initialized. Exiting.") _Logger.Warn("Database is not initialized. Exiting.")
Exit Sub Exit Sub
End If End If
Logger.Debug("now windream_init... ") _Logger.Debug("now windream_init... ")
If UseWindream Then If _UseWindream Then
If ClassWindreamAllgemein.Init = False Then If ClassWindreamAllgemein.Init = False Then
Logger.Info("windream could not be initialized!!") _Logger.Info("windream could not be initialized!!")
Exit Sub Exit Sub
Else Else
Logger.Debug("windream_initialized!") _Logger.Debug("windream_initialized!")
End If End If
End If End If
Dim EmailAccountTable As DataTable = LoadEmailAccounts() Dim EmailAccountTable As DataTable = LoadEmailAccounts()
Dim PollingProfileTable = LoadPollingProfiles(ProfileId) Dim PollingProfileTable = LoadPollingProfiles(_ProfileId)
Dim oSQLGDPicture = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE ACTIVE = 1"
If CallFromService = True Then
oSQLGDPicture = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE EMAIL_PROFILER'"
End If
GDPictureLicense = Database.GetScalarValue(oSQLGDPicture)
If IsNothing(PollingProfileTable) Then If IsNothing(PollingProfileTable) Then
Logger.Warn("Error while fetching Polling Profiles. Exiting.") _Logger.Warn("Error while fetching Polling Profiles. Exiting.")
Exit Sub Exit Sub
End If End If
If PollingProfileTable.Rows.Count = 0 Then If PollingProfileTable.Rows.Count = 0 Then
Logger.Warn("No active Polling Profiles found. Exiting.") _Logger.Warn("No active Polling Profiles found. Exiting.")
Exit Sub Exit Sub
End If End If
Logger.Debug("Count of active profiles: " & PollingProfileTable.Rows.Count.ToString) _Logger.Debug("Count of active profiles: " & PollingProfileTable.Rows.Count.ToString)
For Each oProfile As DataRow In PollingProfileTable.Rows For Each oProfile As DataRow In PollingProfileTable.Rows
@@ -133,31 +122,31 @@ Public Class clsWorker
CURRENT_PROFILE_GUID = oProfile.Item("GUID") CURRENT_PROFILE_GUID = oProfile.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.GetDatatable(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.GetDatatable($"SELECT T.* FROM TBEMLP_POLL_STEPS T,TBEMLP_POLL_PROCESS T1 WHERE T.PROCESS_ID = T1.GUID AND T1.PROFILE_ID = {CURRENT_PROFILE_GUID} AND T1.ACTIVE = 1") DT_STEPS = _Database.GetDatatable($"SELECT T.* FROM TBEMLP_POLL_STEPS T,TBEMLP_POLL_PROCESS T1 WHERE T.PROCESS_ID = T1.GUID AND T1.PROFILE_ID = {CURRENT_PROFILE_GUID} AND T1.ACTIVE = 1")
End If End If
Else Else
Logger.Warn("DT_POLL_PROCESS is nothing") _Logger.Warn("DT_POLL_PROCESS is nothing")
Continue For Continue For
End If End If
CURRENT_EMAIL_GUID = 0 CURRENT_EMAIL_GUID = 0
CURRENT_POLL_TYPE = oProfile.Item("POLL_TYPE") CURRENT_POLL_TYPE = oProfile.Item("POLL_TYPE")
Logger.Debug(String.Format("Working on profile: ({0}-{1}-{2}) ", oProfile.Item("GUID"), oProfile.Item("PROFILE_NAME"), CURRENT_POLL_TYPE)) _Logger.Debug(String.Format("Working on profile: ({0}-{1}-{2}) ", oProfile.Item("GUID"), oProfile.Item("PROFILE_NAME"), CURRENT_POLL_TYPE))
CURRENT_EMAIL_GUID = oProfile.Item("EMAIL_CONF_ID") CURRENT_EMAIL_GUID = oProfile.Item("EMAIL_CONF_ID")
Dim FilteredRows As List(Of DataRow) = EmailAccountTable. Dim FilteredRows As List(Of DataRow) = EmailAccountTable.
Select($"GUID = {CURRENT_EMAIL_GUID}"). Select($"GUID = {CURRENT_EMAIL_GUID}").
ToList() ToList()
Logger.Debug("FilteredRows: " & FilteredRows.Count) _Logger.Debug("FilteredRows: " & FilteredRows.Count)
If FilteredRows.Count = 1 Then If FilteredRows.Count = 1 Then
Dim oRow = FilteredRows(0) Dim oRow = FilteredRows(0)
@@ -170,18 +159,18 @@ Public Class clsWorker
Dim oMailArchiveFolder = oRow("ARCHIVE_FOLDER") Dim oMailArchiveFolder = oRow("ARCHIVE_FOLDER")
Dim oMailAuthType = oRow("AUTH_TYPE") Dim oMailAuthType = oRow("AUTH_TYPE")
Logger.Debug("Mail Server: {0}", oMailServer) _Logger.Debug("Mail Server: {0}", oMailServer)
Logger.Debug("Mail From: {0}", oMailFrom) _Logger.Debug("Mail From: {0}", oMailFrom)
Dim PWPlain = Encryption.DecryptData(oMailPassword) Dim PWPlain = Encryption.DecryptData(oMailPassword)
If Not IsNothing(PWPlain) Then If Not IsNothing(PWPlain) Then
If PWPlain <> "" Then If PWPlain <> "" Then
oMailPassword = PWPlain oMailPassword = PWPlain
Else Else
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort") _Logger.Warn("PWPlain is string.empty - Could not decrypt passwort")
End If End If
Else Else
Logger.Warn("PWPlain is nothing - Could not decrypt passwort") _Logger.Warn("PWPlain is nothing - Could not decrypt passwort")
End If End If
CURRENT_WORKMAIL_UID_LIST.Clear() CURRENT_WORKMAIL_UID_LIST.Clear()
@@ -197,26 +186,24 @@ Public Class clsWorker
oPollResult = FetchMessages(oMailServer, oMailPortIn, oMailUser, oMailPassword, oMailAuthType, oMailArchiveFolder) oPollResult = FetchMessages(oMailServer, oMailPortIn, oMailUser, oMailPassword, oMailAuthType, oMailArchiveFolder)
Case Else Case Else
Logger.Error("Poll Type [{0}] is not supported!", CURRENT_POLL_TYPE) _Logger.Error("Poll Type [{0}] is not supported!", CURRENT_POLL_TYPE)
oPollResult = False oPollResult = False
End Select End Select
End If End If
If CURRENT_WORKMAIL_UID_LIST.Count() > 0 Or LocalEmail = True Then If CURRENT_WORKMAIL_UID_LIST.Count() > 0 Or LocalEmail = True Then
If LocalEmail Then If LocalEmail Then
Logger.Info("Working with local Mail") _Logger.Info("Working with local Mail")
Dim oEmail As IMail = New MailBuilder().CreateFromEmlFile(LocalEmlFile) Dim oEmail As IMail = New MailBuilder().CreateFromEmlFile(LocalEmlFile)
Dim oUID = String.Concat(Now.Month.ToString, Now.Day, Now.Hour, Now.Minute, Now.Second) Dim oUID = String.Concat(Now.Month.ToString, Now.Day, Now.Hour, Now.Minute, Now.Second)
ClassWorkMail.WorkEmailMessage(oEmail, oUID, oValidationSql) _ClassWorkMail.WorkEmailMessage(oEmail, oUID, oValidationSql)
'CURRENT_MAIL_MESSAGE = Nothing
Else Else
Try Try
Logger.Info(String.Format("Pulled: [{0}] E-Mails", CURRENT_WORKMAIL_UID_LIST.Count())) _Logger.Info(String.Format("Pulled: [{0}] E-Mails", CURRENT_WORKMAIL_UID_LIST.Count()))
For Each oMailId In CURRENT_WORKMAIL_UID_LIST For Each oMailId In CURRENT_WORKMAIL_UID_LIST
Dim oEmail As IMail = Fetcher.FetchMail(oMailId) Dim oEmail As IMail = _Fetcher.FetchMail(oMailId)
If Not IsNothing(oEmail) Then If Not IsNothing(oEmail) Then
If EmailLimitationEnabled Then If EmailLimitationEnabled Then
@@ -225,52 +212,51 @@ Public Class clsWorker
oEmailFrom = m.Address oEmailFrom = m.Address
Next Next
If oEmailFrom <> EmailLimitationSender Then If oEmailFrom <> EmailLimitationSender Then
Logger.Debug($"Skipping email {oEmailFrom} ...Subject [{oEmail.Subject}]") _Logger.Debug($"Skipping email {oEmailFrom} ...Subject [{oEmail.Subject}]")
Continue For Continue For
End If End If
End If End If
If ClassWorkMail.WorkEmailMessage(oEmail, oMailId, oValidationSql) = True Then ' Hier wird die einzelne EMail jetzt verarbeitet
If _ClassWorkMail.WorkEmailMessage(oEmail, oMailId, oValidationSql) = True Then
If LocalEmlFile = "" Then If LocalEmlFile = "" Then
DeleteOrMoveEmailFile(oMailId) DeleteOrMoveEmailFile(oMailId)
End If End If
End If End If
Else Else
Logger.Info("### oEmail was nothing ###") _Logger.Info("### oEmail was nothing ###")
End If End If
'CURRENT_MAIL_MESSAGE = Nothing
Next Next
If CURRENT_POLL_TYPE = "IMAP" And CURRENT_WORKMAIL_UID_LIST.Count > 0 Then If CURRENT_POLL_TYPE = "IMAP" And CURRENT_WORKMAIL_UID_LIST.Count > 0 Then
Fetcher.Disconnect() _Fetcher.Disconnect()
End If End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) _Logger.Error(ex)
Logger.Warn($"Unexpected Error working CURRENT_WORKMAIL_UID_LIST: {ex.Message} ") _Logger.Warn($"Unexpected Error working CURRENT_WORKMAIL_UID_LIST: {ex.Message} ")
End Try End Try
End If End If
Else Else
Logger.Debug(String.Format("No emails for profile!")) _Logger.Debug(String.Format("No emails for profile!"))
End If End If
Else Else
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.ExecuteNonQuery("UPDATE TBEMLP_POLL_PROFILES SET LAST_TICK = GETDATE() WHERE GUID = " & oProfile.Item("GUID").ToString) _Database.ExecuteNonQuery("UPDATE TBEMLP_POLL_PROFILES SET LAST_TICK = GETDATE() WHERE GUID = " & oProfile.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
Next Next
DeleteTempFiles() DeleteTempFiles()
Database.ExecuteNonQuery("UPDATE TBEMLP_CONFIG SET LAST_TICK = GETDATE() WHERE GUID = 1") _Database.ExecuteNonQuery("UPDATE TBEMLP_CONFIG SET LAST_TICK = GETDATE() WHERE GUID = 1")
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) _Logger.Error(ex)
End Try End Try
End Sub End Sub
@@ -282,9 +268,9 @@ Public Class clsWorker
Dim oClientId As String = pServer Dim oClientId As String = pServer
Dim oClientSecret As String = pPassword Dim oClientSecret As String = pPassword
Dim oTenantId As String = pArchiveFolder Dim oTenantId As String = pArchiveFolder
oSession = Fetcher.ConnectToO365(pUsername, oClientId, oTenantId, oClientSecret) oSession = _Fetcher.ConnectToO365(pUsername, oClientId, oTenantId, oClientSecret)
Else Else
oSession = Fetcher.Connect(pServer, pPort, pUsername, pPassword, pAuthType, New MailSession.MailSessionOptions() With { oSession = _Fetcher.Connect(pServer, pPort, pUsername, pPassword, pAuthType, New MailSession.MailSessionOptions() With {
.EnableTls1_1 = True, .EnableTls1_1 = True,
.EnableTls1_2 = True .EnableTls1_2 = True
}) })
@@ -292,25 +278,25 @@ Public Class clsWorker
If oSession.Connected = False AndAlso oSession.Error IsNot Nothing Then If oSession.Connected = False AndAlso oSession.Error IsNot Nothing Then
Logger.Warn("Connection to Mail Server failed!") _Logger.Warn("Connection to Mail Server failed!")
Logger.Error(oSession.Error) _Logger.Error(oSession.Error)
Return False Return False
ElseIf oSession.Connected = False Then ElseIf oSession.Connected = False Then
Logger.Warn("Connection to Mail Server failed!") _Logger.Warn("Connection to Mail Server failed!")
Return False Return False
End If End If
CURRENT_ImapObject = Fetcher.Client CURRENT_ImapObject = _Fetcher.Client
Dim oMailIds As List(Of Long) = Fetcher.ListAllMails() Dim oMailIds As List(Of Long) = _Fetcher.ListAllMails()
If oMailIds Is Nothing Then If oMailIds Is Nothing Then
Logger.Warn("List of UIDs was Nothing. Exiting.") _Logger.Warn("List of UIDs was Nothing. Exiting.")
Return False Return False
End If End If
If oMailIds.Count = 0 Then If oMailIds.Count = 0 Then
Logger.Debug("No Emails found.") _Logger.Debug("No Emails found.")
Return True Return True
End If End If
@@ -319,7 +305,7 @@ Public Class clsWorker
Return True Return True
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) _Logger.Error(ex)
Return False Return False
End Try End Try
@@ -327,41 +313,41 @@ Public Class clsWorker
Private Sub DeleteOrMoveEmailFile(pMailId As Integer) Private Sub DeleteOrMoveEmailFile(pMailId As Integer)
Try Try
If MESSAGE_ERROR = True Then If MESSAGE_ERROR = True Then
Logger.Warn("Did not delete or move Message with UID [{0}] as there was an MessageError!", pMailId) _Logger.Warn("Did not delete or move Message with UID [{0}] as there was an MessageError!", pMailId)
Return Return
End If End If
If IsNothing(Fetcher.Client) Then If IsNothing(_Fetcher.Client) Then
Logger.Warn("Did not delete or move Message with UID [{0}] as ImapClient is null", pMailId) _Logger.Warn("Did not delete or move Message with UID [{0}] as ImapClient is null", pMailId)
Return Return
End If End If
If DeleteMail = True Then If DeleteMail = True Then
Fetcher.Client.DeleteMessageByUID(pMailId) _Fetcher.Client.DeleteMessageByUID(pMailId)
Logger.Info("Email with Id [{0}] was deleted.", pMailId) _Logger.Info("Email with Id [{0}] was deleted.", pMailId)
Else Else
If TestImapFolderExists(SUCCESS_IMAP_FOLDER) Then If TestImapFolderExists(SUCCESS_IMAP_FOLDER) Then
If Fetcher.Client.MoveByUID(pMailId, SUCCESS_IMAP_FOLDER) IsNot Nothing Then If _Fetcher.Client.MoveByUID(pMailId, SUCCESS_IMAP_FOLDER) IsNot Nothing Then
Logger.Info("Email with UID [{0}] was moved", pMailId) _Logger.Info("Email with UID [{0}] was moved", pMailId)
End If End If
Else Else
Logger.Warn("IMAP Folder [{0}] does not exist. Emails could not be moved!", SUCCESS_IMAP_FOLDER) _Logger.Warn("IMAP Folder [{0}] does not exist. Emails could not be moved!", SUCCESS_IMAP_FOLDER)
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) _Logger.Error(ex)
End Try End Try
End Sub End Sub
Private Function TestImapFolderExists(pFolderName As String) As Boolean Private Function TestImapFolderExists(pFolderName As String) As Boolean
Try Try
Return Fetcher.Client. Return _Fetcher.Client.
GetFolders(). GetFolders().
Where(Function(f) f.Name = pFolderName). Where(Function(f) f.Name = pFolderName).
Any() Any()
Catch ex As Exception Catch ex As Exception
Logger.Warn("Could not get IMAP folders. Returning False.") _Logger.Warn("Could not get IMAP folders. Returning False.")
Logger.Error(ex) _Logger.Error(ex)
Return False Return False
End Try End Try
End Function End Function

View File

@@ -1,7 +1,33 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="AE.Net.Mail" version="1.7.10.0" targetFramework="net461" /> <package id="AE.Net.Mail" version="1.7.10.0" targetFramework="net461" />
<package id="GdPicture" version="14.2.90" targetFramework="net462" /> <package id="BouncyCastle.Cryptography" version="2.5.0" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.2.90" targetFramework="net462" /> <package id="DocumentFormat.OpenXml" version="3.2.0" targetFramework="net462" />
<package id="DocumentFormat.OpenXml.Framework" version="3.2.0" targetFramework="net462" />
<package id="GdPicture" version="14.3.21" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.3.21" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net462" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net462" />
<package id="Microsoft.VisualBasic" version="10.3.0" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json.Bson" version="1.0.2" targetFramework="net462" />
<package id="NLog" version="5.0.5" targetFramework="net461" /> <package id="NLog" version="5.0.5" targetFramework="net461" />
<package id="OpenMcdf" version="2.4.1" targetFramework="net462" />
<package id="protobuf-net" version="3.2.46" targetFramework="net462" />
<package id="protobuf-net.Core" version="3.2.46" targetFramework="net462" />
<package id="RtfPipe" version="2.0.7677.4303" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.CodeDom" version="8.0.0" targetFramework="net462" />
<package id="System.Collections.Immutable" version="8.0.0" targetFramework="net462" />
<package id="System.IO.Packaging" version="8.0.1" targetFramework="net462" />
<package id="System.Management" version="8.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="8.0.1" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="8.0.6" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
</packages> </packages>

View File

@@ -9,12 +9,10 @@
</sectionGroup> </sectionGroup>
</configSections> </configSections>
<connectionStrings> <connectionStrings>
<add name="EmailProfiler.Form.My.MySettings.MyDatasetConnString" <add name="EmailProfiler.Form.My.MySettings.MyDatasetConnString" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=dd;Encrypt=True;TrustServerCertificate=True" providerName="System.Data.SqlClient"/>
connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd"
providerName="System.Data.SqlClient" />
</connectionStrings> </connectionStrings>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup> </startup>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@@ -26,12 +24,6 @@
</runtime> </runtime>
<userSettings> <userSettings>
<EmailProfiler.Form.My.MySettings> <EmailProfiler.Form.My.MySettings>
<setting name="MyConnectionString" 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="MyServer" serializeAs="String">
<value />
</setting>
<setting name="EmailTest_Receipiant" serializeAs="String"> <setting name="EmailTest_Receipiant" serializeAs="String">
<value/> <value/>
</setting> </setting>
@@ -45,6 +37,9 @@
</userSettings> </userSettings>
<applicationSettings> <applicationSettings>
<EmailProfiler.Form.My.MySettings> <EmailProfiler.Form.My.MySettings>
<setting name="MyConnectionString" 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="FB_DATABASE" serializeAs="String"> <setting name="FB_DATABASE" serializeAs="String">
<value/> <value/>
</setting> </setting>

View File

@@ -1,22 +0,0 @@
Imports DigitalData.Modules.Config.ConfigAttributes
Public Class Config
<ConnectionString>
Public Property ConnectionString As String = ""
Public Property Debug As Boolean = False
Public Property EmailAccountId As Integer = 0
Public Property EmailTitlePrefix As String = "EmailProfiler"
Public Property EmailSenderLimitation As String = ""
Public Property UseWindream As Boolean = False
''' <summary>
''' GUID des EMail Templates das bei Ablehnungsmails verwendet wird.
''' Siehe Tabelle DD_ECM.dbo.TBDD_EMAIL_TEMPLATE
''' </summary>
Public Property RejectionTemplateId As Integer = 0
Public Property InfoTemplateId As Integer = 0
Public Property EmailTestReceiver As String = ""
Public Property EmailTestHTML As String = ""
End Class

View File

@@ -11,7 +11,7 @@
<AssemblyName>EmailProfiler.Form</AssemblyName> <AssemblyName>EmailProfiler.Form</AssemblyName>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType> <MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
@@ -60,31 +60,35 @@
<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.GUIs.Common, Version=2.5.6.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.GUIs.Common">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Base, Version=1.3.6.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Base">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Config, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Config">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Database, Version=2.3.4.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Database">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.6.3.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Logging">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Messaging, Version=1.9.3.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Messaging">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath>
</Reference> </Reference>
<Reference Include="EmailProfiler.Common, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\EmailProfiler.Common\bin\Debug\EmailProfiler.Common.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Identity.Client, Version=4.55.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Identity.Client.4.55.0\lib\net461\Microsoft.Identity.Client.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=6.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.6.22.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference> </Reference>
@@ -93,6 +97,7 @@
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Deployment" /> <Reference Include="System.Deployment" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.IdentityModel" />
<Reference Include="System.IO.Compression" /> <Reference Include="System.IO.Compression" />
<Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" /> <Reference Include="System.ServiceModel" />
@@ -119,7 +124,6 @@
<Import Include="System.Threading.Tasks" /> <Import Include="System.Threading.Tasks" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Config.vb" />
<Compile Include="frmMain.vb"> <Compile Include="frmMain.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -151,6 +155,7 @@
<Compile Include="MyDataset.vb"> <Compile Include="MyDataset.vb">
<DependentUpon>MyDataset.xsd</DependentUpon> <DependentUpon>MyDataset.xsd</DependentUpon>
</Compile> </Compile>
<Compile Include="Settings.vb" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="frmMain.resx"> <EmbeddedResource Include="frmMain.resx">
@@ -206,19 +211,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="envelope.ico" /> <Content Include="envelope.ico" />
<Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Resources\email_go.png" /> <None Include="Resources\email_go.png" />
<None Include="Resources\key_16xLG.png" /> <None Include="Resources\key_16xLG.png" />
<None Include="Resources\Encrypt.png" /> <None Include="Resources\Encrypt.png" />
<None Include="Resources\folder_Closed_16xLG.png" /> <None Include="Resources\folder_Closed_16xLG.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EmailProfiler.Common\EmailProfiler.Common.vbproj">
<Project>{9f748dcd-952e-40a0-9dad-65bf8a39b231}</Project>
<Name>EmailProfiler.Common</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project> </Project>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<License>
<Id>4dc5ef40-f1a9-468b-994c-b7ed600ad878</Id>
<ProductName>Mail.dll</ProductName>
<SubscriptionUntil>2022-07-29</SubscriptionUntil>
<RegisteredTo>Digital Data GmbH</RegisteredTo>
<LicenseType>single developer</LicenseType>
<BuyerName>Digital Data GmbH</BuyerName>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>75MRtl4ipYelIZYlpT8O7QDX9Zc=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>Raxfkz6DfQVs/sMvH+F2nH0eHXD8FoUFSdP3t7AgBUdpABJQx86srlyuMSEhXPlc1THCqPouEVob4RsWnd9OXvTiPPSOUSK9zuNG6uz93KLAhpSD5PraAgBCF4jwZArlAp7aCNfZpHqQ3w6TRHS+CfravUU0AHHG3MZ1ZcRkGuo=</SignatureValue>
</Signature>
</License>

View File

@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
' <auto-generated> ' <auto-generated>
' Dieser Code wurde von einem Tool generiert. ' This code was generated by a tool.
' Laufzeitversion:4.0.30319.42000 ' Runtime Version:4.0.30319.42000
' '
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' Changes to this file may cause incorrect behavior and will be lost if
' der Code erneut generiert wird. ' the code is regenerated.
' </auto-generated> ' </auto-generated>
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
@@ -14,10 +14,10 @@ Option Explicit On
Namespace My Namespace My
'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' oder in dieser Datei Buildfehler auftreten, wechseln Sie zum Projekt-Designer. ' or if you encounter build errors in this file, go to the Project Designer
' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im ' (go to Project Properties or double-click the My Project node in
' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor. ' Solution Explorer), and make changes on the Application tab.
' '
Partial Friend Class MyApplication Partial Friend Class MyApplication
@@ -34,5 +34,11 @@ Namespace My
Protected Overrides Sub OnCreateMainForm() Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.EmailProfiler.Form.frmMain Me.MainForm = Global.EmailProfiler.Form.frmMain
End Sub End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
Me.MinimumSplashScreenDisplayTime = 0
Return MyBase.OnInitialize(commandLineArgs)
End Function
End Class End Class
End Namespace End Namespace

View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <MyApplicationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MySubMain>true</MySubMain> <MySubMain>true</MySubMain>
<MainForm>Form1</MainForm> <MainForm>frmMain</MainForm>
<SingleInstance>false</SingleInstance> <SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode> <ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles> <EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode> <AuthenticationMode>0</AuthenticationMode>
<ApplicationType>0</ApplicationType> <MinimumSplashScreenDisplayTime>0</MinimumSplashScreenDisplayTime>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit> <SaveMySettingsOnExit>true</SaveMySettingsOnExit>
<HighDpiMode>0</HighDpiMode>
</MyApplicationData> </MyApplicationData>

View File

@@ -12,8 +12,8 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Digital Data")> <Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("EmailProfiler Config")> <Assembly: AssemblyProduct("EmailProfiler Config")>
<Assembly: AssemblyCopyright("Copyright © 2024")> <Assembly: AssemblyCopyright("Copyright © 2025")>
<Assembly: AssemblyTrademark("2.14.0.0")> <Assembly: AssemblyTrademark("3.2.0")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.14.0.0")> <Assembly: AssemblyVersion("3.2.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
' <auto-generated> ' <auto-generated>
' Dieser Code wurde von einem Tool generiert. ' This code was generated by a tool.
' Laufzeitversion:4.0.30319.42000 ' Runtime Version:4.0.30319.42000
' '
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' Changes to this file may cause incorrect behavior and will be lost if
' der Code erneut generiert wird. ' the code is regenerated.
' </auto-generated> ' </auto-generated>
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
@@ -15,12 +15,12 @@ Imports System
Namespace My.Resources Namespace My.Resources
'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert 'This class was auto-generated by the StronglyTypedResourceBuilder
'-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. 'class via a tool like ResGen or Visual Studio.
'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen 'To add or remove a member, edit your .ResX file then rerun ResGen
'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. 'with the /str option, or rebuild your VS project.
'''<summary> '''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. ''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary> '''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _ <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -33,7 +33,7 @@ Namespace My.Resources
Private resourceCulture As Global.System.Globalization.CultureInfo Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary> '''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. ''' Returns the cached ResourceManager instance used by this class.
'''</summary> '''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
@@ -47,8 +47,8 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle ''' Overrides the current thread's CurrentUICulture property for all
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. ''' resource lookups using this strongly typed resource class.
'''</summary> '''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo Friend Property Culture() As Global.System.Globalization.CultureInfo
@@ -61,7 +61,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property arrow_Down_16xMD() As System.Drawing.Bitmap Friend ReadOnly Property arrow_Down_16xMD() As System.Drawing.Bitmap
Get Get
@@ -71,7 +71,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property arrow_right() As System.Drawing.Bitmap Friend ReadOnly Property arrow_right() As System.Drawing.Bitmap
Get Get
@@ -81,7 +81,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property email_go() As System.Drawing.Bitmap Friend ReadOnly Property email_go() As System.Drawing.Bitmap
Get Get
@@ -91,7 +91,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property Encrypt() As System.Drawing.Bitmap Friend ReadOnly Property Encrypt() As System.Drawing.Bitmap
Get Get
@@ -101,7 +101,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property folder_Closed_16xLG() As System.Drawing.Bitmap Friend ReadOnly Property folder_Closed_16xLG() As System.Drawing.Bitmap
Get Get
@@ -111,7 +111,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property handdrawn_arrow_down() As System.Drawing.Bitmap Friend ReadOnly Property handdrawn_arrow_down() As System.Drawing.Bitmap
Get Get
@@ -121,7 +121,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property key_16xLG() As System.Drawing.Bitmap Friend ReadOnly Property key_16xLG() As System.Drawing.Bitmap
Get Get
@@ -131,7 +131,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property refresh_16xLG() As System.Drawing.Bitmap Friend ReadOnly Property refresh_16xLG() As System.Drawing.Bitmap
Get Get
@@ -141,7 +141,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary> '''</summary>
Friend ReadOnly Property save_16xMD() As System.Drawing.Bitmap Friend ReadOnly Property save_16xMD() As System.Drawing.Bitmap
Get Get

View File

@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
' <auto-generated> ' <auto-generated>
' Dieser Code wurde von einem Tool generiert. ' This code was generated by a tool.
' Laufzeitversion:4.0.30319.42000 ' Runtime Version:4.0.30319.42000
' '
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' Changes to this file may cause incorrect behavior and will be lost if
' der Code erneut generiert wird. ' the code is regenerated.
' </auto-generated> ' </auto-generated>
'------------------------------------------------------------------------------ '------------------------------------------------------------------------------
@@ -15,14 +15,14 @@ Option Explicit On
Namespace My Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Automatische My.Settings-Speicherfunktion" #Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then #If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean Private Shared addedHandler As Boolean
@@ -54,29 +54,14 @@ Namespace My
End Get End Get
End Property End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _ <Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security "& _ Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security "& _
"Info=True;User ID=sa;Password=dd")> _ "Info=True;User ID=sa;Password=dd")> _
Public Property MyConnectionString() As String Public ReadOnly Property MyConnectionString() As String
Get Get
Return CType(Me("MyConnectionString"),String) Return CType(Me("MyConnectionString"),String)
End Get End Get
Set
Me("MyConnectionString") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property MyServer() As String
Get
Return CType(Me("MyServer"),String)
End Get
Set
Me("MyServer") = value
End Set
End Property End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _ <Global.System.Configuration.UserScopedSettingAttribute(), _
@@ -172,8 +157,8 @@ Namespace My
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _ <Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _ Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security "& _ Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Passwo"& _
"Info=True;User ID=sa;Password=dd")> _ "rd=dd;Encrypt=True;TrustServerCertificate=True")> _
Public ReadOnly Property MyDatasetConnString() As String Public ReadOnly Property MyDatasetConnString() As String
Get Get
Return CType(Me("MyDatasetConnString"),String) Return CType(Me("MyDatasetConnString"),String)

View File

@@ -2,12 +2,9 @@
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true"> <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles /> <Profiles />
<Settings> <Settings>
<Setting Name="MyConnectionString" Type="System.String" Scope="User"> <Setting Name="MyConnectionString" 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> <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>
<Setting Name="MyServer" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="EmailTest_Receipiant" Type="System.String" Scope="User"> <Setting Name="EmailTest_Receipiant" Type="System.String" Scope="User">
<Value Profile="(Default)" /> <Value Profile="(Default)" />
</Setting> </Setting>
@@ -38,10 +35,10 @@
<Setting Name="MyDatasetConnString" Type="(Connection string)" Scope="Application"> <Setting Name="MyDatasetConnString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt; <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;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;Persist Security Info=True;User ID=sa;Password=dd&lt;/ConnectionString&gt; &lt;ConnectionString&gt;Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=dd;Encrypt=True;TrustServerCertificate=True&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt; &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue> &lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd</Value> <Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=dd;Encrypt=True;TrustServerCertificate=True</Value>
</Setting> </Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

File diff suppressed because it is too large Load Diff

View File

@@ -105,87 +105,160 @@ SELECT GUID, PROFILE_NAME, POLL_TYPE, EMAIL_CONF_ID, COMMENT, LAST_TICK, ACTIVE,
</TableAdapter> </TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBEMLP_POLL_PROCESSTableAdapter" GeneratorDataComponentClassName="TBEMLP_POLL_PROCESSTableAdapter" Name="TBEMLP_POLL_PROCESS" UserDataComponentName="TBEMLP_POLL_PROCESSTableAdapter"> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBEMLP_POLL_PROCESSTableAdapter" GeneratorDataComponentClassName="TBEMLP_POLL_PROCESSTableAdapter" Name="TBEMLP_POLL_PROCESS" UserDataComponentName="TBEMLP_POLL_PROCESSTableAdapter">
<MainSource> <MainSource>
<DbSource ConnectionRef="MyDatasetConnString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill"> <DbSource ConnectionRef="MyDatasetConnString (MySettings)" DbObjectName="DD_ECM.dbo.TBEMLP_POLL_PROCESS" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand> <DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM TBEMLP_POLL_PROCESS <CommandText>DELETE FROM [TBEMLP_POLL_PROCESS] WHERE (([GUID] = @Original_GUID) AND ([PROCESS_NAME] = @Original_PROCESS_NAME) AND ([STEP_NAME] = @Original_STEP_NAME) AND ([PROFILE_ID] = @Original_PROFILE_ID) AND ([COPY_2_HDD] = @Original_COPY_2_HDD) AND ([WM_IMPORT] = @Original_WM_IMPORT) AND ((@IsNull_WM_OBJEKTTYPE = 1 AND [WM_OBJEKTTYPE] IS NULL) OR ([WM_OBJEKTTYPE] = @Original_WM_OBJEKTTYPE)) AND ((@IsNull_WM_VECTOR_LOG = 1 AND [WM_VECTOR_LOG] IS NULL) OR ([WM_VECTOR_LOG] = @Original_WM_VECTOR_LOG)) AND ((@IsNull_WM_PATH = 1 AND [WM_PATH] IS NULL) OR ([WM_PATH] = @Original_WM_PATH)) AND ((@IsNull_WM_FILE_NAME = 1 AND [WM_FILE_NAME] IS NULL) OR ([WM_FILE_NAME] = @Original_WM_FILE_NAME)) AND ((@IsNull_WM_REFERENCE_INDEX = 1 AND [WM_REFERENCE_INDEX] IS NULL) OR ([WM_REFERENCE_INDEX] = @Original_WM_REFERENCE_INDEX)) AND ([PATH_EMAIL_TEMP] = @Original_PATH_EMAIL_TEMP) AND ([PATH_EMAIL_ERRORS] = @Original_PATH_EMAIL_ERRORS) AND ([DELETE_MAIL] = @Original_DELETE_MAIL) AND ((@IsNull_COMMENT = 1 AND [COMMENT] IS NULL) OR ([COMMENT] = @Original_COMMENT)) AND ([ACTIVE] = @Original_ACTIVE) AND ((@IsNull_SEQUENCE = 1 AND [SEQUENCE] IS NULL) OR ([SEQUENCE] = @Original_SEQUENCE)) AND ((@IsNull_ADDED_WHO = 1 AND [ADDED_WHO] IS NULL) OR ([ADDED_WHO] = @Original_ADDED_WHO)) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) AND ((@IsNull_CHANGED_WHO = 1 AND [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Original_CHANGED_WHO)) AND ((@IsNull_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) OR ([CHANGED_WHEN] = @Original_CHANGED_WHEN)) AND ([WM_IDX_BODY_TEXT] = @Original_WM_IDX_BODY_TEXT) AND ([WM_IDX_BODY_SUBSTR_LENGTH] = @Original_WM_IDX_BODY_SUBSTR_LENGTH) AND ((@IsNull_PATH_ORIGINAL = 1 AND [PATH_ORIGINAL] IS NULL) OR ([PATH_ORIGINAL] = @Original_PATH_ORIGINAL)) AND ((@IsNull_ALLOW_XML_RECEIPTS = 1 AND [ALLOW_XML_RECEIPTS] IS NULL) OR ([ALLOW_XML_RECEIPTS] = @Original_ALLOW_XML_RECEIPTS)))</CommandText>
WHERE (GUID = @Original_GUID)</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PROCESS_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PROCESS_NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_STEP_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="STEP_NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PROFILE_ID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PROFILE_ID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_COPY_2_HDD" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="COPY_2_HDD" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_WM_IMPORT" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="WM_IMPORT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_OBJEKTTYPE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_OBJEKTTYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_VECTOR_LOG" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_VECTOR_LOG" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_PATH" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_PATH" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_PATH" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_PATH" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_FILE_NAME" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_FILE_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_REFERENCE_INDEX" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_REFERENCE_INDEX" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PATH_EMAIL_TEMP" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_TEMP" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PATH_EMAIL_ERRORS" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_ERRORS" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_DELETE_MAIL" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="DELETE_MAIL" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_COMMENT" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SEQUENCE" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ADDED_WHO" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ADDED_WHEN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CHANGED_WHO" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CHANGED_WHEN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_IDX_BODY_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_TEXT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_WM_IDX_BODY_SUBSTR_LENGTH" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_PATH_ORIGINAL" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PATH_ORIGINAL" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ALLOW_XML_RECEIPTS" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ALLOW_XML_RECEIPTS" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_ALLOW_XML_RECEIPTS" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ALLOW_XML_RECEIPTS" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</DeleteCommand> </DeleteCommand>
<InsertCommand> <InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO TBEMLP_POLL_PROCESS <CommandText>INSERT INTO [TBEMLP_POLL_PROCESS] ([PROCESS_NAME], [STEP_NAME], [PROFILE_ID], [COPY_2_HDD], [WM_IMPORT], [WM_OBJEKTTYPE], [WM_VECTOR_LOG], [WM_PATH], [WM_FILE_NAME], [WM_REFERENCE_INDEX], [PATH_EMAIL_TEMP], [PATH_EMAIL_ERRORS], [DELETE_MAIL], [COMMENT], [ACTIVE], [SEQUENCE], [ADDED_WHO], [ADDED_WHEN], [CHANGED_WHO], [CHANGED_WHEN], [WM_IDX_BODY_TEXT], [WM_IDX_BODY_SUBSTR_LENGTH], [PATH_ORIGINAL], [ALLOW_XML_RECEIPTS]) VALUES (@PROCESS_NAME, @STEP_NAME, @PROFILE_ID, @COPY_2_HDD, @WM_IMPORT, @WM_OBJEKTTYPE, @WM_VECTOR_LOG, @WM_PATH, @WM_FILE_NAME, @WM_REFERENCE_INDEX, @PATH_EMAIL_TEMP, @PATH_EMAIL_ERRORS, @DELETE_MAIL, @COMMENT, @ACTIVE, @SEQUENCE, @ADDED_WHO, @ADDED_WHEN, @CHANGED_WHO, @CHANGED_WHEN, @WM_IDX_BODY_TEXT, @WM_IDX_BODY_SUBSTR_LENGTH, @PATH_ORIGINAL, @ALLOW_XML_RECEIPTS);
(PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS, SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS, DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH, PATH_ORIGINAL, ALLOW_XML_RECEIPTS FROM TBEMLP_POLL_PROCESS WHERE (GUID = SCOPE_IDENTITY())</CommandText>
DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH, PATH_ORIGINAL)
VALUES (@PROCESS_NAME,@STEP_NAME,@PROFILE_ID,@COPY_2_HDD,@WM_IMPORT,@WM_OBJEKTTYPE,@WM_VECTOR_LOG,@WM_PATH,@WM_FILE_NAME,@WM_REFERENCE_INDEX,@PATH_EMAIL_TEMP,@PATH_EMAIL_ERRORS,@DELETE_MAIL,@COMMENT,@ACTIVE,@SEQUENCE,@ADDED_WHO,@WM_IDX_BODY_TEXT,@WM_IDX_BODY_SUBSTR_LENGTH,@PATH_ORIGINAL);
SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS, DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH FROM TBEMLP_POLL_PROCESS WHERE (GUID = SCOPE_IDENTITY())</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROCESS_NAME" ColumnName="PROCESS_NAME" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@PROCESS_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="PROCESS_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PROCESS_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PROCESS_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="STEP_NAME" ColumnName="STEP_NAME" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@STEP_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="STEP_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@STEP_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="STEP_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PROFILE_ID" ColumnName="PROFILE_ID" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFILE_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFILE_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PROFILE_ID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PROFILE_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="COPY_2_HDD" ColumnName="COPY_2_HDD" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@COPY_2_HDD" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="COPY_2_HDD" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@COPY_2_HDD" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="COPY_2_HDD" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WM_IMPORT" ColumnName="WM_IMPORT" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@WM_IMPORT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="WM_IMPORT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@WM_IMPORT" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="WM_IMPORT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_OBJEKTTYPE" ColumnName="WM_OBJEKTTYPE" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_OBJEKTTYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_OBJEKTTYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_VECTOR_LOG" ColumnName="WM_VECTOR_LOG" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_VECTOR_LOG" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_VECTOR_LOG" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_PATH" ColumnName="WM_PATH" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@WM_PATH" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="WM_PATH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_PATH" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_PATH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_FILE_NAME" ColumnName="WM_FILE_NAME" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_FILE_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_FILE_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_REFERENCE_INDEX" ColumnName="WM_REFERENCE_INDEX" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_REFERENCE_INDEX" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_REFERENCE_INDEX" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PATH_EMAIL_TEMP" ColumnName="PATH_EMAIL_TEMP" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_TEMP" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="PATH_EMAIL_TEMP" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_TEMP" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_TEMP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PATH_EMAIL_ERRORS" ColumnName="PATH_EMAIL_ERRORS" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_ERRORS" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="PATH_EMAIL_ERRORS" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_ERRORS" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_ERRORS" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="DELETE_MAIL" ColumnName="DELETE_MAIL" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@DELETE_MAIL" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="DELETE_MAIL" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@DELETE_MAIL" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="DELETE_MAIL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="COMMENT" ColumnName="COMMENT" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(500)" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="500" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ACTIVE" ColumnName="ACTIVE" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SEQUENCE" ColumnName="SEQUENCE" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WM_IDX_BODY_TEXT" ColumnName="WM_IDX_BODY_TEXT" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@WM_IDX_BODY_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="WM_IDX_BODY_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WM_IDX_BODY_SUBSTR_LENGTH" ColumnName="WM_IDX_BODY_SUBSTR_LENGTH" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@WM_IDX_BODY_SUBSTR_LENGTH" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="PATH_ORIGINAL" ColumnName="PATH_ORIGINAL" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@PATH_ORIGINAL" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_IDX_BODY_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@WM_IDX_BODY_SUBSTR_LENGTH" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PATH_ORIGINAL" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@ALLOW_XML_RECEIPTS" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ALLOW_XML_RECEIPTS" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</InsertCommand> </InsertCommand>
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS, <CommandText>SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS,
DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH, PATH_ORIGINAL DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH, PATH_ORIGINAL, ALLOW_XML_RECEIPTS
FROM TBEMLP_POLL_PROCESS</CommandText> FROM TBEMLP_POLL_PROCESS</CommandText>
<Parameters /> <Parameters />
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
<UpdateCommand> <UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE TBEMLP_POLL_PROCESS <CommandText>UPDATE [TBEMLP_POLL_PROCESS] SET [PROCESS_NAME] = @PROCESS_NAME, [STEP_NAME] = @STEP_NAME, [PROFILE_ID] = @PROFILE_ID, [COPY_2_HDD] = @COPY_2_HDD, [WM_IMPORT] = @WM_IMPORT, [WM_OBJEKTTYPE] = @WM_OBJEKTTYPE, [WM_VECTOR_LOG] = @WM_VECTOR_LOG, [WM_PATH] = @WM_PATH, [WM_FILE_NAME] = @WM_FILE_NAME, [WM_REFERENCE_INDEX] = @WM_REFERENCE_INDEX, [PATH_EMAIL_TEMP] = @PATH_EMAIL_TEMP, [PATH_EMAIL_ERRORS] = @PATH_EMAIL_ERRORS, [DELETE_MAIL] = @DELETE_MAIL, [COMMENT] = @COMMENT, [ACTIVE] = @ACTIVE, [SEQUENCE] = @SEQUENCE, [ADDED_WHO] = @ADDED_WHO, [ADDED_WHEN] = @ADDED_WHEN, [CHANGED_WHO] = @CHANGED_WHO, [CHANGED_WHEN] = @CHANGED_WHEN, [WM_IDX_BODY_TEXT] = @WM_IDX_BODY_TEXT, [WM_IDX_BODY_SUBSTR_LENGTH] = @WM_IDX_BODY_SUBSTR_LENGTH, [PATH_ORIGINAL] = @PATH_ORIGINAL, [ALLOW_XML_RECEIPTS] = @ALLOW_XML_RECEIPTS WHERE (([GUID] = @Original_GUID) AND ([PROCESS_NAME] = @Original_PROCESS_NAME) AND ([STEP_NAME] = @Original_STEP_NAME) AND ([PROFILE_ID] = @Original_PROFILE_ID) AND ([COPY_2_HDD] = @Original_COPY_2_HDD) AND ([WM_IMPORT] = @Original_WM_IMPORT) AND ((@IsNull_WM_OBJEKTTYPE = 1 AND [WM_OBJEKTTYPE] IS NULL) OR ([WM_OBJEKTTYPE] = @Original_WM_OBJEKTTYPE)) AND ((@IsNull_WM_VECTOR_LOG = 1 AND [WM_VECTOR_LOG] IS NULL) OR ([WM_VECTOR_LOG] = @Original_WM_VECTOR_LOG)) AND ((@IsNull_WM_PATH = 1 AND [WM_PATH] IS NULL) OR ([WM_PATH] = @Original_WM_PATH)) AND ((@IsNull_WM_FILE_NAME = 1 AND [WM_FILE_NAME] IS NULL) OR ([WM_FILE_NAME] = @Original_WM_FILE_NAME)) AND ((@IsNull_WM_REFERENCE_INDEX = 1 AND [WM_REFERENCE_INDEX] IS NULL) OR ([WM_REFERENCE_INDEX] = @Original_WM_REFERENCE_INDEX)) AND ([PATH_EMAIL_TEMP] = @Original_PATH_EMAIL_TEMP) AND ([PATH_EMAIL_ERRORS] = @Original_PATH_EMAIL_ERRORS) AND ([DELETE_MAIL] = @Original_DELETE_MAIL) AND ((@IsNull_COMMENT = 1 AND [COMMENT] IS NULL) OR ([COMMENT] = @Original_COMMENT)) AND ([ACTIVE] = @Original_ACTIVE) AND ((@IsNull_SEQUENCE = 1 AND [SEQUENCE] IS NULL) OR ([SEQUENCE] = @Original_SEQUENCE)) AND ((@IsNull_ADDED_WHO = 1 AND [ADDED_WHO] IS NULL) OR ([ADDED_WHO] = @Original_ADDED_WHO)) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)) AND ((@IsNull_CHANGED_WHO = 1 AND [CHANGED_WHO] IS NULL) OR ([CHANGED_WHO] = @Original_CHANGED_WHO)) AND ((@IsNull_CHANGED_WHEN = 1 AND [CHANGED_WHEN] IS NULL) OR ([CHANGED_WHEN] = @Original_CHANGED_WHEN)) AND ([WM_IDX_BODY_TEXT] = @Original_WM_IDX_BODY_TEXT) AND ([WM_IDX_BODY_SUBSTR_LENGTH] = @Original_WM_IDX_BODY_SUBSTR_LENGTH) AND ((@IsNull_PATH_ORIGINAL = 1 AND [PATH_ORIGINAL] IS NULL) OR ([PATH_ORIGINAL] = @Original_PATH_ORIGINAL)) AND ((@IsNull_ALLOW_XML_RECEIPTS = 1 AND [ALLOW_XML_RECEIPTS] IS NULL) OR ([ALLOW_XML_RECEIPTS] = @Original_ALLOW_XML_RECEIPTS)));
SET PROCESS_NAME = @PROCESS_NAME, STEP_NAME = @STEP_NAME, PROFILE_ID = @PROFILE_ID, COPY_2_HDD = @COPY_2_HDD, WM_IMPORT = @WM_IMPORT, WM_OBJEKTTYPE = @WM_OBJEKTTYPE, SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS, DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH, PATH_ORIGINAL, ALLOW_XML_RECEIPTS FROM TBEMLP_POLL_PROCESS WHERE (GUID = @GUID)</CommandText>
WM_VECTOR_LOG = @WM_VECTOR_LOG, WM_PATH = @WM_PATH, WM_FILE_NAME = @WM_FILE_NAME, WM_REFERENCE_INDEX = @WM_REFERENCE_INDEX, PATH_EMAIL_TEMP = @PATH_EMAIL_TEMP,
PATH_EMAIL_ERRORS = @PATH_EMAIL_ERRORS, DELETE_MAIL = @DELETE_MAIL, COMMENT = @COMMENT, ACTIVE = @ACTIVE, SEQUENCE = @SEQUENCE, CHANGED_WHO = @CHANGED_WHO,
WM_IDX_BODY_TEXT = @WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH = @WM_IDX_BODY_SUBSTR_LENGTH, PATH_ORIGINAL = @PATH_ORIGINAL
WHERE (GUID = @Original_GUID);
SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJEKTTYPE, WM_VECTOR_LOG, WM_PATH, WM_FILE_NAME, WM_REFERENCE_INDEX, PATH_EMAIL_TEMP, PATH_EMAIL_ERRORS, DELETE_MAIL, COMMENT, ACTIVE, SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, WM_IDX_BODY_TEXT, WM_IDX_BODY_SUBSTR_LENGTH FROM TBEMLP_POLL_PROCESS WHERE (GUID = @GUID)</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROCESS_NAME" ColumnName="PROCESS_NAME" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@PROCESS_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="PROCESS_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PROCESS_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PROCESS_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="STEP_NAME" ColumnName="STEP_NAME" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@STEP_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="STEP_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@STEP_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="STEP_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PROFILE_ID" ColumnName="PROFILE_ID" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFILE_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFILE_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@PROFILE_ID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PROFILE_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="COPY_2_HDD" ColumnName="COPY_2_HDD" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@COPY_2_HDD" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="COPY_2_HDD" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@COPY_2_HDD" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="COPY_2_HDD" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WM_IMPORT" ColumnName="WM_IMPORT" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@WM_IMPORT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="WM_IMPORT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@WM_IMPORT" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="WM_IMPORT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_OBJEKTTYPE" ColumnName="WM_OBJEKTTYPE" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_OBJEKTTYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_OBJEKTTYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_VECTOR_LOG" ColumnName="WM_VECTOR_LOG" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_VECTOR_LOG" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_VECTOR_LOG" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_PATH" ColumnName="WM_PATH" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@WM_PATH" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="WM_PATH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_PATH" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_PATH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_FILE_NAME" ColumnName="WM_FILE_NAME" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_FILE_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_FILE_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="WM_REFERENCE_INDEX" ColumnName="WM_REFERENCE_INDEX" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@WM_REFERENCE_INDEX" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_REFERENCE_INDEX" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PATH_EMAIL_TEMP" ColumnName="PATH_EMAIL_TEMP" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_TEMP" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="PATH_EMAIL_TEMP" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_TEMP" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_TEMP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PATH_EMAIL_ERRORS" ColumnName="PATH_EMAIL_ERRORS" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_ERRORS" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="PATH_EMAIL_ERRORS" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PATH_EMAIL_ERRORS" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_ERRORS" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="DELETE_MAIL" ColumnName="DELETE_MAIL" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@DELETE_MAIL" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="DELETE_MAIL" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@DELETE_MAIL" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="DELETE_MAIL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="COMMENT" ColumnName="COMMENT" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(500)" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="500" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ACTIVE" ColumnName="ACTIVE" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SEQUENCE" ColumnName="SEQUENCE" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WM_IDX_BODY_TEXT" ColumnName="WM_IDX_BODY_TEXT" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@WM_IDX_BODY_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="WM_IDX_BODY_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WM_IDX_BODY_SUBSTR_LENGTH" ColumnName="WM_IDX_BODY_SUBSTR_LENGTH" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@WM_IDX_BODY_SUBSTR_LENGTH" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="PATH_ORIGINAL" ColumnName="PATH_ORIGINAL" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@PATH_ORIGINAL" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@WM_IDX_BODY_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM_TEST.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@WM_IDX_BODY_SUBSTR_LENGTH" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@PATH_ORIGINAL" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@ALLOW_XML_RECEIPTS" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ALLOW_XML_RECEIPTS" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PROCESS_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PROCESS_NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_STEP_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="STEP_NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_PROFILE_ID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PROFILE_ID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_COPY_2_HDD" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="COPY_2_HDD" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_WM_IMPORT" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="WM_IMPORT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_OBJEKTTYPE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_OBJEKTTYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_OBJEKTTYPE" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_VECTOR_LOG" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_VECTOR_LOG" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_VECTOR_LOG" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_PATH" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_PATH" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_PATH" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_PATH" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_FILE_NAME" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_FILE_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_FILE_NAME" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_WM_REFERENCE_INDEX" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_REFERENCE_INDEX" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_REFERENCE_INDEX" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PATH_EMAIL_TEMP" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_TEMP" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PATH_EMAIL_ERRORS" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_EMAIL_ERRORS" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_DELETE_MAIL" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="DELETE_MAIL" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_COMMENT" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_COMMENT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="COMMENT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_ACTIVE" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ACTIVE" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SEQUENCE" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ADDED_WHO" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ADDED_WHEN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CHANGED_WHO" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CHANGED_WHEN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_WM_IDX_BODY_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_TEXT" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_WM_IDX_BODY_SUBSTR_LENGTH" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_PATH_ORIGINAL" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_PATH_ORIGINAL" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="PATH_ORIGINAL" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ALLOW_XML_RECEIPTS" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ALLOW_XML_RECEIPTS" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_ALLOW_XML_RECEIPTS" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="ALLOW_XML_RECEIPTS" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBEMLP_POLL_PROCESS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</UpdateCommand> </UpdateCommand>
@@ -216,6 +289,7 @@ SELECT GUID, PROCESS_NAME, STEP_NAME, PROFILE_ID, COPY_2_HDD, WM_IMPORT, WM_OBJE
<Mapping SourceColumn="WM_IDX_BODY_TEXT" DataSetColumn="WM_IDX_BODY_TEXT" /> <Mapping SourceColumn="WM_IDX_BODY_TEXT" DataSetColumn="WM_IDX_BODY_TEXT" />
<Mapping SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" DataSetColumn="WM_IDX_BODY_SUBSTR_LENGTH" /> <Mapping SourceColumn="WM_IDX_BODY_SUBSTR_LENGTH" DataSetColumn="WM_IDX_BODY_SUBSTR_LENGTH" />
<Mapping SourceColumn="PATH_ORIGINAL" DataSetColumn="PATH_ORIGINAL" /> <Mapping SourceColumn="PATH_ORIGINAL" DataSetColumn="PATH_ORIGINAL" />
<Mapping SourceColumn="ALLOW_XML_RECEIPTS" DataSetColumn="ALLOW_XML_RECEIPTS" />
</Mappings> </Mappings>
<Sources /> <Sources />
</TableAdapter> </TableAdapter>
@@ -768,6 +842,7 @@ SELECT GUID, NAME, EMAIL_FROM, EMAIL_SMTP, EMAIL_USER, EMAIL_PW, PORT, ACTIVE, A
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="ALLOW_XML_RECEIPTS" msprop:Generator_ColumnPropNameInRow="ALLOW_XML_RECEIPTS" msprop:Generator_ColumnPropNameInTable="ALLOW_XML_RECEIPTSColumn" msprop:Generator_ColumnVarNameInTable="columnALLOW_XML_RECEIPTS" msprop:Generator_UserColumnName="ALLOW_XML_RECEIPTS" type="xs:boolean" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -1073,9 +1148,9 @@ SELECT GUID, NAME, EMAIL_FROM, EMAIL_SMTP, EMAIL_USER, EMAIL_PW, PORT, ACTIVE, A
</xs:element> </xs:element>
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
<msdata:Relationship name="FK_TBEMLP_POLL_PROCESS_PROFILE_ID" msdata:parent="TBEMLP_POLL_PROFILES" msdata:child="TBEMLP_POLL_PROCESS" msdata:parentkey="GUID" msdata:childkey="PROFILE_ID" msprop:Generator_UserParentTable="TBEMLP_POLL_PROFILES" msprop:Generator_UserChildTable="TBEMLP_POLL_PROCESS" msprop:Generator_RelationVarName="relationFK_TBEMLP_POLL_PROCESS_PROFILE_ID" msprop:Generator_ChildPropName="GetTBEMLP_POLL_PROCESSRows" msprop:Generator_UserRelationName="FK_TBEMLP_POLL_PROCESS_PROFILE_ID" msprop:Generator_ParentPropName="TBEMLP_POLL_PROFILESRow" /> <msdata:Relationship name="FK_TBEMLP_POLL_PROCESS_PROFILE_ID" msdata:parent="TBEMLP_POLL_PROFILES" msdata:child="TBEMLP_POLL_PROCESS" msdata:parentkey="GUID" msdata:childkey="PROFILE_ID" msprop:Generator_UserParentTable="TBEMLP_POLL_PROFILES" msprop:Generator_UserChildTable="TBEMLP_POLL_PROCESS" msprop:Generator_RelationVarName="relationFK_TBEMLP_POLL_PROCESS_PROFILE_ID" msprop:Generator_ChildPropName="GetTBEMLP_POLL_PROCESSRows" msprop:Generator_ParentPropName="TBEMLP_POLL_PROFILESRow" msprop:Generator_UserRelationName="FK_TBEMLP_POLL_PROCESS_PROFILE_ID" />
<msdata:Relationship name="FK_TBEMLP_POLL_STEPS_PROCESS_ID" msdata:parent="TBEMLP_POLL_PROCESS" msdata:child="TBEMLP_POLL_STEPS" msdata:parentkey="GUID" msdata:childkey="PROCESS_ID" msprop:Generator_UserParentTable="TBEMLP_POLL_PROCESS" msprop:Generator_UserChildTable="TBEMLP_POLL_STEPS" msprop:Generator_RelationVarName="relationFK_TBEMLP_POLL_STEPS_PROCESS_ID" msprop:Generator_ChildPropName="GetTBEMLP_POLL_STEPSRows" msprop:Generator_UserRelationName="FK_TBEMLP_POLL_STEPS_PROCESS_ID" msprop:Generator_ParentPropName="TBEMLP_POLL_PROCESSRow" /> <msdata:Relationship name="FK_TBEMLP_POLL_STEPS_PROCESS_ID" msdata:parent="TBEMLP_POLL_PROCESS" msdata:child="TBEMLP_POLL_STEPS" msdata:parentkey="GUID" msdata:childkey="PROCESS_ID" msprop:Generator_UserParentTable="TBEMLP_POLL_PROCESS" msprop:Generator_UserChildTable="TBEMLP_POLL_STEPS" msprop:Generator_RelationVarName="relationFK_TBEMLP_POLL_STEPS_PROCESS_ID" msprop:Generator_ChildPropName="GetTBEMLP_POLL_STEPSRows" msprop:Generator_ParentPropName="TBEMLP_POLL_PROCESSRow" msprop:Generator_UserRelationName="FK_TBEMLP_POLL_STEPS_PROCESS_ID" />
<msdata:Relationship name="FK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID" msdata:parent="TBEMLP_POLL_STEPS" msdata:child="TBEMLP_POLL_INDEXING_STEPS" msdata:parentkey="GUID" msdata:childkey="STEP_ID" msprop:Generator_UserParentTable="TBEMLP_POLL_STEPS" msprop:Generator_UserChildTable="TBEMLP_POLL_INDEXING_STEPS" msprop:Generator_RelationVarName="relationFK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID" msprop:Generator_ChildPropName="GetTBEMLP_POLL_INDEXING_STEPSRows" msprop:Generator_UserRelationName="FK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID" msprop:Generator_ParentPropName="TBEMLP_POLL_STEPSRow" /> <msdata:Relationship name="FK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID" msdata:parent="TBEMLP_POLL_STEPS" msdata:child="TBEMLP_POLL_INDEXING_STEPS" msdata:parentkey="GUID" msdata:childkey="STEP_ID" msprop:Generator_UserParentTable="TBEMLP_POLL_STEPS" msprop:Generator_UserChildTable="TBEMLP_POLL_INDEXING_STEPS" msprop:Generator_RelationVarName="relationFK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID" msprop:Generator_ChildPropName="GetTBEMLP_POLL_INDEXING_STEPSRows" msprop:Generator_ParentPropName="TBEMLP_POLL_STEPSRow" msprop:Generator_UserRelationName="FK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID" />
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
</xs:schema> </xs:schema>

View File

@@ -0,0 +1,11 @@
Namespace My
'Diese Klasse ermöglicht die Behandlung bestimmter Ereignisse der Einstellungsklasse:
' Das SettingChanging-Ereignis wird ausgelöst, bevor der Wert einer Einstellung geändert wird.
' Das PropertyChanged-Ereignis wird ausgelöst, nachdem der Wert einer Einstellung geändert wurde.
' Das SettingsLoaded-Ereignis wird ausgelöst, nachdem die Einstellungswerte geladen wurden.
' Das SettingsSaving-Ereignis wird ausgelöst, bevor die Einstellungswerte gespeichert werden.
Partial Friend NotInheritable Class MySettings
End Class
End Namespace

File diff suppressed because it is too large Load Diff

View File

@@ -301,65 +301,65 @@
<data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC vAAADrwBlbxySQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
rkJggg== nlwVm9EAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="BindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC vAAADrwBlbxySQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
oAc0QjgAAAAASUVORK5CYII= X6Bjq5qXAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="TBEMLP_POLL_PROCESSBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TBEMLP_POLL_PROCESSBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -371,65 +371,65 @@
<data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC vAAADrwBlbxySQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
rkJggg== nlwVm9EAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC vAAADrwBlbxySQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="ToolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="ToolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="ToolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
oAc0QjgAAAAASUVORK5CYII= X6Bjq5qXAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="ToolStripButton7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
@@ -466,65 +466,65 @@
<data name="ToolStripButton11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC vAAADrwBlbxySQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
rkJggg== nlwVm9EAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="ToolStripButton12.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton12.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC vAAADrwBlbxySQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="ToolStripButton13.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton13.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="ToolStripButton14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="ToolStripButton15.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton15.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
oAc0QjgAAAAASUVORK5CYII= X6Bjq5qXAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="ToolStripButton16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="XtraTabPage2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="XtraTabPage2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -556,65 +556,65 @@
<data name="ToolStripButton19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC vAAADrwBlbxySQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
rkJggg== nlwVm9EAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="ToolStripButton20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC vAAADrwBlbxySQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="ToolStripButton21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="ToolStripButton22.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton22.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="ToolStripButton23.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton23.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
oAc0QjgAAAAASUVORK5CYII= X6Bjq5qXAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="ToolStripButton24.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ToolStripButton24.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="XtraTabPage3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="XtraTabPage3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -652,65 +652,65 @@
<data name="BindingNavigatorAddNewItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorAddNewItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC vAAADrwBlbxySQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
rkJggg== nlwVm9EAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="BindingNavigatorDeleteItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorDeleteItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC vAAADrwBlbxySQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="BindingNavigatorMoveFirstItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMoveFirstItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="BindingNavigatorMovePreviousItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMovePreviousItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="BindingNavigatorMoveNextItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMoveNextItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
oAc0QjgAAAAASUVORK5CYII= X6Bjq5qXAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="BindingNavigatorMoveLastItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BindingNavigatorMoveLastItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="TBEMLP_CONFIGBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TBEMLP_CONFIGBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -753,7 +753,7 @@
<value>1005, 173</value> <value>1005, 173</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>235</value> <value>108</value>
</metadata> </metadata>
<data name="frmMain.IconOptions.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="frmMain.IconOptions.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@@ -1,12 +1,15 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.IO Imports System.IO
Imports System.Net.Mail
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Tab
Imports DevExpress.XtraPrinting.Export
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Messaging Imports DigitalData.Modules.Messaging
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Messaging.Mail Imports DigitalData.Modules.Messaging.Mail
Imports DigitalData.GUIs.Common
Imports EmailProfiler.Common Imports EmailProfiler.Common
Public Class frmMain Public Class frmMain
@@ -21,33 +24,54 @@ 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 Limilab Private _limilab As Limilab
Private _ConfigManager As ClassDBConfig
Private _DBConfig As ClassDBConfig.Config Private _DBConfig As ClassDBConfig.Config
Private MyConnectionString As String Private MyConnectionString As String
Private _MailSender As Mail.MailSender
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
LogConfig = 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(LogConfig)
ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath, Application.CommonAppDataPath, Application.StartupPath)
Logger = LogConfig.GetLogger() Logger = LogConfig.GetLogger()
_limilab = New Limilab(LogConfig)
Dim oUserAppDataPath As String = Application.UserAppDataPath
Dim oCommonAppDataPath = Application.CommonAppDataPath
Dim oStartupPath = Application.StartupPath
Dim oAppconfig As String = "AppConfig.xml"
Dim oAppConfigFilePath As String = Path.Combine(oStartupPath, oAppconfig)
If File.Exists(oAppConfigFilePath) Then
Logger.Info("Die Datei AppConfig.xml ist im StartUp-Path vorhanden.")
' UserAppDataPath = StartupPath
oCommonAppDataPath = oStartupPath
Else
Logger.Info("Keine AppConfig.xml-Konfiguration!")
End If
ConfigManager = New ConfigManager(Of Config)(LogConfig, oUserAppDataPath, oCommonAppDataPath, oStartupPath)
ConfigManager.Save()
LogConfig.Debug = ConfigManager.Config.Debug
If ConfigManager.Config.Debug = True Then If ConfigManager.Config.Debug = True Then
Logger.Info("!! DEBUG is ACTIVE !!") Logger.Info("!! DEBUG is ACTIVE !!")
End If End If
LogConfig.Debug = ConfigManager.Config.Debug
InitDatabase() InitDatabase()
ToolStripProgressBar2.Visible = False ToolStripProgressBar2.Visible = False
Logger.Debug($"AppConfig is located at: [{AppDomain.CurrentDomain.SetupInformation.ConfigurationFile}]") Logger.Debug($"AppConfig is located at: [{AppDomain.CurrentDomain.SetupInformation.ConfigurationFile}]")
Try
If ConfigManager.Config.UseWindream Then If ConfigManager.Config.UseWindream Then
_windream = New clsWindream_allgemein(LogConfig) _windream = New clsWindream_allgemein(LogConfig)
End If End If
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in FormLoad") Logger.Error(ex)
ConfigManager.Save()
End Try End Try
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in FormLoad")
End Try
If Set_ConnectionStrings() Then If Set_ConnectionStrings() Then
Load_AllData() Load_AllData()
@@ -58,11 +82,22 @@ Public Class frmMain
Active_Color(ACTIVECheckBox3) Active_Color(ACTIVECheckBox3)
Active_Color(ACTIVECheckBox4) Active_Color(ACTIVECheckBox4)
End If End If
Try
If ConfigManager.Config.UseWindream Then If ConfigManager.Config.UseWindream Then
ObjektTypenEintragen() ObjektTypenEintragen()
End If End If
Catch ex As Exception
Logger.Error(ex)
ConfigManager.Save()
End Try
_Encryption = New clsEncryption("!35452didalog=", LogConfig) _Encryption = New clsEncryption("!35452didalog=", LogConfig)
If String.IsNullOrWhiteSpace(txtMonitoringConfig.Text) OrElse Not IsNumeric(txtMonitoringConfig.Text) OrElse CInt(txtMonitoringConfig.Text) <= 0 Then
txtMonitoringConfig.Text = "500"
End If
LoadMonitoringIntoGrid()
End Sub End Sub
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
@@ -97,6 +132,7 @@ Public Class frmMain
Me.TBEMLP_POLL_INDEXING_STEPSTableAdapter.Fill(Me.MyDataset.TBEMLP_POLL_INDEXING_STEPS) Me.TBEMLP_POLL_INDEXING_STEPSTableAdapter.Fill(Me.MyDataset.TBEMLP_POLL_INDEXING_STEPS)
Catch ex As Exception Catch ex As Exception
MsgBox("Unexpected Error in Load_AllData: " & ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in Load_AllData: " & ex.Message, MsgBoxStyle.Critical)
ConfigManager.Save()
End Try End Try
End Sub End Sub
Sub Load_Profiles() Sub Load_Profiles()
@@ -168,11 +204,11 @@ Public Class frmMain
Select Case AUTH_TYPEComboBox.Text Select Case AUTH_TYPEComboBox.Text
Case "OAUTH2" Case "OAUTH2"
EMAIL_SMTPLabel.Text = "Anwendungs-ID (Client):" EMAIL_SMTPLabel.Text = "Anwendungs-ID (Client):"
EMAIL_PWLabel.Text = "Anwendungs-Geheimnnis:" EMAIL_PWLabel.Text = "Geheimnis ID Value"
ARCHIVE_FOLDERLabel.Text = "Verzeichnis-ID (Mandant):" ARCHIVE_FOLDERLabel.Text = "Verzeichnis-ID (Mandant):"
Case Else Case Else
EMAIL_SMTPLabel.Text = "Server:" EMAIL_SMTPLabel.Text = "Server:"
EMAIL_PWLabel.Text = "Neues Passwort:" EMAIL_PWLabel.Text = "Passwort:"
ARCHIVE_FOLDERLabel.Text = "Archive Ordner:" ARCHIVE_FOLDERLabel.Text = "Archive Ordner:"
End Select End Select
End Sub End Sub
@@ -210,8 +246,8 @@ Public Class frmMain
_database = New MSSQLServer(LogConfig, _SQLServerConString) _database = New MSSQLServer(LogConfig, _SQLServerConString)
Logger.Debug("Inititalizing Configuration") Logger.Debug("Inititalizing Configuration")
_ConfigManager = New ClassDBConfig(LogConfig, _database) Dim oConfigManager As ClassDBConfig = New ClassDBConfig(LogConfig, _database)
_DBConfig = _ConfigManager.GetConfig() _DBConfig = oConfigManager.GetConfig()
If _DBConfig Is Nothing Then If _DBConfig Is Nothing Then
MsgBox("Configuration could not be loaded. Please check the Logfile.", MsgBoxStyle.Critical, Text) MsgBox("Configuration could not be loaded. Please check the Logfile.", MsgBoxStyle.Critical, Text)
@@ -251,7 +287,6 @@ Public Class frmMain
If chkbxUserAut.Checked Then If chkbxUserAut.Checked Then
con = "Data Source=" & Me.txtServer.Text & ";Trusted_Connection=True;" con = "Data Source=" & Me.txtServer.Text & ";Trusted_Connection=True;"
Else Else
'con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
con = "Server=" & Me.txtServer.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";" con = "Server=" & Me.txtServer.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
End If End If
Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString) Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString)
@@ -299,9 +334,6 @@ Public Class frmMain
'DialogResult = Windows.Forms.DialogResult.OK 'DialogResult = Windows.Forms.DialogResult.OK
Dim result As MsgBoxResult Dim result As MsgBoxResult
Dim msg = "Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?" Dim msg = "Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?"
'If USER_LANGUAGE <> "de-DE" Then
' msg = "Connection was successfully opened!" & vbNewLine & "Would You like to save it?"
'End If
result = MessageBox.Show(msg, "Database-Connection", MessageBoxButtons.YesNo, MessageBoxIcon.Question) result = MessageBox.Show(msg, "Database-Connection", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then If result = MsgBoxResult.Yes Then
'Set the construction string 'Set the construction string
@@ -309,7 +341,7 @@ Public Class frmMain
ConfigManager.Config.ConnectionString = MyConnectionString ConfigManager.Config.ConnectionString = MyConnectionString
_database = New MSSQLServer(LogConfig, MyConnectionString) _database = New MSSQLServer(LogConfig, MyConnectionString)
_ConfigManager = New ClassDBConfig(LogConfig, _database) Dim oConfigManager As ClassDBConfig = New ClassDBConfig(LogConfig, _database)
'csb.ConnectionString 'csb.ConnectionString
'_database.Init(MyConnectionString) '_database.Init(MyConnectionString)
@@ -336,20 +368,21 @@ Public Class frmMain
End Sub End Sub
Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
ConfigManager.Config.EmailTitlePrefix = "EmailProfilerTestClient"
ConfigManager.Config.EmailAccountId = ToolStripEmailAccountID2.Text
ConfigManager.Config.GDPictureVersion = "11.2024"
If _RunwithLocalemail = False Then If _RunwithLocalemail = False Then
LogConfig.Debug = True LogConfig.Debug = True
Dim _work As New clsWorker(LogConfig, _SQLServerConString, _DBConfig.WindreamConnectionString, GUIDTextBox.Text, Dim _work As New clsWorker(LogConfig, _SQLServerConString, _DBConfig.WindreamConnectionString, GUIDTextBox.Text, ConfigManager.Config)
ConfigManager.Config.UseWindream, ToolStripEmailAccountID2.Text, "EmailProfilerTestClient",
ConfigManager.Config.EmailSenderLimitation, ConfigManager.Config.RejectionTemplateId, ConfigManager.Config.InfoTemplateId)
_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(LogConfig, _SQLServerConString, _DBConfig.WindreamConnectionString, GUIDTextBox.Text, Dim _work As New clsWorker(LogConfig, _SQLServerConString, _DBConfig.WindreamConnectionString, GUIDTextBox.Text, ConfigManager.Config, ofile.ToString)
ConfigManager.Config.UseWindream, ToolStripEmailAccountID2.Text, "EmailProfilerTestClient",
ConfigManager.Config.EmailSenderLimitation, ConfigManager.Config.RejectionTemplateId, ConfigManager.Config.InfoTemplateId, ofile.ToString)
_work.Start_WorkingProfiles(True) _work.Start_WorkingProfiles(True)
Next Next
@@ -633,13 +666,20 @@ Public Class frmMain
Select Case PROCESS_NAMEComboBox.Text Select Case PROCESS_NAMEComboBox.Text
Case "ProcessManager" Case "ProcessManager"
txtSubjectExample.Text = "[ProcessManager][EA][DID#[%Dokument-ID]]" txtSubjectExample.Text = "[ProcessManager][EA][DID#[%Dokument-ID]]"
cbAllowXMLReceipt.Enabled = False
cbAllowXMLReceipt.Checked = False
Case "Attachment Sniffer" Case "Attachment Sniffer"
lblDownloadPath.Text = "Download-Path Attachments:" lblDownloadPath.Text = "Download-Path Attachments:"
cbAllowXMLReceipt.Enabled = True
Case "ZugFeRD-Parser" Case "ZugFeRD-Parser"
lblDownloadPath.Text = "Download-Path Attachments:" lblDownloadPath.Text = "Download-Path Attachments:"
cbAllowXMLReceipt.Enabled = False
cbAllowXMLReceipt.Checked = False
Case Else Case Else
txtSubjectExample.Text = "" txtSubjectExample.Text = ""
lblDownloadPath.Text = "Download-Path:" lblDownloadPath.Text = "Download-Path:"
cbAllowXMLReceipt.Enabled = False
cbAllowXMLReceipt.Checked = False
End Select End Select
End If End If
End Sub End Sub
@@ -728,16 +768,48 @@ Public Class frmMain
Private Sub btnsendtestmail_Click(sender As Object, e As EventArgs) Handles btnsendtestmail.Click Private Sub btnsendtestmail_Click(sender As Object, e As EventArgs) Handles btnsendtestmail.Click
If txtTestmail.Text <> String.Empty Then If txtTestmail.Text <> String.Empty Then
ConfigManager.Save() ConfigManager.Save()
My.Settings.Save()
Cursor = Cursors.WaitCursor
Dim PWPlain = _Encryption.DecryptData(EMAIL_PWTextBox.Text) Dim PWPlain = _Encryption.DecryptData(EMAIL_PWTextBox.Text)
'NEW
_MailSender = New Mail.MailSender(LogConfig)
Dim oDefault As Boolean = True
If CheckBoxEnableTls1_1.Checked Or CheckBoxEnableTls1_2.Checked Then
oDefault = False
End If
Dim oOptions As New Mail.MailSession.MailSessionOptions() With {
.EnableTls1_1 = CheckBoxEnableTls1_1.Checked,
.EnableTls1_2 = CheckBoxEnableTls1_2.Checked,
.EnableDefault = oDefault
}
Dim oResult As Mail.MailSession.SessionInfo = _MailSender.Connect(EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, oOptions)
If _limilab.NewSMTPEmail(txtTestmail.Text, "Testmail", "This is the body (text will be replaced within profile)", EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, PORTTextBox.Text, If oResult.Connected = False Then
EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, "frmMain-Test", "", "", True) = True Then Cursor = Cursors.Default
MsgBox("Could not create a MailSession / connect to server. Please check the log.", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim oAddresses As List(Of String) = txtTestmail.Text.Split(";").ToList()
Dim oAddedWhen = Now
Dim oAttachments As New List(Of String)
Dim oBody As String = $"This is just a template body (text will be replaced within the run) - ProfileID: {EMAILIDTextBox.Text}"
Dim oMessageSent = _MailSender.SendMail(oAddresses, EMAIL_FROMTextBox.Text, "Testmail from EmailProfilerConfig", oBody, oAddedWhen, oAttachments, False)
Cursor = Cursors.Default
If oMessageSent = True Then
MsgBox("Email has been send successfully.", MsgBoxStyle.Information) MsgBox("Email has been send successfully.", MsgBoxStyle.Information)
Else Else
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation) MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
End If End If
'NEW END
'If _limilab.NewSMTPEmail(txtTestmail.Text, "Testmail", "This is the body (text will be replaced within profile)", EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, PORTTextBox.Text,
' EMAIL_USERTextBox.Text, PWPlain, AUTH_TYPEComboBox.Text, "frmMain-Test", "", "", True) = True Then
' MsgBox("Email has been send successfully.", MsgBoxStyle.Information)
'Else
' MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
'End If
End If End If
End Sub End Sub
@@ -961,4 +1033,86 @@ Public Class frmMain
PATH_ORIGINALTextBox.Text = FolderBrowserDialog1.SelectedPath PATH_ORIGINALTextBox.Text = FolderBrowserDialog1.SelectedPath
End If End If
End Sub End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
ConfigManager.Save()
End Sub
Private Sub PATH_EMAIL_ERRORSTextBox_TextChanged(sender As Object, e As EventArgs) Handles PATH_EMAIL_ERRORSTextBox.TextChanged
End Sub
Private Sub PATH_ORIGINALTextBox_TextChanged(sender As Object, e As EventArgs) Handles PATH_ORIGINALTextBox.TextChanged
End Sub
Private Sub COMMENT_PROFILESTextBox_TextChanged(sender As Object, e As EventArgs) Handles COMMENT_PROFILESTextBox.TextChanged
End Sub
Private Sub LoadMonitoringIntoGrid()
Try
Dim emailAmount As Integer
If txtMonitoringConfig.Text = Nothing OrElse Not IsNumeric(txtMonitoringConfig.Text) Then
emailAmount = 500
Else
emailAmount = Convert.ToInt32(txtMonitoringConfig.Text)
End If
Dim oSQL = $"SELECT TOP ({emailAmount}) GUID, PROFILE_ID, EMAIL_MSGID, EMAIL_FROM, EMAIL_SUBJECT, EMAIL_DATE, ADDED_WHEN, STATUS FROM [dbo].[TBEMLP_HISTORY] (nolock) order by GUID DESC"
Dim oDT As DataTable = _database.GetDatatable(oSQL)
Me.gridMonitoring.DataSource = oDT
Dim gridView = TryCast(Me.GridViewMonitoring, DevExpress.XtraGrid.Views.Grid.GridView)
If gridView IsNot Nothing Then
gridView.OptionsView.ColumnAutoWidth = True
gridView.BestFitColumns()
gridView.OptionsBehavior.Editable = False
LoadLayoutMonitoring()
End If
Catch ex As Exception
If Logger IsNot Nothing Then Logger.Error(ex) Else Debug.WriteLine(ex.ToString())
End Try
End Sub
Private Sub txtMonitoringConfig_LostFocus(sender As Object, e As EventArgs) Handles txtMonitoringConfig.LostFocus
If Not IsNumeric(txtMonitoringConfig.Text) OrElse CInt(txtMonitoringConfig.Text) <= 0 Then
txtMonitoringConfig.Text = "500"
End If
LoadMonitoringIntoGrid()
End Sub
Private Sub btnRefresh_Click(sender As Object, e As EventArgs) Handles btnRefresh.Click
LoadMonitoringIntoGrid()
End Sub
Private Sub btnSaveLayout_Click(sender As Object, e As EventArgs) Handles btnSaveLayout.Click
Dim layoutPath As String = System.IO.Path.Combine(Application.UserAppDataPath, "gridMonitoringLayout.xml")
GridViewMonitoring.SaveLayoutToXml(layoutPath)
MessageBox.Show("Layout gespeichert!")
End Sub
Private Sub btnRestoreDefaultLayout_Click(sender As Object, e As EventArgs) Handles btnRestoreDefaultLayout.Click
Dim layoutPath As String = System.IO.Path.Combine(Application.UserAppDataPath, "gridMonitoringLayout.xml")
If System.IO.File.Exists(layoutPath) Then
System.IO.File.Delete(layoutPath)
End If
GridViewMonitoring.Columns.Clear()
gridMonitoring.DataSource = Nothing
LoadMonitoringIntoGrid()
MessageBox.Show("Standardlayout wurde wiederhergestellt!")
End Sub
Private Sub LoadLayoutMonitoring()
Dim layoutPath As String = System.IO.Path.Combine(Application.UserAppDataPath, "gridMonitoringLayout.xml")
If System.IO.File.Exists(layoutPath) Then
GridViewMonitoring.RestoreLayoutFromXml(layoutPath)
End If
End Sub
End Class End Class

View File

@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Microsoft.Identity.Client" version="4.55.0" targetFramework="net462" />
<package id="Microsoft.IdentityModel.Abstractions" version="6.22.0" targetFramework="net462" requireReinstallation="true" />
<package id="NLog" version="5.0.5" targetFramework="net461" /> <package id="NLog" version="5.0.5" targetFramework="net461" />
<package id="S22.Imap" version="3.6.0.0" targetFramework="net462" />
</packages> </packages>

View File

@@ -48,21 +48,27 @@
<OptionInfer>On</OptionInfer> <OptionInfer>On</OptionInfer>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DigitalData.Modules.Base"> <Reference Include="DigitalData.Modules.Base, Version=1.3.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath> <HintPath>..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Language"> <Reference Include="DigitalData.Modules.Config, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging"> <Reference Include="DigitalData.Modules.Database, Version=2.3.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<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="EmailProfiler.Common">
<HintPath>..\EmailProfiler.Common\bin\Debug\EmailProfiler.Common.dll</HintPath>
</Reference>
<Reference Include="EmailProfiler.Common">
<HintPath>..\EmailProfiler.Common\bin\Debug\EmailProfiler.Common.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
@@ -96,7 +102,6 @@
<Import Include="System.Threading.Tasks" /> <Import Include="System.Threading.Tasks" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Config.vb" />
<Compile Include="My Project\Application.Designer.vb"> <Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon> <DependentUpon>Application.myapp</DependentUpon>
@@ -158,11 +163,5 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EmailProfiler.Common\EmailProfiler.Common.vbproj">
<Project>{9f748dcd-952e-40a0-9dad-65bf8a39b231}</Project>
<Name>EmailProfiler.Common</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project> </Project>

View File

@@ -12,8 +12,8 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")> <Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("SERV_EMAIL")> <Assembly: AssemblyProduct("SERV_EMAIL")>
<Assembly: AssemblyCopyright("Copyright © 2024")> <Assembly: AssemblyCopyright("Copyright © 2025")>
<Assembly: AssemblyTrademark("3.0.3.0")> <Assembly: AssemblyTrademark("3.3.0")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.0.3.0")> <Assembly: AssemblyVersion("3.3.0.0")>
<Assembly: AssemblyFileVersion("3.0.3.0")> <Assembly: AssemblyFileVersion("3.3.0.0")>

View File

@@ -4,6 +4,7 @@ Imports EmailProfiler.Common
Imports DigitalData.Modules.Config Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Public Class MyService Public Class MyService
#Region "+++++ variables +++++" #Region "+++++ variables +++++"
Private Worker As BackgroundWorker Private Worker As BackgroundWorker
@@ -11,17 +12,17 @@ Public Class MyService
Private LogConfig As LogConfig Private LogConfig As LogConfig
Private Logger As Logger Private Logger As Logger
'Private _database As clsDatabase
Private EmailWorker As clsWorkEmail
Private DBConfigManager As ClassDBConfig 'Private EmailWorker As clsWorkEmail
Private DBConfig As ClassDBConfig.Config
Private _DBConfig As ClassDBConfig.Config
Private ConfigManager As ConfigManager(Of Config) Private ConfigManager As ConfigManager(Of Config)
Private Config As Config Private _ConfigData As Config
Private Database As MSSQLServer Private Database As MSSQLServer
#End Region #End Region
Protected Overrides Sub OnStart(args() As String) Protected Overrides Sub OnStart(args() As String)
Try Try
Dim oLogPath = Path.Combine(My.Application.Info.DirectoryPath, "Log") Dim oLogPath = Path.Combine(My.Application.Info.DirectoryPath, "Log")
@@ -31,33 +32,32 @@ Public Class MyService
Logger.Info("Service started.") Logger.Info("Service started.")
ConfigManager = New ConfigManager(Of Config)(LogConfig, My.Application.Info.DirectoryPath) ConfigManager = New ConfigManager(Of Config)(LogConfig, My.Application.Info.DirectoryPath)
Config = ConfigManager.Config _ConfigData = ConfigManager.Config
If Config.ConnectionString = String.Empty Then If _ConfigData.ConnectionString = String.Empty Then
Logger.Warn("No ConnectionString configured. Exiting.") Logger.Warn("No ConnectionString configured. Exiting.")
Else Else
If Config.Debug = True Then If _ConfigData.Debug = True Then
LogConfig.Debug = True LogConfig.Debug = True
Else Else
LogConfig.Debug = False LogConfig.Debug = False
End If End If
Database = New MSSQLServer(LogConfig, Config.ConnectionString) Database = New MSSQLServer(LogConfig, _ConfigData.ConnectionString)
Logger.Debug("Database initialized!") Logger.Debug("Database initialized!")
DBConfigManager = New ClassDBConfig(LogConfig, Database) Dim oDBConfigManager As ClassDBConfig = New ClassDBConfig(LogConfig, Database)
DBConfig = DBConfigManager.GetConfig() _DBConfig = oDBConfigManager.GetConfig()
If DBConfig IsNot Nothing Then If _DBConfig IsNot Nothing Then
Logger.Debug("DBConfig initialized!") Logger.Debug("DBConfig initialized!")
Else Else
Logger.Warn("Error while initializing DBConfig") Logger.Warn("Error while initializing DBConfig")
End If End If
EmailWorker = New clsWorkEmail(LogConfig, Config.ConnectionString, DBConfig.WindreamConnectionString, ' MP 10.01.25 - Das Objekt wird hier gar nicht weiter verwendet. erstmal raus damit
Config.UseWindream, Config.EmailAccountId, Config.EmailTitlePrefix, 'EmailWorker = New clsWorkEmail(LogConfig, _ConfigData.ConnectionString, _DBConfig.WindreamConnectionString, _ConfigData)
Config.RejectionTemplateId, Config.InfoTemplateId) 'Logger.Debug("Module Workmail initialized")
Logger.Debug("Module Workmail initialized")
If Database.DBInitialized = False Then If Database.DBInitialized = False Then
Logger.Warn("No Connection was established! Exiting.") Logger.Warn("No Connection was established! Exiting.")
@@ -72,7 +72,7 @@ Public Class MyService
AddHandler Worker.RunWorkerCompleted, AddressOf Worker_Completed AddHandler Worker.RunWorkerCompleted, AddressOf Worker_Completed
' Set the Interval ' Set the Interval
Timer.Interval = DBConfig.TimerInterval * 60000 Timer.Interval = _DBConfig.TimerInterval * 60000
Timer.Enabled = True Timer.Enabled = True
Logger.Debug("Timer started.") Logger.Debug("Timer started.")
@@ -97,16 +97,11 @@ Public Class MyService
Dim oProfileIdForPolling = 0 Dim oProfileIdForPolling = 0
Dim oWorker As New clsWorker(LogConfig, Dim oWorker As New clsWorker(LogConfig,
Config.ConnectionString, _ConfigData.ConnectionString,
DBConfig.WindreamConnectionString, _DBConfig.WindreamConnectionString,
oProfileIdForPolling, oProfileIdForPolling,
Config.UseWindream, _ConfigData)
Config.EmailAccountId, oWorker.Start_WorkingProfiles(False)
Config.EmailSenderLimitation,
Config.EmailTitlePrefix,
Config.RejectionTemplateId,
Config.InfoTemplateId)
oWorker.Start_WorkingProfiles(False, True)
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)
End Try End Try
@@ -114,6 +109,7 @@ Public Class MyService
Protected Overrides Sub OnStop() Protected Overrides Sub OnStop()
Logger.Info("## Service was stopped manually. ##") Logger.Info("## Service was stopped manually. ##")
End Sub End Sub
Private Sub Worker_Completed(sender As Object, e As RunWorkerCompletedEventArgs) Private Sub Worker_Completed(sender As Object, e As RunWorkerCompletedEventArgs)
'This event fires when the DoWork event completes 'This event fires when the DoWork event completes
Try Try

View File

@@ -10,6 +10,9 @@ EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EmailProfiler.Common", "EmailProfiler.Common\EmailProfiler.Common.vbproj", "{9F748DCD-952E-40A0-9DAD-65BF8A39B231}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EmailProfiler.Common", "EmailProfiler.Common\EmailProfiler.Common.vbproj", "{9F748DCD-952E-40A0-9DAD-65BF8A39B231}"
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "wisag_check_Att", "wisag_check_Att\wisag_check_Att.vbproj", "{CD67B0B9-A7DE-447D-9982-E7AC43481DDC}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "wisag_check_Att", "wisag_check_Att\wisag_check_Att.vbproj", "{CD67B0B9-A7DE-447D-9982-E7AC43481DDC}"
ProjectSection(ProjectDependencies) = postProject
{9F748DCD-952E-40A0-9DAD-65BF8A39B231} = {9F748DCD-952E-40A0-9DAD-65BF8A39B231}
EndProjectSection
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -1,6 +1,6 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1 Partial Class Form1
Inherits System.Windows.Forms.Form Inherits DevExpress.XtraBars.Ribbon.RibbonForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _ <System.Diagnostics.DebuggerNonUserCode()> _
@@ -22,34 +22,41 @@ Partial Class Form1
'Das Bearbeiten mit dem Code-Editor ist nicht möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _ <System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.bsifolderbrowser = New DevExpress.XtraBars.BarStaticItem() Me.bsifolderbrowser = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.btRunEmailCheck = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.bsitemppath = New DevExpress.XtraBars.BarStaticItem() Me.bsitemppath = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem()
Me.btExtractMailAttachments = New DevExpress.XtraBars.BarButtonItem()
Me.rpPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog() Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog()
Me.ListBox1 = New System.Windows.Forms.ListBox() Me.ListBox1 = New System.Windows.Forms.ListBox()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem()
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.OpenFileDialog2 = New System.Windows.Forms.OpenFileDialog()
Me.OpenFileDialog3 = New System.Windows.Forms.OpenFileDialog()
Me.BehaviorManager1 = New DevExpress.Utils.Behaviors.BehaviorManager(Me.components)
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.BehaviorManager1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'RibbonControl1 'RibbonControl1
' '
Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.bsifolderbrowser, Me.BarButtonItem2, Me.BarButtonItem3, Me.bsitemppath, Me.BarButtonItem4}) Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.bsifolderbrowser, Me.btRunEmailCheck, Me.BarButtonItem3, Me.bsitemppath, Me.BarButtonItem4, Me.btExtractMailAttachments})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 7 Me.RibbonControl1.MaxItemId = 8
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpPage1})
Me.RibbonControl1.Size = New System.Drawing.Size(800, 150) Me.RibbonControl1.Size = New System.Drawing.Size(800, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
' '
'BarButtonItem1 'BarButtonItem1
@@ -67,12 +74,12 @@ Partial Class Form1
Me.bsifolderbrowser.Name = "bsifolderbrowser" Me.bsifolderbrowser.Name = "bsifolderbrowser"
Me.bsifolderbrowser.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph Me.bsifolderbrowser.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
' '
'BarButtonItem2 'btRunEmailCheck
' '
Me.BarButtonItem2.Caption = "Run Email_Check" Me.btRunEmailCheck.Caption = "Run Email_Check"
Me.BarButtonItem2.Id = 3 Me.btRunEmailCheck.Id = 3
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btRunEmailCheck.ImageOptions.SvgImage = CType(resources.GetObject("btRunEmailCheck.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2" Me.btRunEmailCheck.Name = "btRunEmailCheck"
' '
'BarButtonItem3 'BarButtonItem3
' '
@@ -89,11 +96,25 @@ Partial Class Form1
Me.bsitemppath.Name = "bsitemppath" Me.bsitemppath.Name = "bsitemppath"
Me.bsitemppath.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph Me.bsitemppath.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
' '
'RibbonPage1 'BarButtonItem4
' '
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3}) Me.BarButtonItem4.Caption = "Extract Attachments from PDF-File"
Me.RibbonPage1.Name = "RibbonPage1" Me.BarButtonItem4.Id = 6
Me.RibbonPage1.Text = "RibbonPage1" Me.BarButtonItem4.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem4.Name = "BarButtonItem4"
'
'btExtractMailAttachments
'
Me.btExtractMailAttachments.Caption = "Extract Attachments from EML-File"
Me.btExtractMailAttachments.Id = 7
Me.btExtractMailAttachments.ImageOptions.SvgImage = CType(resources.GetObject("btExtractMailAttachments.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btExtractMailAttachments.Name = "btExtractMailAttachments"
'
'rpPage1
'
Me.rpPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroup4})
Me.rpPage1.Name = "rpPage1"
Me.rpPage1.Text = "Funktionen"
' '
'RibbonPageGroup1 'RibbonPageGroup1
' '
@@ -104,46 +125,55 @@ Partial Class Form1
' '
'RibbonPageGroup2 'RibbonPageGroup2
' '
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem2) Me.RibbonPageGroup2.ItemLinks.Add(Me.btRunEmailCheck)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2" Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Run" Me.RibbonPageGroup2.Text = "Run"
' '
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsifolderbrowser)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitemppath)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 423)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(800, 27)
'
'ListBox1
'
Me.ListBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.ListBox1.FormattingEnabled = True
Me.ListBox1.Location = New System.Drawing.Point(0, 150)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(800, 273)
Me.ListBox1.TabIndex = 2
'
'RibbonPageGroup3 'RibbonPageGroup3
' '
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem4) Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem4)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3" Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
Me.RibbonPageGroup3.Text = "PDF Handling" Me.RibbonPageGroup3.Text = "PDF Handling"
' '
'BarButtonItem4 'RibbonPageGroup4
' '
Me.BarButtonItem4.Caption = "Extract PDF-Attachments" Me.RibbonPageGroup4.ItemLinks.Add(Me.btExtractMailAttachments)
Me.BarButtonItem4.Id = 6 Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
Me.BarButtonItem4.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.RibbonPageGroup4.Text = "EML Handling"
Me.BarButtonItem4.Name = "BarButtonItem4" '
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsifolderbrowser)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitemppath)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 426)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(800, 24)
'
'ListBox1
'
Me.ListBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.ListBox1.FormattingEnabled = True
Me.ListBox1.Location = New System.Drawing.Point(0, 158)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(800, 268)
Me.ListBox1.TabIndex = 2
' '
'OpenFileDialog1 'OpenFileDialog1
' '
Me.OpenFileDialog1.Filter = "PDF Files|*.pdf" Me.OpenFileDialog1.Filter = "PDF Files|*.pdf"
Me.OpenFileDialog1.InitialDirectory = "e:\" Me.OpenFileDialog1.InitialDirectory = "e:\"
' '
'OpenFileDialog2
'
Me.OpenFileDialog2.Filter = "EML Files|*.eml"
Me.OpenFileDialog2.InitialDirectory = "e:\temp"
Me.OpenFileDialog2.Title = "Wähle EML-Datei"
'
'OpenFileDialog3
'
Me.OpenFileDialog3.FileName = "OpenFileDialog3"
'
'Form1 'Form1
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -153,21 +183,24 @@ Partial Class Form1
Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1) Me.Controls.Add(Me.RibbonControl1)
Me.Name = "Form1" Me.Name = "Form1"
Me.Text = "Form1" Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "EMail Profiler - Test Tool"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.BehaviorManager1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
End Sub End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents rpPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents FolderBrowserDialog1 As FolderBrowserDialog Friend WithEvents FolderBrowserDialog1 As FolderBrowserDialog
Friend WithEvents bsifolderbrowser As DevExpress.XtraBars.BarStaticItem Friend WithEvents bsifolderbrowser As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents btRunEmailCheck As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents ListBox1 As ListBox Friend WithEvents ListBox1 As ListBox
@@ -175,4 +208,9 @@ Partial Class Form1
Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents OpenFileDialog1 As OpenFileDialog Friend WithEvents OpenFileDialog1 As OpenFileDialog
Friend WithEvents btExtractMailAttachments As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents OpenFileDialog2 As OpenFileDialog
Friend WithEvents OpenFileDialog3 As OpenFileDialog
Friend WithEvents BehaviorManager1 As DevExpress.Utils.Behaviors.BehaviorManager
End Class End Class

View File

@@ -154,7 +154,7 @@
NC43QzMyLjEsMTQuMywzMS44LDE0LDMxLjMsMTR6IiBjbGFzcz0iWWVsbG93IiAvPg0KPC9zdmc+Cw== NC43QzMyLjEsMTQuMywzMS44LDE0LDMxLjMsMTR6IiBjbGFzcz0iWWVsbG93IiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btRunEmailCheck.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -227,6 +227,25 @@
MywzdjE2YzAsMC42LTAuNCwxLTEsMXMtMS0wLjQtMS0xVjEwaC0ydjEzICAgYzAsMS43LDEuMywzLDMs MywzdjE2YzAsMC42LTAuNCwxLTEsMXMtMS0wLjQtMS0xVjEwaC0ydjEzICAgYzAsMS43LDEuMywzLDMs
M3MzLTEuMywzLTNWN2MwLTIuOC0yLjItNS01LTVzLTUsMi4yLTUsNXYxNmMwLDMuOSwzLjEsNyw3LDdz M3MzLTEuMywzLTNWN2MwLTIuOC0yLjItNS01LTVzLTUsMi4yLTUsNXYxNmMwLDMuOSwzLjEsNyw3LDdz
Ny0zLjEsNy03VjEwSDIyeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L Ny0zLjEsNy03VjEwSDIyeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="btExtractMailAttachments.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKQCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD
MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls
bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iTWFpbCI+DQogICAgPHBhdGggZD0iTTE2LDE4LjNsMTQtOFYyNWMwLDAuNS0wLjUs
MS0xLDFIM2MtMC41LDAtMS0wLjUtMS0xVjEwLjNMMTYsMTguM3ogTTI5LDZIM0MyLjUsNiwyLDYuNSwy
LDd2MWwxNCw4bDE0LThWNyAgIEMzMCw2LjUsMjkuNSw2LDI5LDZ6IiBjbGFzcz0iQmxhY2siIC8+DQog
IDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<metadata name="FolderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="FolderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -235,4 +254,13 @@
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>186, 17</value> <value>186, 17</value>
</metadata> </metadata>
<metadata name="OpenFileDialog2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>327, 17</value>
</metadata>
<metadata name="OpenFileDialog3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>468, 17</value>
</metadata>
<metadata name="BehaviorManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>609, 17</value>
</metadata>
</root> </root>

View File

@@ -1,24 +1,26 @@
Imports System.ComponentModel Imports System.IO
Imports System.IO
Imports System.Net.Mail
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports DigitalData.Modules Imports DevExpress.Data.Helpers.ExpressiveSortInfo
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports EmailProfiler.Common
Imports GdPicture14 Imports GdPicture14
Imports Independentsoft.Email.Mime Imports Independentsoft.Email.Mime
Imports Attachment = Independentsoft.Email.Mime.Attachment Imports Attachment = Independentsoft.Email.Mime.Attachment
Imports LicenseManager = GdPicture14.LicenseManager Imports LicenseManager = GdPicture14.LicenseManager
Public Class Form1 Public Class Form1
Private _logger As DigitalData.Modules.Logging.Logger Private _logger As Logger
Private Shared MyLogger As LogConfig Private Shared _MyLogger As LogConfig
Private _Worklist As List(Of String) Private _Worklist As List(Of String)
Private MyDatabase As MSSQLServer Private MyDatabase As MSSQLServer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub Form1_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) _MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName, My.Application.Info.ProductName)
_logger = MyLogger.GetLogger() _logger = _MyLogger.GetLogger()
MyLogger.Debug = True _MyLogger.Debug = True
Dim dbResult As Boolean Dim dbResult As Boolean
@@ -27,7 +29,7 @@ Public Class Form1
Exit Sub Exit Sub
End If End If
MyDatabase = New MSSQLServer(MyLogger, My.Settings.DD_ECM_CONSTRING) MyDatabase = New MSSQLServer(_MyLogger, My.Settings.DD_ECM_CONSTRING)
If MyDatabase.DBInitialized = True Then If MyDatabase.DBInitialized = True Then
dbResult = True dbResult = True
@@ -65,8 +67,15 @@ Public Class Form1
End If End If
End Sub End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick Private Sub btRunEmailCheck_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btRunEmailCheck.ItemClick
' Check Email
ListBox1.Items.Clear() ListBox1.Items.Clear()
If bsifolderbrowser Is Nothing Or String.IsNullOrEmpty(bsifolderbrowser.Caption) Then
MsgBox("Es wurde kein input-Verzeichnis konfiguriert. Abbruch!", MsgBoxStyle.Information)
Return
End If
Dim di As New DirectoryInfo(bsifolderbrowser.Caption) Dim di As New DirectoryInfo(bsifolderbrowser.Caption)
' Get a reference to each file in that directory. ' Get a reference to each file in that directory.
Dim fiArr As FileInfo() = di.GetFiles() Dim fiArr As FileInfo() = di.GetFiles()
@@ -112,7 +121,7 @@ Public Class Form1
If oCount = 1 Then If oCount = 1 Then
Continue For Continue For
End If End If
Dim oAttachmentFileString Dim oAttachmentFileString As String = ""
oString = String.Format(" Working on Attachment [{0}]", oAttachment.GetFileName) oString = String.Format(" Working on Attachment [{0}]", oAttachment.GetFileName)
_logger.Info(oString) _logger.Info(oString)
ListBox1.Items.Add(oString) ListBox1.Items.Add(oString)
@@ -133,7 +142,7 @@ Public Class Form1
oString = " ## Attachment NOT EXISTING ##" oString = " ## Attachment NOT EXISTING ##"
_logger.Info(oString) _logger.Info(oString)
ListBox1.Items.Add(oString) ListBox1.Items.Add(oString)
If System.IO.File.Exists(oAttachmentFileString) = False Then If File.Exists(oAttachmentFileString) = False Then
_logger.Debug(String.Format("Trying to save attachment [{0}]", oAttachmentFileString)) _logger.Debug(String.Format("Trying to save attachment [{0}]", oAttachmentFileString))
Try Try
oAttachment.Save(oAttachmentFileString) oAttachment.Save(oAttachmentFileString)
@@ -191,7 +200,7 @@ Public Class Form1
End Try End Try
End Function End Function
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Private Sub btExtractPdfAttachments_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
' FileOpen Dialog ' FileOpen Dialog
Dim fileOpenDlg = OpenFileDialog1 Dim fileOpenDlg = OpenFileDialog1
@@ -206,8 +215,9 @@ Public Class Form1
End Sub End Sub
Private Sub ExtractEmbeddedPDFAttachments(pFilename As String) Private Sub ExtractEmbeddedPDFAttachments(pFilename As String)
Try Try
Dim oSQLGDPicture = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE ACTIVE = 1"
Dim GDPictureLicense As String = "21182889975216572111813147150675976632" Dim GDPictureLicense As String = ConfigDbFunct.GetProductLicense("GDPICTURE", "11.2024", _MyLogger, My.Settings.DD_ECM_CONSTRING)
Dim oValidExtensions = New List(Of String) From {"pdf", "xls", "xlsx", "doc", "docx", "ppt", "pptx"} Dim oValidExtensions = New List(Of String) From {"pdf", "xls", "xlsx", "doc", "docx", "ppt", "pptx"}
Dim oGraphicExtensions = New List(Of String) From {"jpg", "bmp", "jpeg", "gif", "png", "xml"} Dim oGraphicExtensions = New List(Of String) From {"jpg", "bmp", "jpeg", "gif", "png", "xml"}
@@ -236,7 +246,7 @@ Public Class Form1
Dim oValidExt = oValidExtensions.Any(Function(ext) oEmbAttName.EndsWith(ext)) Dim oValidExt = oValidExtensions.Any(Function(ext) oEmbAttName.EndsWith(ext))
If oValidExt = False Then If oValidExt = False Then
_Logger.Info("Invalid FileExtension of embedded file [{0}]", oEmbAttName) _logger.Info("Invalid FileExtension of embedded file [{0}]", oEmbAttName)
Dim GraphicExt = oGraphicExtensions.Any(Function(ext) oEmbAttName.EndsWith(ext)) Dim GraphicExt = oGraphicExtensions.Any(Function(ext) oEmbAttName.EndsWith(ext))
If GraphicExt = False Then If GraphicExt = False Then
Dim oInfo = $"Consistency or extension of attached file [{oEmbAttName}] is not ok." Dim oInfo = $"Consistency or extension of attached file [{oEmbAttName}] is not ok."
@@ -268,4 +278,33 @@ Public Class Form1
End Try End Try
End Sub End Sub
Private Sub btExtractMailAttachments_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btExtractMailAttachments.ItemClick
' Hier verarbeiten wir eine ausgewählte EML-Datei
' und speichern alle Anhänge auf die Platte.
' Der Einstieg und der Ablauf entspricht dem des Services.
' Unterschied ist die lokale Datei
Dim connectionString As String = "Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd"
Dim oConfigData As Config = New Config() With {
.Debug = False,
.GDPictureVersion = "11.2024",
.UseWindream = False,
.ConnectionString = connectionString
}
Dim Worker As ExtractAttachmentsFromEMLFile = New ExtractAttachmentsFromEMLFile()
' FileOpen Dialog
Dim fileOpenDlg = OpenFileDialog2
If fileOpenDlg.ShowDialog() = DialogResult.OK Then
Dim oFilename = fileOpenDlg.FileName
' Call Extract Method
Worker.CallWorkerProcess(oFilename, oConfigData)
End If
End Sub
End Class End Class

View File

@@ -0,0 +1,30 @@
Imports System.IO
Imports DigitalData.Modules.Logging
Imports EmailProfiler.Common
Public Class ExtractAttachmentsFromEMLFile
Private ReadOnly _LogConfig As LogConfig
Sub New()
Dim oLogPath = Path.Combine(My.Application.Info.DirectoryPath, "Log")
_LogConfig = New LogConfig(LogConfig.PathType.CustomPath, oLogPath, Nothing, "Digital Data", "DD EmailProfiler TEST", 30)
End Sub
Public Sub CallWorkerProcess(pEMLFilename As String, pConfigData As Config)
Dim oProfileIdForPolling = 1
Dim oWorker As New clsWorker(_LogConfig,
pConfigData.ConnectionString,
"",
oProfileIdForPolling,
pConfigData,
pEMLFilename)
oWorker.Start_WorkingProfiles(True)
End Sub
End Class

View File

@@ -1,4 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="GdPicture" version="14.2.90" targetFramework="net48" />
<package id="GdPicture.runtimes.windows" version="14.2.90" targetFramework="net48" />
<package id="NLog" version="5.0.5" targetFramework="net461" /> <package id="NLog" version="5.0.5" targetFramework="net461" />
</packages> </packages>

View File

@@ -15,6 +15,8 @@
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@@ -54,18 +56,27 @@
<Reference Include="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database"> <Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging"> <Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14"> <Reference Include="EmailProfiler.Common">
<HintPath>D:\ProgramFiles\GdPicture.net 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll</HintPath> <HintPath>..\EmailProfiler.Common\bin\Debug\EmailProfiler.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14, Version=14.2.90.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.2.90\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference> </Reference>
<Reference Include="Independentsoft.Email"> <Reference Include="Independentsoft.Email">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Email .NET\Bin\Independentsoft.Email.dll</HintPath> <HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Email .NET\Bin\Independentsoft.Email.dll</HintPath>
</Reference> </Reference>
<Reference Include="Mail">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\Limilabs\Mail.dll\Mail.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
@@ -100,6 +111,7 @@
<Import Include="System.Threading.Tasks" /> <Import Include="System.Threading.Tasks" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="TestClasses\ExtractAttachmentsFromEMLFile.vb" />
<Compile Include="Form1.vb"> <Compile Include="Form1.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -150,4 +162,11 @@
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.2.90\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target>
</Project> </Project>