This commit is contained in:
2022-08-04 11:08:28 +02:00
277 changed files with 138 additions and 417291 deletions

View File

@@ -6,72 +6,68 @@ Imports MailBox = Limilabs.Mail.Headers.MailBox
Imports Limilabs.Client.IMAP
Public Class ClassCurrent
Public Shared WM_CON_STRING As String
Public Shared WM_DRIVE As String
Public Shared TIMER_INTERVALL As Integer = 5
Public Shared Property WM_CON_STRING As String
Public Shared Property WM_DRIVE As String
Public Shared Property TIMER_INTERVALL As Integer = 5
Public Shared LOG_INITIALIZED As Boolean = False
Public Shared CURRENT_FILEIN_WD As String
Public Shared CURRENT_IMPORT_ID As Integer
Public Shared Property CURRENT_EMAIL_GUID As Integer
Public Shared Property CURRENT_PROFILE_GUID As Integer
Public Shared Property DTCONFIG As DataTable
Public Shared Property DT_ECM_BASE_CONFIG As DataTable
Public Shared Property PATH_TEMP As String
Public Shared Property PATH_ERROR As String
Public Shared CURRENT_EMAIL_GUID As Integer
Public Shared CURRENT_PROFILE_GUID As Integer
Public Shared DTCONFIG As DataTable
Public Shared DT_ECM_BASE_CONFIG As DataTable
Public Shared PATH_TEMP As String
Public Shared PATH_ERROR As String
Public Shared Property MAIL_BODY_FONT As String = ""
Public Shared Property MAIL_FROM As String = ""
Public Shared Property MAIL_SERVER As String = ""
Public Shared Property MAIL_USER As String = ""
Public Shared Property MAIL_USER_PW As String = ""
Public Shared Property MAIL_PORT As Integer = 995
Public Shared Property MAIL_INBOX_NAME As String = "Inbox"
Public Shared Property MAIL_ARCHIVE_FOLDER As String = ""
Public Shared Property MAIL_AUTHTYPE As String
Public Shared Property DT_POLL_PROCESS As DataTable
Public Shared Property DT_STEPS As DataTable
Public Shared Property DT_INDEXING_STEPS As DataTable
Public Shared MAIL_BODY_FONT As String = ""
Public Shared MAIL_FROM As String = ""
Public Shared MAIL_SERVER As String = ""
Public Shared MAIL_USER As String = ""
Public Shared MAIL_USER_PW As String = ""
Public Shared MAIL_PORT As Integer = 995
Public Shared MAIL_INBOX_NAME As String = "Inbox"
Public Shared MAIL_ARCHIVE_FOLDER As String = ""
Public Shared MAIL_AUTHTYPE As String
Public Shared DT_POLL_PROCESS As DataTable
Public Shared DT_STEPS As DataTable
Public Shared DT_INDEXING_STEPS As DataTable
' Public Shared Property oCURRENT_WORKMAIL_LIST As New ArrayList()
Public Shared Property CURRENT_WORKMAIL_UID_LIST As New List(Of Long)
' Public Shared oCURRENT_WORKMAIL_LIST As New ArrayList()
Public Shared CURRENT_WORKMAIL_UID_LIST As New List(Of Long)
Public Shared Property CURRENT_MAIL_MESSAGE As IMail
Public Shared Property CURRENT_TEMP_MAIL_PATH As String
Public Shared Property CURRENT_MAIL_BODY_ALL As String
Public Shared Property CURRENT_MAIL_BODY_ANSWER1 As String = ""
Public Shared Property CURRENT_MAIL_BODY_Substr2 As String = ""
Public Shared Property CURRENT_MAIL_SUBJECT As String = ""
Public Shared Property CURRENT_MAIL_FROM As String = ""
Public Shared Property CURRENT_MAIL_MESSAGE_ID As String = ""
Public Shared Property CURRENT_MAIL_UID As Long
Public Shared Property CURRENT_MAIL_PROCESS_NAME As String
Public Shared Property CURRENT_ImapObject As Imap
Public Shared CURRENT_MAIL_MESSAGE As IMail
Public Shared CURRENT_TEMP_MAIL_PATH As String
Public Shared CURRENT_MAIL_BODY_ALL As String
Public Shared CURRENT_MAIL_BODY_ANSWER1 As String = ""
Public Shared CURRENT_MAIL_BODY_Substr2 As String = ""
Public Shared CURRENT_MAIL_SUBJECT As String = ""
Public Shared CURRENT_MAIL_FROM As String = ""
Public Shared CURRENT_MAIL_MESSAGE_ID As String = ""
Public Shared CURRENT_MAIL_UID As Long
Public Shared CURRENT_MAIL_PROCESS_NAME As String
Public Shared CURRENT_ImapObject As Imap
Public Shared Property DeleteMail As Boolean = False
Public Shared Property CURRENT_POLL_TYPE As String
Public Shared DeleteMail As Boolean = False
Public Shared CURRENT_POLL_TYPE As String
Public Shared Property POLL_STEP_GUID As Integer
Public Shared Property POLL_STEP_PROCESS_ID As Integer
Public Shared Property POLL_KEYWORDS As String
Public Shared Property KEYWORDS_SPLIT As String()
Public Shared POLL_STEP_GUID As Integer
Public Shared POLL_STEP_PROCESS_ID As Integer
Public Shared POLL_KEYWORDS As String
Public Shared KEYWORDS_SPLIT As String()
Public Shared Property WM_REFERENCE_INDEX As String
Public Shared Property WM_VECTOR_LOG As String
Public Shared Property WM_OBJEKTTYPE As String
Public Shared Property WM_IDX_BODY_TEXT As String
Public Shared Property WM_IDX_BODY_SUBSTR_LENGTH As String
Public Shared WM_REFERENCE_INDEX As String
Public Shared WM_VECTOR_LOG As String
Public Shared WM_OBJEKTTYPE As String
Public Shared WM_IDX_BODY_TEXT As String
Public Shared WM_IDX_BODY_SUBSTR_LENGTH As String
Public Shared Property CURRENT_WM_DOC As WMObject
Public Shared Property CURRENT_DOC_ID As Integer
Public Shared Property CURRENT_DOC_PATH As String
Public Shared Property MessageError As Boolean = False
Public Shared CURRENT_WM_DOC As WMObject
Public Shared CURRENT_DOC_ID As Integer
Public Shared CURRENT_DOC_PATH As String
Public Shared MessageError As Boolean = False
Public Shared Property TEMP_FILES As List(Of String) = New List(Of String)
Public Shared Property TEMP_HTML_RESULTS As List(Of String) = New List(Of String)
Public Shared TEMP_FILES As List(Of String) = New List(Of String)
Public Shared TEMP_HTML_RESULTS As List(Of String) = New List(Of String)
Public Shared CURRENT_DEBUG_LOCAL_EMAIL As String
Public Shared Property CURRENT_DEBUG_LOCAL_EMAIL As String
End Class

View File

@@ -46,6 +46,9 @@
<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>
</Reference>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\..\DDMonorepo\Modules.Base\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database, Version=1.0.0.4, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
@@ -53,6 +56,10 @@
<Reference Include="DigitalData.Modules.Filesystem">
<HintPath>..\..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language, Version=1.5.2.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
@@ -113,6 +120,7 @@
<Compile Include="clsWindream_Index.vb" />
<Compile Include="clsWorkEmail.vb" />
<Compile Include="clsWorker.vb" />
<Compile Include="MailContainer.vb" />
<Compile Include="ModuleCurrent.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">

View File

@@ -0,0 +1,52 @@
Imports Limilabs.Mail
Imports DigitalData.Modules.Language
Public Class MailContainer
Private ReadOnly Uid As String
Private ReadOnly FilteredMessageId
Public ReadOnly Property Mail As IMail
Public ReadOnly Property Subject As String
Get
Return Mail.Subject
End Get
End Property
Public ReadOnly Property MessageId As String
Get
Return Mail.MessageID
End Get
End Property
Public ReadOnly Property MessageIdPathSafe As String
Get
Return FilteredMessageId
End Get
End Property
Public Property BodyComplete As String
Public Property BodySubstring1 As String
Public Property BodySubstring2 As String
Public Sub New(pMail As IMail, pUid As String)
Mail = pMail
Uid = pUid
FilteredMessageId = ProcessMessageId(pMail.MessageID)
End Sub
Private Function ProcessMessageId(pOriginalMessageId As String) As String
If pOriginalMessageId Is Nothing Then
Return Guid.NewGuid.ToString
End If
If TypeOf pOriginalMessageId Is String AndAlso pOriginalMessageId.Length = 0 Then
Return Guid.NewGuid.ToString
End If
Return Utils.RemoveInvalidCharacters(pOriginalMessageId)
End Function
End Class

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>

View File

@@ -1,149 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Filesystem
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Filesystem.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Filesystem.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Filesystem.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Filesystem.FileContainer">
<module>FileContainer</module>
<version>0.0.0.2</version>
<date>21.11.2018</date>
<summary>
File Container for securely saving files
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<params>
LogConfig, DigitalData.Module.Logging.LogConfig
A LogConfig object
Password, String
The Password to Encrypt
Path, String
The Path to save/load the container
</params>
<example>
dim oContainer = Container.Create(logConfig, "pass", "E:\some.container")
dim oContainer = Container.Load(logConfig, "pass", "E:\some.container")
dim oContainer = new Container(logConfig, "pass", "E:\some.container")
oContainer.Save()
dim oContainer = new Container(logConfig, "pass", "E:\some.container")
oContainer.Contents = oSomeData
oContainer.Save()
dim oContainer = new Container(logConfig, "pass", "E:\some.container")
oContainer.Load()
dim oContents = oContainer.Contents
dim oContainer = new Container(logConfig, "pass", "E:\some.container")
oContainer.Load()
oContainer.Contents = oSomeOtherData
oContainer.Save()
oContainer.SaveAs("E:\some2.container")
</example>
</member>
<member name="T:DigitalData.Modules.Filesystem.File">
<module>File</module>
<version>0.0.0.1</version>
<date>11.10.2018</date>
<summary>
Module that provides variouse File operations
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<params>
LogConfig, DigitalData.Module.Logging.LogConfig
A LogConfig object
</params>
<props>
</props>
<example>
</example>
<remarks>
</remarks>
</member>
<member name="M:DigitalData.Modules.Filesystem.File.GetVersionedFilename(System.String)">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="Destination"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Filesystem.File.RemoveFiles(System.String,System.Int32,System.String,System.String,System.Boolean)">
<summary>
Removes files in a directory filtered by filename, extension and last write date
</summary>
<param name="Path">The directory in which files will be deleted</param>
<param name="FileKeepTime">Only delete files which are older than x days. Must be between 0 and 1000 days.</param>
<param name="FileBaseName">A filename filter which will be checked</param>
<param name="FileExtension">A file extension which will be checked</param>
<param name="ContinueOnError">Should the function continue with deleting when a file could not be deleted?</param>
<returns>True if all files were deleted or if no files were deleted, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Filesystem.File.CopyDirectory(System.String,System.String,System.Boolean)">
<summary>
Copied from https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories
</summary>
<param name="SourceDirName"></param>
<param name="DestDirName"></param>
<param name="CopySubDirs"></param>
</member>
<member name="M:DigitalData.Modules.Filesystem.File.CreateDirectory(System.String,System.Boolean)">
<summary>
Tries to create a directory and returns its path.
Returns a temp path if `DirectoryPath` can not be created or written to.
</summary>
<param name="DirectoryPath">The directory to create</param>
<param name="TestWriteAccess">Should a write access test be performed?</param>
<returns>The used path</returns>
</member>
<member name="M:DigitalData.Modules.Filesystem.FileWatcher.HandleFileChanged(System.Object,System.IO.FileSystemEventArgs)">
<summary>
This may fire twice for a single save operation,
see: https://blogs.msdn.microsoft.com/oldnewthing/20140507-00/?p=1053/
</summary>
</member>
<member name="T:DigitalData.Modules.Filesystem.FileWatcherFilters">
<summary>
Built-in filters for FileWatcher that are useful for correctly detecting changes on Office documents (currently Office 2016)
</summary>
</member>
<member name="T:DigitalData.Modules.Filesystem.FileWatcherFilters.BaseFileFilter">
<summary>
Base Filter that all filters must inherit from
Provides two functions that may be overridden and some useful file extension lists
</summary>
</member>
<member name="T:DigitalData.Modules.Filesystem.FileWatcherFilters.TempFileFilter">
<summary>
Simple Filter that filters changes made on temporary files
</summary>
</member>
<member name="T:DigitalData.Modules.Filesystem.FileWatcherFilters.OfficeFileFilter">
<summary>
Filter to detect changes on Office files
</summary>
</member>
</members>
</doc>

View File

@@ -1,125 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Language
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Language.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Language.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Language.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Language.Utils">
<summary>
Provides common utility functions that do not require a specific context.
</summary>
</member>
<member name="M:DigitalData.Modules.Language.Utils.ShortGUID">
<summary>
Generates a random short (8 characters) guid
</summary>
<returns>The generated guid as a String</returns>
</member>
<member name="M:DigitalData.Modules.Language.Utils.ToEnum``1(System.String)">
<summary>
Converts a String value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The string value to convert</param>
</member>
<member name="M:DigitalData.Modules.Language.Utils.ToEnum``1(System.Int32)">
<summary>
Converts an Integer value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The integer value to convert</param>
</member>
<member name="M:DigitalData.Modules.Language.Utils.ToEnum``1(System.Int64)">
<summary>
Converts a Long value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The long value to convert</param>
</member>
<member name="M:DigitalData.Modules.Language.Utils.NotNull``1(``0,``0)">
<summary>
Checks a value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="value">The value</param>
<param name="defaultValue">The default Value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Language.Utils.NotNull``1(System.Data.DataRow,System.String,``0)">
<summary>
Checks a Row value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="Row">The DataRow that contains the value</param>
<param name="Column">The column name</param>
<param name="DefaultValue">The default value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Language.Utils.ConvertTextToSlug(System.String)">
<summary>
Creates a "slug" from text that can be used as part of a valid URL.
Invalid characters are converted to hyphens. Punctuation that Is
perfect valid in a URL Is also converted to hyphens to keep the
result mostly text. Steps are taken to prevent leading, trailing,
And consecutive hyphens.
</summary>
<param name="s">The string to convert</param>
</member>
<member name="M:DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(System.String)">
<summary>
Removes Invalid characters from a string, suitable for file and path names
Removed characters are:
* Illegal File-characters
* Illegal Path-characters
* Unicode characters that classify as Emoji
* All characters above codepoint U+10000
See:
https://stackoverflow.com/questions/46905176/detecting-all-emojis
https://stackoverflow.com/questions/28023682/how-do-i-remove-emoji-characters-from-a-string
</summary>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Language.Utils.IsVisibleOnAnyScreen(System.Drawing.Point)">
<summary>
Checks if a point is Visible on any screen
</summary>
</member>
<member name="M:DigitalData.Modules.Language.Utils.SizeIsVisible(System.Drawing.Size)">
<summary>
Checks if Size is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Language.Utils.LocationIsVisible(System.Drawing.Point)">
<summary>
Checks if Location is not negative
</summary>
</member>
</members>
</doc>

View File

@@ -1,82 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Messaging
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Messaging.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Messaging.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Messaging.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="M:DigitalData.Modules.Messaging.Email.WriteMessageToFile(System.Net.Mail.MailMessage,System.String)">
<summary>
Uses a private API from MailWriter to write a MailMessage to disk.
May break in future versions of .NET
</summary>
</member>
<member name="T:DigitalData.Modules.Messaging.EventBus">
<summary>
A Simple EventBus for .NET
https://stackoverflow.com/questions/368265/a-simple-event-bus-for-net
</summary>
</member>
<member name="M:DigitalData.Modules.Messaging.EventBus.Register(System.Object)">
<summary>
Register a form as an event listener.
</summary>
<param name="listener">The event listener, usually `Me`</param>
</member>
<member name="M:DigitalData.Modules.Messaging.Email2.Load_Email(System.String)">
<summary>
Loads an eml file from disk and returns the IMail representation of it
</summary>
<param name="pFileName">Path to the eml file</param>
<returns>The IMail object</returns>
</member>
<member name="M:DigitalData.Modules.Messaging.Email2.Remove_AttachmentsFromEmail(System.String,System.String)">
<summary>
Removes all attachments from an EML file and saves it to a temporary file.
</summary>
<param name="pFileName">The EML file to process.</param>
<param name="pSuffix">The optional suffix to add to the original filename.</param>
<returns>The path of the new EML without attachments.</returns>
</member>
<member name="M:DigitalData.Modules.Messaging.Limilab.InitIMAP(System.Boolean,System.String,System.Int32,System.String,System.String,System.String,System.String)">
<summary>
Initializes the module.
</summary>
<param name="oImapServer">IP-Address or Domainname of Server</param>
<param name="oPort">IMAP-Port</param>
<param name="oUser">IMAP-Username</param>
<param name="oPassword">IMAP-Password</param>
<param name="oAuthType">Auth-Type</param>
<param name="Folder">The folder to fetch messages from. Defaults to `Inbox`</param>
</member>
<member name="M:DigitalData.Modules.Messaging.Limilab.IMAPTestLogin">
<summary>
Tests connection to a given IMAP Server by connecting and doing a simple message query.
</summary>
<returns>True if connection and query were successful. False otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Messaging.Limilab.NewSMTPEmail(System.String,System.String,System.String,System.String,System.String,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean)">
<summary>
Creates a MailObject and sends Mail via smtp.
</summary>
<returns>True if Message was send. False otherwise.</returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>

View File

@@ -1,114 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.EMLProfiler
</name>
</assembly>
<members>
<member name="T:DigitalData.EMLProfiler.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:DigitalData.EMLProfiler.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:DigitalData.EMLProfiler.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member>
<member name="M:DigitalData.EMLProfiler.clsEmailIMAP.WriteMessageToFile(System.Net.Mail.MailMessage,System.String)">
<summary>
Uses a private API from MailWriter to write a MailMessage to disk.
May break in future versions of .NET
</summary>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.#ctor(DigitalData.Modules.Logging.LogConfig)">
<summary>
Konstruktor für die windream-Klasse
</summary>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.Init">
<summary>
Initialisiert die statische Klasse (Login, Session starten, usw.)
</summary>
<returns>Liefert True wenn das Anmelden erfolgreich war, sonst False</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.GetObjecttypesAsObjects">
<summary>
Liefert alle Objekttypen des aktuellen Servers als windream-Objekte.
</summary>
<returns>Alle Objekttypen als WMObjects-Objekt</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.GetObjecttypesAsStrings">
<summary>
Liefert alle Objekttypen des aktuellen Servers als Array aus Strings.
</summary>
<returns>Array mit allen Objekttypen als Strings</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.GetIndicesByObjecttype(System.String)">
<summary>
Liefert alle Indexe eines Objekttypen.
</summary>
<param name="name">Name des Objekttyps</param>
<returns>Array mit allen Objekttyp zugeordneten Indexen als String</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.GetObjecttypeByName(System.String)">
<summary>
Liefert einen Objekttyp als WMObject an Hand dessen Name.
</summary>
<param name="objekttypName">Name des Objekttyps</param>
<returns>Objekttyp als WMObject</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.ExistIndexInObjekttyp(System.String,System.String)">
<summary>
Überprüft ob der angegebene Index im Objekttyp existiert
</summary>
<param name="objekttyp">Name des zu durchsuchenden Objekttyps</param>
<param name="indexname">Name des zu suchenden Indexes</param>
<returns>Liefert True wenn der Index im Objekttyp existiert, sonst False</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.IsLoggedIn">
<summary>
Liefert True wenn die windream-Session angemeldet ist und False für den Fall, dass die Session nicht eingeloggt ist.
</summary>
<returns>Anmeldestatus als Boolean</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.GetCurrentServer">
<summary>
Liefert den Servernamen an dem windream aktuell angemeldet ist.
</summary>
<returns>Servername als String</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_allgemein.GetTypeOfIndexAsIntByName(System.String)">
<summary>
Liefert den Typen eines Indexes als Integer.
</summary>
<param name="indexname">Name des zu überprüfenden Indexfeldes</param>
<returns>Liefert eine Zahl, die einen Typen beschreibt</returns>
<remarks></remarks>
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_Index.GetValueforIndex(System.String,System.String)">
Liefert den Wert eines Indexes als String
_indexname = Name des zu überprüfenden Indexfeldes
</member>
<member name="M:DigitalData.EMLProfiler.clsWindream_Index.GetValueforIndex_WMFile(WINDREAMLib.WMObject,System.String)">
Liefert den Wert eines Indexes als String
_indexname = Name des zu überprüfenden Indexfeldes
</member>
</members>
</doc>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
</providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -1,246 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Database
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Database.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Database.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Database.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Database.Firebird">
<summary>
MODULE: Firebird
VERSION: 0.0.0.4
DATE: 18.12.2018
DESCRIPTION:
DEPENDENCIES: NLog, >= 4.5.10
EntityFramework.Firebird, >= 6.4.0
FirebirdSql.Data.FirebirdClient, >= 6.4.0
PARAMETERS: LogConfig, DigitalData.Modules.Logging.LogConfig
The LogFactory containing the current log config. Used to instanciate the class logger for this and any dependent class
DataSource, String
The server where the database lives, for example 127.0.0.1 or dd-vmx09-vm03
Database, String
The location of the Database in the format `127.0.0.1:E:\Path\To\Database.FDB`
User, String
The user name to connect as
Password, String
The user's password
PROPERTIES: ConnectionEstablished, Boolean
If the last opened connection was successful
ConnectionFailed, Boolean
If the last opened connection failed
ConnectionString, String
The used connectionstring
EXAMPLES:
REMARKS: If the connection fails due to "wrong username or password", the cause might be that the server harddrive is full..
</summary>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.#ctor(DigitalData.Modules.Logging.LogConfig,System.String,System.String,System.String,System.String)">
<summary>
</summary>
<param name="LogConfig">The LogFactory containing the current log config. Used to instanciate the class logger for this and any dependent class</param>
<param name="Datasource">The server where the database lives, for example 127.0.0.1 or dd-vmx09-vm03</param>
<param name="Database">The location of the Database in the format `127.0.0.1:E:\Path\To\Database.FDB`</param>
<param name="User">The user name to connect as</param>
<param name="Password">The user's password</param>
<exception cref="T:DigitalData.Modules.Database.Exceptions.DatabaseException"></exception>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetConnectionString(System.String,System.String,System.String,System.String)">
<summary>
Builds a connectionstring from the provided arguments.
</summary>
<param name="DataSource">The database server where to connect to</param>
<param name="Database">The datasource, eg. the path of the FDB-file</param>
<param name="User">The user used to connect to the database</param>
<param name="Password">The password of the connecting user</param>
<returns>A connectionstring</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQueryWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQuery(System.String)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQuery(System.String,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a non-query command inside the specified transaction.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetScalarValueWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetScalarValue(System.String)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetDatatableWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetDatatable(System.String,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.ExecuteNonQueryWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlQuery">The command to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.ExecuteNonQuery(System.String)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetScalarValueWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetScalarValue(System.String)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetDatatableWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetDatatable(System.String)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.GetDatatable(System.String)">
<summary>
Returns a datatable for a sql-statement
</summary>
<param name="sqlcommand">sqlcommand for datatable (select XYZ from TableORView)</param>
<returns>Returns a datatable</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.NewExecutenonQuery(System.String)">
<summary>
Executes the passed sql-statement
</summary>
<param name="executeStatement">the sql statement</param>
<returns>Returns true if properly executed, else false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.NewExecuteScalar(System.String)">
<summary>
Executes the passed sql-statement as Scalar
</summary>
<param name="executeStatement">the sql statement</param>
<returns>Returns the scalarvalue</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.EncryptConnectionString(System.String)">
<summary>
Encrypts a connection string password.
</summary>
<param name="ConnectionString">A connection string with a plain-text password</param>
<returns>The connection string with the password encrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.DecryptConnectionString(System.String)">
<summary>
Decrypts a connection string password.
</summary>
<param name="ConnectionString">A connection string with a encrypted password</param>
<returns>The connection string with the password decrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.OpenSQLConnection(System.Data.SqlClient.SqlConnection)">
<summary>
This Function intentionally has no try..catch block to have any errors caught outside
</summary>
<param name="Connection"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.GetDatatable(System.String,System.Int32)">
<summary>
Returns a datatable for a sql-statement
</summary>
<param name="SqlCommand">sqlcommand for datatable (select XYZ from TableORView)</param>
<returns>Returns a datatable</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.NewExecuteNonQueryAsync(System.String,System.Int32)">
<summary>
Executes the passed sql-statement in asyncmode
</summary>
<param name="SqlCommand">the sql statement</param>
<param name="commandtimeout">Optional Timeout</param>
<remarks></remarks>
</member>
</members>
</doc>

View File

@@ -1,31 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Encryption
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Encryption.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Encryption.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Encryption.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Encryption.Encryption">
<summary>
https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp
</summary>
</member>
</members>
</doc>

View File

@@ -1,201 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Logging
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Logging.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Logging.LogConfig">
<module>LogConfig</module>
<version>0.0.1.0</version>
<date>02.10.2018</date>
<summary>
Module that writes file-logs to different locations:
local application data, the current directory or a custom path.
Files and directories will be automatically created.
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<example>
Imports DigitalData.Modules.Logging
Class FooProgram
Private Logger as Logger
Private LogConfig as LogConfig
Public Sub New()
LogConfig = new LogConfig(args)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
Class FooLib
Private Logger as NLog.Logger
Public Sub New(LogConfig as LogConfig)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
</example>
<remarks>
If logpath can not be written to, falls back to temp folder as defined in:
https://docs.microsoft.com/de-de/dotnet/api/system.io.path.gettemppath?view=netframework-4.7.2
If used in a service, LogPath must be set to CustomPath, otherwise the Log will be written to System32!
For NLog Troubleshooting, set the following Environment variables to write the NLog internal Log:
- NLOG_INTERNAL_LOG_LEVEL: Debug
- NLOG_INTERNAL_LOG_FILE: ex. C:\Temp\Nlog_Internal.log
</remarks>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFactory">
<summary>
Returns the NLog.LogFactory object that is used to create Loggers
</summary>
<returns>LogFactory object</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFile">
<summary>
Returns the path to the current default logfile
</summary>
<returns>Filepath to the logfile</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogDirectory">
<summary>
Returns the path to the current log directory
</summary>
<returns>Directory path to the log directory</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Debug">
<summary>
Determines if a debug log will be written
</summary>
<returns>True, if debug log will be written. False otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Logs">
<summary>
Returns Logs in Memory as List(Of String) if Debug is enabled
Returns an empty list if debug is disabled
</summary>
<returns>A list of log messages</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogOptions)">
<summary>
Initializes a new LogConfig object with the options supplied as a LogOptions object
</summary>
<param name="Options"></param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogConfig.PathType,System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Initializes a new LogConfig object with a logpath and optinally a filename-suffix.
</summary>
<param name="LogPath">The basepath to write logs to. Can be AppData, CurrentDirectory or CustomPath.</param>
<param name="CustomLogPath">If `logPath` is set to custom, this defines the custom logPath.</param>
<param name="Suffix">If set to anything other than Nothing, extends the logfile name with this suffix.</param>
<param name="CompanyName">CompanyName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="ProductName">ProductName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="FileKeepRangeInDays">Amount of days where files are kept and not deleted.</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearOldLogfiles(System.Int32)">
<summary>
Clears old LogFiles from the configured logpath for compliance with the GDPR
</summary>
<param name="FileKeepRange">Days in which logfiles should be kept. All files older than `Now - FileKeepInterval` will be deleted.</param>
<returns>True, if files were deleted as expected or no files were deleted. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger">
<summary>
Returns the Logger for the calling class
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String)">
<summary>
Returns the Logger for the specified classname
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLoggerFor(System.String)">
<summary>
Returns the Logger for the specified module using event-properties
</summary>
<remarks>
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824
</remarks>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String,System.String)">
<summary>
Returns the Logger for a class specified by `ClassName`
</summary>
<param name="ClassName">The name of the class the logger belongs to</param>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearLogs">
<summary>
Clears the internal log
</summary>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetClassFullName(System.Boolean,System.Int32)">
<summary>
Gets the fully qualified name of the class invoking the calling method,
including the namespace but Not the assembly.
</summary>
<returns>The fully qualified class name</returns>
<remarks>This method is very resource-intensive!</remarks>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetConfig(System.String,System.String)">
<summary>
Returns the initial log configuration
</summary>
<param name="productName">The chosen productname</param>
<param name="logFileSuffix">The chosen suffix</param>
<returns>A NLog.LoggingConfiguration object</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.AddDefaultRules(NLog.Config.LoggingConfiguration@)">
<summary>
Adds the default rules
</summary>
<param name="config">A NLog.LoggingConfiguration object</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetCurrentLogFilePath">
<summary>
Returns the full path of the current default log file.
</summary>
<returns>Full path of the current default log file</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ReloadConfig(System.Boolean)">
<summary>
Reconfigures and re-adds all loggers, optionally adding the debug rule.
</summary>
<param name="Debug">Adds the Debug rule if true.</param>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@@ -12,6 +12,8 @@ Imports MailBox = Limilabs.Mail.Headers.MailBox
'Imports DigitalData.Modules.Messaging
Public Class clsWorkEmail
Private Const FILENAME_MAX_LENGTH = 100
Private Shared Logger As Logger
Private MyLogger As LogConfig
Private _DB_MSSQL As clsDatabase
@@ -54,6 +56,9 @@ Public Class clsWorkEmail
CURRENT_MAIL_FROM = m.Address
Next
'TODO: Move all of these CURRENT_MAIL vars into a business object of type mail container
'Dim oMail As New MailContainer(MyEmailMessage, poUID)
Logger.Debug($"Working on email from: {CURRENT_MAIL_FROM}...Subject: {MyEmailMessage.Subject}")
CURRENT_MAIL_BODY_ALL = ""
CURRENT_MAIL_BODY_ANSWER1 = ""
@@ -328,7 +333,11 @@ Public Class clsWorkEmail
End Try
Next oFileName
Dim oResult As Boolean = False
Dim oSubjectFilename = CURRENT_MAIL_MESSAGE.Subject & ".eml"
' Subject can be FILENAME_MAX_LENGTH chars at most,
' otherwise we run into errors with the path being too long
Dim oSubjectFilename = CURRENT_MAIL_MESSAGE.Subject.Substring(0, FILENAME_MAX_LENGTH) & ".eml"
Logger.Debug($"oSubjectFilename (beforeclean) is: {oSubjectFilename}")
oSubjectFilename = RemoveIllegalFileNameChars(oSubjectFilename)
Dim oTempFilename = oTempPath & "\" & oSubjectFilename
@@ -376,21 +385,28 @@ Public Class clsWorkEmail
Return False
End Try
End Function
Private Function COPY2HDD(copy_2_hdd As Boolean, pathOriginal As String, pathemail_errors As String, messageid As Boolean) As Boolean
Private Function COPY2HDD(pShouldCopyToDisk As Boolean, pPathOriginal As String, pPathErrors As String, pUseMessageIdAsFilename As Boolean) As Boolean
Try
If copy_2_hdd = True Then
If pShouldCopyToDisk = True Then
Logger.Debug("COPY_2_HDD is ACTIVE!")
PATH_ERROR = pathemail_errors
If Directory.Exists(pathOriginal) Then
Dim oTempFilename = pathOriginal
If messageid = True Then
oTempFilename &= "\" & CURRENT_MAIL_MESSAGE_ID & ".eml"
PATH_ERROR = pPathErrors
If Directory.Exists(pPathOriginal) Then
Dim oTempFilename = pPathOriginal
If pUseMessageIdAsFilename = True Then
Dim oFileName = CURRENT_MAIL_MESSAGE_ID & ".eml"
oTempFilename = Path.Combine(oTempFilename, oFileName)
'oTempFilename &= "\" & CURRENT_MAIL_MESSAGE_ID & ".eml"
Else
oTempFilename &= "\" & CURRENT_MAIL_MESSAGE.Subject.Replace(" ", "") & ".eml"
Dim oFileName = CURRENT_MAIL_MESSAGE.Subject.Replace(" ", "") & ".eml"
oTempFilename = Path.Combine(oTempFilename, oFileName)
'oTempFilename &= "\" & CURRENT_MAIL_MESSAGE.Subject.Replace(" ", "") & ".eml"
End If
'Dim cleanPath As String = String.Join("", oTempFilename.Split(Path.GetInvalidPathChars()))
If System.IO.File.Exists(oTempFilename) = False Then
If File.Exists(oTempFilename) = False Then
Try
File.Delete(oTempFilename)
Catch ex As Exception
@@ -423,7 +439,6 @@ Public Class clsWorkEmail
End If
Catch ex As Exception
Logger.Error(ex)
'clsLogger.Add("Unexpected Error in COPY2HDD: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID, True)
Return False
End Try
End Function
@@ -718,17 +733,6 @@ Public Class clsWorkEmail
End Try
End Function
Private Function RemoveCharacter(ByVal stringToCleanUp)
Dim characterToRemove As String = ""
characterToRemove = Chr(34) + "#$%&'()*+,-./\~"
Dim firstThree As Char() = characterToRemove.Take(16).ToArray()
For index = 1 To firstThree.Length - 1
stringToCleanUp = stringToCleanUp.ToString.Replace(firstThree(index), "")
Next
Return stringToCleanUp
End Function
Private Function INSERT_HISTORY_MSSQL() As Boolean
If MessageError = False Then
Dim ins = $"INSERT INTO TBEMLP_HISTORY (WORK_PROCESS,EMAIL_MSGID,EMAIL_SUBJECT,EMAIL_DATE,EMAIL_BODY,EMAIL_SUBSTRING1,EMAIL_SUBSTRING2,EMAIL_FROM,PROFILE_ID) VALUES " &

View File

@@ -1 +0,0 @@
2ccc3133aa6c37a6343d615f291113d83df59e73

View File

@@ -1,63 +0,0 @@
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.EMLProfiler.dll.config
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.EMLProfiler.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.EMLProfiler.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.EMLProfiler.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\AE.Net.Mail.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Database.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Logging.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\Independentsoft.Email.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\Interop.WINDREAMLib.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\NLog.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\S22.Imap.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\FirebirdSql.Data.FirebirdClient.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\Oracle.ManagedDataAccess.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Encryption.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\AE.Net.Mail.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Database.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Database.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Database.dll.config
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Logging.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Logging.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\Independentsoft.Email.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\S22.Imap.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Encryption.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Release\DigitalData.Modules.Encryption.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.EMLProfiler.dll.config
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.EMLProfiler.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.EMLProfiler.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.EMLProfiler.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\AE.Net.Mail.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Database.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Filesystem.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Logging.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Messaging.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\Interop.WINDREAMLib.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\Mail.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\NLog.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\FirebirdSql.Data.FirebirdClient.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\Oracle.ManagedDataAccess.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Encryption.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\protobuf-net.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Language.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\AE.Net.Mail.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Database.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Database.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Database.dll.config
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Filesystem.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Filesystem.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Logging.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Logging.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Messaging.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Messaging.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Encryption.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Encryption.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\protobuf-net.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Language.pdb
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\bin\Debug\DigitalData.Modules.Language.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.Resources.resources
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.vbproj.GenerateResource.cache
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.vbproj.CoreCompileInputs.cache
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.vbproj.CopyComplete
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.dll
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.xml
E:\SchreiberM\Visual Studio\GIT\DD_EmailProfiler\App\DigitalData.EMLProfiler\obj\Debug\DigitalData.EMLProfiler.pdb