MS Klassen überarbeitet NLOG integriert
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B3190AEC-8DC4-4822-9609-54DF5B976262}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>ClassWMResulthandler</RootNamespace>
|
||||
<AssemblyName>ClassWMResulthandler</AssemblyName>
|
||||
<RootNamespace>DD_WMResulthandler</RootNamespace>
|
||||
<AssemblyName>DD_WMResulthandler</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>Windows</MyType>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
@@ -18,7 +18,7 @@
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>ClassWMResulthandler.xml</DocumentationFile>
|
||||
<DocumentationFile>DD_WMResulthandler.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
@@ -27,7 +27,7 @@
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>ClassWMResulthandler.xml</DocumentationFile>
|
||||
<DocumentationFile>DD_WMResulthandler.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
@@ -62,14 +62,23 @@
|
||||
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll</HintPath>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.4.5.8\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Oracle.ManagedDataAccess">
|
||||
<HintPath>P:\Visual Studio Projekte\Bibliotheken\Oracle.ManagedDataAccess.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
@@ -93,7 +102,6 @@
|
||||
<Compile Include="clsDateiverarbeitung.vb" />
|
||||
<Compile Include="clsEmail.vb" />
|
||||
<Compile Include="clsEncryption.vb" />
|
||||
<Compile Include="clsLogger.vb" />
|
||||
<Compile Include="clsProfil.vb" />
|
||||
<Compile Include="clsWindream_Allgemein.vb" />
|
||||
<Compile Include="clsWindream_Index.vb" />
|
||||
@@ -1,10 +1,10 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.42000
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,60 +1,61 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.42000
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
'class via a tool like ResGen or Visual Studio.
|
||||
'To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
'with the /str option, or rebuild your VS project.
|
||||
'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
'-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
'''<summary>
|
||||
''' A strongly-typed resource class, for looking up localized strings, etc.
|
||||
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
|
||||
'''<summary>
|
||||
''' Returns the cached ResourceManager instance used by this class.
|
||||
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
'''</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
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ClassWMResulthandler.Resources", GetType(Resources).Assembly)
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_WMResulthandler.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
'''<summary>
|
||||
''' Overrides the current thread's CurrentUICulture property for all
|
||||
''' resource lookups using this strongly typed resource class.
|
||||
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
'''</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
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set(ByVal value As Global.System.Globalization.CultureInfo)
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.42000
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
@@ -13,42 +13,42 @@ Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
|
||||
|
||||
#Region "My.Settings Auto-Save Functionality"
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "Automatische My.Settings-Speicherfunktion"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
@@ -64,9 +64,9 @@ Namespace My
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.ClassWMResulthandler.My.MySettings
|
||||
Friend ReadOnly Property Settings() As Global.DD_WMResulthandler.My.MySettings
|
||||
Get
|
||||
Return Global.ClassWMResulthandler.My.MySettings.Default
|
||||
Return Global.DD_WMResulthandler.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Public Shared WDLAUFWERK, _profObjekttyp, _profwdSuche, _profDay, _profRunType, _Profilname As String
|
||||
Public Shared SQLSERVER_CS As String = ""
|
||||
Public Shared LOG_ERRORS_ONLY As Boolean = True
|
||||
Public Shared ARR_Exported_Files() = Nothing
|
||||
Public Shared PROFILE_HandledFiles() = Nothing
|
||||
Public Shared DT_TBWMRH_KONFIGURATION As DataTable = Nothing
|
||||
Public Shared DT_TBDD_EMAIL As DataTable = Nothing
|
||||
Public Shared CONCATTED_FILE As String = ""
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
Imports Oracle.ManagedDataAccess.Client
|
||||
Public Class clsDatatabase
|
||||
Private Shared MSSQL_inited As Boolean = False
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
Public Shared Function Init(CONSTRING As String)
|
||||
Try
|
||||
Dim SQLconnect As New SqlClient.SqlConnection
|
||||
@@ -14,13 +15,12 @@ Public Class clsDatatabase
|
||||
If clsCURRENT.DT_TBWMRH_KONFIGURATION.Rows.Count = 1 Then
|
||||
clsCURRENT.LOG_ERRORS_ONLY = CBool(clsCURRENT.DT_TBWMRH_KONFIGURATION.Rows(0).Item("LOG_ERRORS_ONLY"))
|
||||
clsCURRENT.WDLAUFWERK = clsCURRENT.DT_TBWMRH_KONFIGURATION.Rows(0).Item("WD_LAUFWERK")
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.Add("Error in DatabaseInit: " & ex.Message, True)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in DatabaseInit: " & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -28,6 +28,7 @@ Public Class clsDatatabase
|
||||
|
||||
Public Shared Function ExecuteonOracleDb(CONSTRING As String, ByVal plsqlcommand As String)
|
||||
Try
|
||||
Logger.Debug("plsqlcommand: " & plsqlcommand)
|
||||
' die nötigen Variablen definieren
|
||||
Dim result As Object = Nothing
|
||||
Dim conn As New OracleConnectionStringBuilder
|
||||
@@ -40,7 +41,8 @@ Public Class clsDatatabase
|
||||
Try
|
||||
Oracle_Conn.Open()
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonOracleDb(OpenConnection)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonOracleDb(OpenConnection)")
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -51,7 +53,8 @@ Public Class clsDatatabase
|
||||
Oracle_Command.AddToStatementCache = True
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine")
|
||||
Oracle_Conn.Close()
|
||||
Return False
|
||||
End Try
|
||||
@@ -60,29 +63,32 @@ Public Class clsDatatabase
|
||||
' *** Ausführen des Command ***
|
||||
If Command() IsNot Nothing Then
|
||||
Try
|
||||
clsLogger.AddDetailLog("Now executing: " & plsqlcommand)
|
||||
|
||||
Oracle_Command.ExecuteNonQuery()
|
||||
' DB-Connection schliessen
|
||||
Oracle_Conn.Close()
|
||||
Return True
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
|
||||
Oracle_Conn.Close()
|
||||
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Else
|
||||
Logger.Info("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")")
|
||||
' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte
|
||||
' Eintrag in Logdatei machen
|
||||
clsLogger.Add("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
|
||||
'clsLogger.Add("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb")
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.Add("Unexpected Error in ExecuteonOracleDb: " & ex.Message & vbNewLine & "SQL: " & plsqlcommand, True, "clsDatatabase.ExecuteonOracleDb")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Unexpected Error in ExecuteonOracleDb: " & ex.Message & vbNewLine & "SQL: " & plsqlcommand, True, "clsDatatabase.ExecuteonOracleDb")
|
||||
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
|
||||
Return False
|
||||
End Try
|
||||
@@ -99,13 +105,15 @@ Public Class clsDatatabase
|
||||
Oracle_Conn.Open()
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.Oracle_CS_Test(OpenConnection)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.Oracle_CS_Test(OpenConnection)")
|
||||
Return False
|
||||
End Try
|
||||
Oracle_Conn.Close()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.Add("Unexpected Error in Oracle_CS_Test: " & ex.Message, True, "clsDatatabase.Oracle_CS_Test")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Unexpected Error in Oracle_CS_Test: " & ex.Message, True, "clsDatatabase.Oracle_CS_Test")
|
||||
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
|
||||
Return False
|
||||
End Try
|
||||
@@ -123,21 +131,24 @@ Public Class clsDatatabase
|
||||
Connection = New SqlConnection(CONSTRING)
|
||||
Connection.Open()
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.MSSQL_CS_Test(OpenConnection)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.MSSQL_CS_Test(OpenConnection)")
|
||||
Return False
|
||||
End Try
|
||||
Connection.Close()
|
||||
Return True
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
|
||||
clsLogger.Add("UNEXPECTED ERROR: " & ex.Message, True, "clsDatatabase.MSSQL_CS_Test")
|
||||
'clsLogger.Add("UNEXPECTED ERROR: " & ex.Message, True, "clsDatatabase.MSSQL_CS_Test")
|
||||
Return False
|
||||
End Try
|
||||
|
||||
End Function
|
||||
Public Shared Function ExecuteonMSSQL(ConString As String, ByVal sqlcommand As String)
|
||||
Try
|
||||
Logger.Debug("sqlcommand: " & sqlcommand)
|
||||
If MSSQL_inited = False Then Return False
|
||||
' die nötigen Variablen definieren
|
||||
Dim Connection As SqlConnection = Nothing
|
||||
@@ -159,7 +170,8 @@ Public Class clsDatatabase
|
||||
Connection = New SqlConnection(ConString)
|
||||
Connection.Open()
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(OpenConnection)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(OpenConnection)")
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -168,7 +180,8 @@ Public Class clsDatatabase
|
||||
Try
|
||||
Command = New SqlCommand(sqlcommand, Connection)
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(DefineCommand)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(DefineCommand)")
|
||||
Return False
|
||||
Connection.Close()
|
||||
End Try
|
||||
@@ -182,21 +195,24 @@ Public Class clsDatatabase
|
||||
Connection.Close()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
' bei einem Fehler einen Eintrag in der Logdatei erzeugen
|
||||
clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(ExecuteCommand)")
|
||||
'clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(ExecuteCommand)")
|
||||
Return False
|
||||
Connection.Close()
|
||||
End Try
|
||||
Else
|
||||
' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte
|
||||
' Eintrag in Logdatei machen
|
||||
clsLogger.Add("Could not create COMMAND", True, "clsDatatabase.ExecuteonMSSQL")
|
||||
Logger.Info("Could not create COMMAND")
|
||||
' clsLogger.Add("Could not create COMMAND", True, "clsDatatabase.ExecuteonMSSQL")
|
||||
Return False
|
||||
Connection.Close()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
|
||||
clsLogger.Add("UNEXPECTED ERROR: " & ex.Message, True, "clsDatatabase.ExecuteonMSSQL")
|
||||
'clsLogger.Add("UNEXPECTED ERROR: " & ex.Message, True, "clsDatatabase.ExecuteonMSSQL")
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -205,6 +221,7 @@ Public Class clsDatatabase
|
||||
|
||||
Public Shared Function Return_Datatable(Select_anweisung As String)
|
||||
Try
|
||||
Logger.Debug("Select_anweisung: " & Select_anweisung)
|
||||
If MSSQL_inited = False Then Return Nothing
|
||||
Dim SQLconnect As New SqlClient.SqlConnection
|
||||
Dim SQLcommand As SqlClient.SqlCommand
|
||||
@@ -223,9 +240,9 @@ Public Class clsDatatabase
|
||||
|
||||
Return dt
|
||||
Catch ex As Exception
|
||||
|
||||
clsLogger.Add("Error in Return_Datatable: " & ex.Message, True)
|
||||
clsLogger.Add(">> SQL: " & Select_anweisung, False)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in Return_Datatable: " & ex.Message, True)
|
||||
'clsLogger.Add(">> SQL: " & Select_anweisung, False)
|
||||
|
||||
Return Nothing
|
||||
End Try
|
||||
@@ -233,6 +250,7 @@ Public Class clsDatatabase
|
||||
Public Shared Function Execute_non_Query(ExecuteCMD As String)
|
||||
If MSSQL_inited = False Then Return False
|
||||
Try
|
||||
Logger.Debug("ExecuteCMD: " & ExecuteCMD)
|
||||
Dim SQLconnect As New SqlClient.SqlConnection
|
||||
Dim SQLcommand As SqlClient.SqlCommand
|
||||
SQLconnect.ConnectionString = clsCURRENT.SQLSERVER_CS
|
||||
@@ -250,9 +268,9 @@ Public Class clsDatatabase
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
|
||||
clsLogger.Add("Error in Execute_non_Query: " & ex.Message, True)
|
||||
clsLogger.Add("SQL: " & ExecuteCMD, False)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in Execute_non_Query: " & ex.Message, True)
|
||||
'clsLogger.Add("SQL: " & ExecuteCMD, False)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
@@ -262,7 +280,7 @@ Public Class clsDatatabase
|
||||
If MSSQL_inited = False Then Return Nothing
|
||||
Dim result
|
||||
Try
|
||||
|
||||
Logger.Debug("cmdscalar: " & cmdscalar)
|
||||
|
||||
Dim SQLconnect As New SqlClient.SqlConnection
|
||||
Dim SQLcommand As SqlClient.SqlCommand
|
||||
@@ -282,15 +300,16 @@ Public Class clsDatatabase
|
||||
|
||||
Return result
|
||||
Catch ex As Exception
|
||||
|
||||
clsLogger.Add("Error in Execute_Scalar: " & ex.Message, True)
|
||||
clsLogger.Add("SQL: " & cmdscalar, False)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in Execute_Scalar: " & ex.Message, True)
|
||||
'clsLogger.Add("SQL: " & cmdscalar, False)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String)
|
||||
Dim result
|
||||
Try
|
||||
Logger.Debug("cmdscalar: " & cmdscalar)
|
||||
Dim SQLconnect As New OracleConnection
|
||||
Dim SQLcommand As New OracleCommand
|
||||
SQLconnect.ConnectionString = OracleConnection
|
||||
@@ -303,13 +322,15 @@ Public Class clsDatatabase
|
||||
SQLconnect.Close()
|
||||
Return result
|
||||
Catch ex As Exception
|
||||
clsLogger.Add("Error in OracleExecute_Scalar: " & ex.Message, True)
|
||||
clsLogger.Add("#SQL: " & cmdscalar, False)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in OracleExecute_Scalar: " & ex.Message, True)
|
||||
'clsLogger.Add("#SQL: " & cmdscalar, False)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function OracleExecute_non_Query(ExecuteCMD As String, OracleConnection As String, Optional userInput As Boolean = False)
|
||||
Try
|
||||
Logger.Debug("ExecuteCMD: " & ExecuteCMD)
|
||||
Dim SQLconnect As New OracleConnection
|
||||
Dim SQLcommand As OracleCommand
|
||||
SQLconnect.ConnectionString = OracleConnection
|
||||
@@ -322,9 +343,9 @@ Public Class clsDatatabase
|
||||
SQLconnect.Close()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
|
||||
clsLogger.Add("Error in OracleExecute_non_Query: " & ex.Message, True)
|
||||
clsLogger.Add("#SQL: " & ExecuteCMD, False)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in OracleExecute_non_Query: " & ex.Message, True)
|
||||
'clsLogger.Add("#SQL: " & ExecuteCMD, False)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
@@ -332,6 +353,7 @@ Public Class clsDatatabase
|
||||
|
||||
Public Shared Function Oracle_Return_Datatable(Select_anweisung As String, OracleConnection As String, Optional userInput As Boolean = False)
|
||||
Try
|
||||
Logger.Debug("Select_anweisung: " & Select_anweisung)
|
||||
Dim SQLconnect As New OracleConnection
|
||||
Dim SQLcommand As OracleCommand
|
||||
SQLconnect.ConnectionString = OracleConnection
|
||||
@@ -345,9 +367,9 @@ Public Class clsDatatabase
|
||||
SQLconnect.Close()
|
||||
Return dt
|
||||
Catch ex As Exception
|
||||
|
||||
clsLogger.Add("Error in Oracle_Return_Datatable: " & ex.Message, True)
|
||||
clsLogger.Add("#SQL: " & Select_anweisung, False)
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Error in Oracle_Return_Datatable: " & ex.Message, True)
|
||||
'clsLogger.Add("#SQL: " & Select_anweisung, False)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -5,7 +5,7 @@ Imports Newtonsoft.Json
|
||||
Imports System.Text
|
||||
|
||||
Public Class clsDateiverarbeitung
|
||||
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
#Region "***** Variablen und Konstanten*****"
|
||||
Public Shared _windream As New clsWindream_allgemein
|
||||
|
||||
@@ -30,10 +30,11 @@ Public Class clsDateiverarbeitung
|
||||
Try
|
||||
pr_DTPROFIL_REGELN = Nothing
|
||||
' Profildaten der Klasse mitteilen
|
||||
clsLogger.AddDetailLog("InitProfilData Profildaten zugewiesen....")
|
||||
Logger.Info("InitProfilData Profildaten zugewiesen....")
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "cls_DV.InitProfilData")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.AddError(ex.Message, "cls_DV.InitProfilData")
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -43,14 +44,14 @@ Public Class clsDateiverarbeitung
|
||||
If Not Zielpfad.EndsWith("\") Then
|
||||
Zielpfad = Zielpfad & "\"
|
||||
End If
|
||||
clsLogger.Add("", False)
|
||||
clsLogger.Add(">> Verarbeitung von Datei: " & WDDatei.aName, False)
|
||||
|
||||
Logger.Info("Verarbeitung von Datei: " & WDDatei.aName)
|
||||
'Die Quelle zusammensetzen
|
||||
clsLogger.AddDetailLog("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
||||
Logger.Info("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
||||
'Dim Quelle As String = IO.Path.GetDirectoryName(WDLaufwerk & ":" & WDDatei.aPath & "\" & WDDatei.aName)
|
||||
|
||||
Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
|
||||
clsLogger.AddDetailLog("ExportFileIO erzeugt.....")
|
||||
Logger.Info("ExportFileIO erzeugt.....")
|
||||
' Stream Interface bereitstellen
|
||||
WDDatei.LockFor(WMObjectEditModeFileSystem)
|
||||
Try
|
||||
@@ -58,7 +59,7 @@ Public Class clsDateiverarbeitung
|
||||
WDDatei.lock()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
||||
Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -74,7 +75,7 @@ Public Class clsDateiverarbeitung
|
||||
tempFilename = Zielpfad & Filename & "_" & version & Extension
|
||||
version = version + 1
|
||||
Loop
|
||||
clsLogger.AddDetailLog("Zieldateiname: " & tempFilename)
|
||||
Logger.Info("Zieldateiname: " & tempFilename)
|
||||
' den Dateiinhalt der neuen Datei zuweisen
|
||||
ExportFileIO.aWMStream = oWMStream
|
||||
ExportFileIO.bstrOriginalFileName = tempFilename
|
||||
@@ -85,18 +86,19 @@ Public Class clsDateiverarbeitung
|
||||
WDDatei.Save()
|
||||
WDDatei.unlock()
|
||||
clsCURRENT.EXPORTED_FILENAME = tempFilename
|
||||
clsLogger.Add(">> Datei erfolgreich nach '" & tempFilename & "' verschoben.", False, "clsDV Export_File")
|
||||
Logger.Info("Datei erfolgreich nach '" & tempFilename & "' verschoben.")
|
||||
aktfile_Exportresult = tempFilename
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
'bei einem Fehler einen Eintrag in der Logdatei machen
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDV.Export_File")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function Rename_File(WMFile As WMObject, konvention As String)
|
||||
Try
|
||||
clsLogger.AddDetailLog("Konvention: '" & konvention & "'")
|
||||
Logger.Info("Konvention: '" & konvention & "'")
|
||||
|
||||
'Regulären Ausdruck zum Auslesen der windream-Indexe definieren
|
||||
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
|
||||
@@ -110,42 +112,43 @@ Public Class clsDateiverarbeitung
|
||||
'die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
|
||||
Dim reg_element_Ohne_SZ As String = reg_element.Value.Replace("[%", "")
|
||||
reg_element_Ohne_SZ = reg_element_Ohne_SZ.Replace("]", "")
|
||||
clsLogger.AddDetailLog("Indexwert aus Index '" & reg_element_Ohne_SZ & "' auslesen....")
|
||||
Logger.Info("Indexwert aus Index '" & reg_element_Ohne_SZ & "' auslesen....")
|
||||
Dim wdIndexwert
|
||||
'den Wert des Indexes für das aktuelle Dokument auslesen
|
||||
wdIndexwert = WMFile.GetVariableValue(reg_element_Ohne_SZ)
|
||||
If wdIndexwert Is Nothing = False Then
|
||||
If Not wdIndexwert.GetType.ToString.Contains("System.Object") Then
|
||||
clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & konvention)
|
||||
Logger.Info("Namenkonvention (" & i & ") " & konvention)
|
||||
wdIndexwert = wdIndexwert.ToString.TrimEnd
|
||||
wdIndexwert = wdIndexwert.ToString.TrimStart
|
||||
clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'")
|
||||
Logger.Info("Ausgelesener Indexwert = '" & wdIndexwert & "'")
|
||||
konvention = konvention.Replace(reg_element.Value, wdIndexwert.ToString)
|
||||
i += 1
|
||||
Else
|
||||
clsLogger.Add(">> Achtung gelesener Wert ist ein Vektorfeld - keine Umbenennung möglich ", False, "clsProfil.Profil_Durchlauf")
|
||||
Logger.Warn("Achtung gelesener Wert ist ein Vektorfeld - keine Umbenennung möglich ")
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Dim version As Integer = 2
|
||||
Dim ZielPfad As String = Path.GetDirectoryName(aktfile_Exportresult)
|
||||
clsLogger.AddDetailLog("ZielPfad: " & ZielPfad)
|
||||
Logger.Info("ZielPfad: " & ZielPfad)
|
||||
Dim Filename = konvention
|
||||
Dim Extension = Path.GetExtension(aktfile_Exportresult)
|
||||
clsLogger.AddDetailLog("Extension: " & Extension)
|
||||
Logger.Info("Extension: " & Extension)
|
||||
Dim tempFilename As String = ZielPfad & "\" & Filename & Extension
|
||||
clsLogger.AddDetailLog("tempFilename: " & tempFilename)
|
||||
Logger.Info("tempFilename: " & tempFilename)
|
||||
'Überprüfen ob File existiert
|
||||
Do While IO.File.Exists(tempFilename) = True
|
||||
tempFilename = ZielPfad & "\" & Filename & "~" & version & Extension
|
||||
version += 1
|
||||
Loop
|
||||
clsLogger.AddDetailLog("RenameFile - OLDFilename: " & aktfile_Exportresult & " - NEWFilename: " & Path.GetFileName(tempFilename))
|
||||
Logger.Info("RenameFile - OLDFilename: " & aktfile_Exportresult & " - NEWFilename: " & Path.GetFileName(tempFilename))
|
||||
My.Computer.FileSystem.RenameFile(aktfile_Exportresult, Path.GetFileName(tempFilename))
|
||||
clsLogger.Add(">> Datei wurde erfolgreich umbenannt.", False, "clsProfil.RenameFile")
|
||||
Logger.Info("Datei wurde erfolgreich umbenannt.")
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.RenameFile")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -153,9 +156,9 @@ Public Class clsDateiverarbeitung
|
||||
Try
|
||||
Dim WMIndexwert
|
||||
Dim ZielPfad As String = Path.GetDirectoryName(aktfile_Exportresult)
|
||||
clsLogger.AddDetailLog("ZielPfad: " & ZielPfad)
|
||||
Logger.Info("ZielPfad: " & ZielPfad)
|
||||
Dim Extension = Path.GetExtension(aktfile_Exportresult)
|
||||
clsLogger.AddDetailLog("Extension: " & Extension)
|
||||
Logger.Info("Extension: " & Extension)
|
||||
|
||||
If WMINDEX_NAME.StartsWith("[%") Then
|
||||
WMINDEX_NAME = WMINDEX_NAME.Replace("[%", "")
|
||||
@@ -164,7 +167,7 @@ Public Class clsDateiverarbeitung
|
||||
'den Wert des Indexes für das aktuelle Dokument auslesen
|
||||
WMIndexwert = WMFile.GetVariableValue(WMINDEX_NAME)
|
||||
If WMIndexwert.GetType.ToString.Contains("System.Object") Then
|
||||
clsLogger.AddDetailLog("Rename_File_Vektor in Progress for index " & WMINDEX_NAME)
|
||||
Logger.Info("Rename_File_Vektor in Progress for index " & WMINDEX_NAME)
|
||||
Dim anz As Integer = 1
|
||||
Dim copybasefile As String
|
||||
For Each WMvalue As Object In WMIndexwert
|
||||
@@ -172,9 +175,9 @@ Public Class clsDateiverarbeitung
|
||||
Try
|
||||
If WMvalue.ToString <> String.Empty Then
|
||||
Dim tempFilename As String = ZielPfad & "\" & WMvalue & Extension
|
||||
clsLogger.AddDetailLog("tempFilename: " & tempFilename)
|
||||
Logger.Info("tempFilename: " & tempFilename)
|
||||
If anz = 1 Then
|
||||
clsLogger.AddDetailLog("RenameFile - OLDFilename: " & aktfile_Exportresult & " - NEWFilename: " & Path.GetFileName(tempFilename))
|
||||
Logger.Info("RenameFile - OLDFilename: " & aktfile_Exportresult & " - NEWFilename: " & Path.GetFileName(tempFilename))
|
||||
My.Computer.FileSystem.RenameFile(aktfile_Exportresult, Path.GetFileName(tempFilename))
|
||||
copybasefile = tempFilename
|
||||
Else
|
||||
@@ -190,18 +193,20 @@ Public Class clsDateiverarbeitung
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.ForEachWMvalue")
|
||||
Logger.Error(ex)
|
||||
'
|
||||
End Try
|
||||
Next
|
||||
Else
|
||||
clsLogger.Add(">> Achtung WMIndex " & WMINDEX_NAME & " scheint kein Vektorfeld zu sein!", False, "clsDateiverarbeitung.Rename_File_Vektor")
|
||||
Logger.Warn("Achtung WMIndex " & WMINDEX_NAME & " scheint kein Vektorfeld zu sein!")
|
||||
Return False
|
||||
End If
|
||||
|
||||
clsLogger.Add(">> Dateien wurde erfolgreich nach Vektorfeld erzeugt.", False, "clsDateiverarbeitung.Rename_File_Vektor")
|
||||
Logger.Info("Dateien wurde erfolgreich nach Vektorfeld erzeugt.")
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.Rename_File_Vektor")
|
||||
Logger.Error(ex)
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -264,8 +269,8 @@ Public Class clsDateiverarbeitung
|
||||
Dim geschaeftsId = SENDUNGNR
|
||||
Dim url As String = $"http://{apiAddress}/onwebui/api/Customer/{mandatenId}/{geschaeftsObjekt}/{geschaeftsId}/dokument"
|
||||
|
||||
clsLogger.Add($">> Generiertes JSON: {json}", False, "BNSjsonDownload")
|
||||
clsLogger.Add($">> Creating WebRequest for {url}", False, "BNSjsonDownload")
|
||||
Logger.Info($">> Generiertes JSON: {json}")
|
||||
Logger.Info($">> Creating WebRequest for {url}")
|
||||
|
||||
Dim req As HttpWebRequest = WebRequest.CreateHttp(url)
|
||||
|
||||
@@ -279,8 +284,8 @@ Public Class clsDateiverarbeitung
|
||||
reqStream.Write(bytes, 0, bytes.Length)
|
||||
reqStream.Close()
|
||||
|
||||
clsLogger.Add($">> Datei wird hochgeladen... docId: {DOKID}, dokart: {DOKART}, userId: {userId}", False, "BNSjsonDownload")
|
||||
clsLogger.Add($">> Upload URL: {url}", False, "BNSjsonDownload")
|
||||
Logger.Info($">> Datei wird hochgeladen... docId: {DOKID}, dokart: {DOKART}, userId: {userId}")
|
||||
Logger.Info($">> Upload URL: {url}")
|
||||
|
||||
Using res As HttpWebResponse = req.GetResponse()
|
||||
Dim code As HttpStatusCode = res.StatusCode
|
||||
@@ -288,14 +293,15 @@ Public Class clsDateiverarbeitung
|
||||
|
||||
' Status 201 Created bedeutet: Alles okay!
|
||||
If code = HttpStatusCode.Created Then
|
||||
clsLogger.Add($">> Datei geschrieben! docId: {DOKID}, dokart: {DOKART}, userId: {userId}", False, "BNSjsonDownload")
|
||||
Logger.Info($">> Datei geschrieben! docId: {DOKID}, dokart: {DOKART}, userId: {userId}")
|
||||
Else
|
||||
Throw New Exception($"Server Error (HTTP {code}: {text})")
|
||||
End If
|
||||
End Using
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message & " - " & ex.Source, "BNSjsonDownload")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return True
|
||||
End Try
|
||||
End Function
|
||||
@@ -314,7 +320,8 @@ Public Class clsDateiverarbeitung
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "RUN_ORACLE_COMMAND")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -333,14 +340,15 @@ Public Class clsDateiverarbeitung
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "RUN_MSSQL_COMMAND")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Function REGEX_REPLACE(WMFile As WMObject, _STRING As String)
|
||||
Try
|
||||
clsLogger.AddDetailLog("REGEX_String before replacing: '" & _STRING & "'")
|
||||
Logger.Info("REGEX_String before replacing: '" & _STRING & "'")
|
||||
' Regulären Ausdruck zum Auslesen der windream-Indexe definieren
|
||||
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
|
||||
' einen Regulären Ausdruck laden
|
||||
@@ -353,7 +361,7 @@ Public Class clsDateiverarbeitung
|
||||
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
|
||||
Dim reg_element_Ohne_SZ As String = reg_element.Value.Replace("[%", "")
|
||||
reg_element_Ohne_SZ = reg_element_Ohne_SZ.Replace("]", "")
|
||||
clsLogger.AddDetailLog("read indexvalue from index '" & reg_element_Ohne_SZ & "'....")
|
||||
Logger.Info("read indexvalue from index '" & reg_element_Ohne_SZ & "'....")
|
||||
If reg_element_Ohne_SZ = "EXPORTED_FILENAME" Then
|
||||
If clsCURRENT.EXPORTED_FILENAME <> "" Then
|
||||
_STRING = _STRING.Replace(reg_element.Value, clsCURRENT.EXPORTED_FILENAME)
|
||||
@@ -369,14 +377,14 @@ Public Class clsDateiverarbeitung
|
||||
If Not wdIndexwert.GetType.ToString.Contains("System.Object") Then
|
||||
wdIndexwert = wdIndexwert.ToString.TrimEnd
|
||||
wdIndexwert = wdIndexwert.ToString.TrimStart
|
||||
clsLogger.AddDetailLog("indexvalue read is: '" & wdIndexwert & "'")
|
||||
Logger.Info("indexvalue read is: '" & wdIndexwert & "'")
|
||||
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
|
||||
clsLogger.AddDetailLog("REGEX_String (" & i & ") " & _STRING)
|
||||
Logger.Info("REGEX_String (" & i & ") " & _STRING)
|
||||
i += 1
|
||||
Else
|
||||
clsLogger.Add(">> Attention: WMIndex is an vectorfield - seperation of values via ;", False, "clsDateiverarbeitung.REGEX_REPLACE")
|
||||
clsLogger.AddDetailLog("wdIndexValue is System.Object....")
|
||||
clsLogger.AddDetailLog("trying to seperate via ,....")
|
||||
Logger.Warn("Attention: WMIndex is an vectorfield - seperation of values via ;")
|
||||
Logger.Info("wdIndexValue is System.Object....")
|
||||
Logger.Info("trying to seperate via ,....")
|
||||
Dim vector_result As String = ""
|
||||
For Each WMvalue As Object In wdIndexwert
|
||||
Dim x As Integer = 0
|
||||
@@ -392,10 +400,10 @@ Public Class clsDateiverarbeitung
|
||||
End If
|
||||
Next
|
||||
_STRING = _STRING.Replace(reg_element.Value, vector_result.ToString)
|
||||
clsLogger.AddDetailLog("REGEX_String after vector-for-each (" & i & ") " & _STRING)
|
||||
Logger.Info("REGEX_String after vector-for-each (" & i & ") " & _STRING)
|
||||
End If
|
||||
Else
|
||||
clsLogger.Add(">> Attention: Indexvalue is NOTHING, standardvalue '0' will be used", False, "clsDateiverarbeitung.REGEX_REPLACE")
|
||||
Logger.Warn("Attention: Indexvalue is NOTHING, standardvalue '0' will be used", False, "clsDateiverarbeitung.REGEX_REPLACE")
|
||||
_STRING = _STRING.Replace(reg_element.Value, "0")
|
||||
End If
|
||||
End If
|
||||
@@ -404,7 +412,8 @@ Public Class clsDateiverarbeitung
|
||||
Next
|
||||
Return _STRING
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unexpected error: " & ex.Message, "REGEX_REPLACE")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -4,6 +4,7 @@ Imports Independentsoft.Email
|
||||
Imports Independentsoft.Email.Smtp
|
||||
Imports Independentsoft.Email.Mime
|
||||
Public Class clsEmail
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
Private Shared MailAktiv As Boolean = False
|
||||
|
||||
'Public Shared Function Init()
|
||||
@@ -116,7 +117,7 @@ Public Class clsEmail
|
||||
message.BodyParts.Add(textBodyPart)
|
||||
If attment <> String.Empty Then
|
||||
If System.IO.File.Exists(attment) Then
|
||||
Dim attachment1 As New Attachment("c:\testfolder\test.docx")
|
||||
Dim attachment1 As New Attachment(attment)
|
||||
If attment.ToLower.EndsWith("pdf") Then
|
||||
attachment1.ContentType = New ContentType("application", "pdf")
|
||||
ElseIf attment.ToLower.EndsWith("jpg") Then
|
||||
@@ -131,7 +132,8 @@ Public Class clsEmail
|
||||
Try
|
||||
client = New SmtpClient(mailsmtp, mailport)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Create Client)")
|
||||
Logger.Warn("clsEmail.SendMail(Create Client): " & ex.Message)
|
||||
|
||||
_error = True
|
||||
Continue For
|
||||
End Try
|
||||
@@ -139,7 +141,7 @@ Public Class clsEmail
|
||||
Try
|
||||
client.Connect()
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Client.Connect)")
|
||||
Logger.Warn("clsEmail.SendMail(Client.Connect): " & ex.Message)
|
||||
_error = True
|
||||
Continue For
|
||||
|
||||
@@ -148,7 +150,7 @@ Public Class clsEmail
|
||||
Try
|
||||
client.Login(mailUser, mailPW)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Client.Login)")
|
||||
Logger.Warn("clsEmail.SendMail(Client.Login): " & ex.Message)
|
||||
_error = True
|
||||
client.Disconnect()
|
||||
Continue For
|
||||
@@ -156,7 +158,7 @@ Public Class clsEmail
|
||||
Try
|
||||
client.Send(message)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Client.Send)")
|
||||
Logger.Warn("clsEmail.SendMail(Client.Send): " & ex.Message)
|
||||
_error = True
|
||||
client.Disconnect()
|
||||
Continue For
|
||||
@@ -164,11 +166,11 @@ Public Class clsEmail
|
||||
client.Disconnect()
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail()")
|
||||
Logger.Error(ex)
|
||||
|
||||
_error = True
|
||||
End Try
|
||||
Next
|
||||
clsLogger.WriteLog()
|
||||
|
||||
If _error = True Then
|
||||
Return False
|
||||
|
||||
@@ -1,172 +0,0 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class clsLogger
|
||||
Private Shared LogPath As String
|
||||
Public Shared LogFilename As String
|
||||
Private Shared logErr_name As String
|
||||
Private Shared log_string As String
|
||||
Private Shared Inited As Boolean = False
|
||||
Public Shared Function Init(ByVal speicherort As String, ByVal prefix As String)
|
||||
Try
|
||||
'Den Speicherort festlegen
|
||||
SetSpeicherort()
|
||||
Dim logf_name As String = LogPath & "\" & System.DateTime.Now.ToString("yyyy_MM_dd") & prefix & ".txt"
|
||||
logErr_name = LogPath & "\" & "ErrorLog_" & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt"
|
||||
Dim anz As Integer = 1
|
||||
Do While File.Exists(logf_name)
|
||||
Dim info As New FileInfo(logf_name)
|
||||
Dim length As Long = info.Length
|
||||
If length > 5000000 Then
|
||||
logf_name = IO.Path.GetDirectoryName(logf_name)
|
||||
logf_name = logf_name & "\" & prefix & System.DateTime.Now.ToString("yyyy_MM_dd") & "(" & anz.ToString & ").txt"
|
||||
anz = anz + 1
|
||||
Else
|
||||
Exit Do
|
||||
End If
|
||||
Loop
|
||||
LogFilename = logf_name
|
||||
Try
|
||||
'Veruch das Log zu öffnen
|
||||
Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write)
|
||||
' --- Stream öffnen
|
||||
Dim w As StreamWriter = New StreamWriter(fs)
|
||||
' --- Anfügen am Ende
|
||||
w.BaseStream.Seek(0, SeekOrigin.End)
|
||||
' --- Zeilen schreiben
|
||||
w.WriteLine(" ")
|
||||
' --- Writer und Stream schließen
|
||||
w.Close()
|
||||
fs.Close()
|
||||
Catch ex As Exception
|
||||
LogEscalation_Error("The Logfile could not be created - Error: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
'Alles Ok
|
||||
Inited = True
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
LogEscalation_Error("Unexpected Error in init Logger - Error: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
End Function
|
||||
Private Shared Sub LogEscalation_Error(msg As String)
|
||||
Try
|
||||
'Veruch das Log zu öffnen
|
||||
Dim fs As FileStream = New FileStream(logErr_name, FileMode.OpenOrCreate, FileAccess.Write)
|
||||
' --- Stream öffnen
|
||||
Dim w As StreamWriter = New StreamWriter(fs)
|
||||
' --- Anfügen am Ende
|
||||
w.BaseStream.Seek(0, SeekOrigin.End)
|
||||
' --- Zeilen schreiben
|
||||
w.WriteLine(msg)
|
||||
' --- Writer und Stream schließen
|
||||
w.Close()
|
||||
fs.Close()
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End Sub
|
||||
' legt den Speicherort fest
|
||||
Public Shared Sub SetSpeicherort()
|
||||
Dim f As New IO.DirectoryInfo(My.Application.Info.DirectoryPath & "\Log")
|
||||
If f.Exists = False Then
|
||||
IO.Directory.CreateDirectory(My.Application.Info.DirectoryPath & "\Log")
|
||||
End If
|
||||
LogPath = My.Application.Info.DirectoryPath & "\Log\"
|
||||
End Sub
|
||||
Public Shared Sub Add(ByVal text As String, ByVal _error As Boolean, Optional ByVal Funktion As String = "")
|
||||
If Inited = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim msg As String
|
||||
If log_string <> "" Then
|
||||
log_string &= vbNewLine
|
||||
End If
|
||||
'Präfixe schreiben
|
||||
If _error = True And Funktion <> "" Then
|
||||
msg = ">> Unexpected error in function '" & Funktion & "': "
|
||||
ElseIf _error = True Then
|
||||
msg = ">> Unexpected error: "
|
||||
End If
|
||||
'Präfix und Meldung zusammenstellen
|
||||
msg &= text
|
||||
log_string &= Now.ToString & " " & msg
|
||||
End Sub
|
||||
Public Shared Sub AddError(ByVal error_string As String, Optional ByVal Funktion As String = "")
|
||||
If Inited = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
Try
|
||||
'Zuerst mal die Details schreiben
|
||||
WriteLog()
|
||||
'Nun den eigentlichen Fehler loggen
|
||||
Dim msg As String = Now.ToString
|
||||
'Präfixe schreiben
|
||||
If Funktion <> "" Then
|
||||
msg &= ">> Unexpected error in function '" & Funktion & "': "
|
||||
Else
|
||||
msg &= ">> Unexpected error: "
|
||||
End If
|
||||
'Präfix und Meldung zusammenstellen
|
||||
msg &= error_string
|
||||
'Veruch das Log zu öffnen
|
||||
Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write)
|
||||
' --- Stream öffnen
|
||||
Dim w As StreamWriter = New StreamWriter(fs)
|
||||
' --- Anfügen am Ende
|
||||
w.BaseStream.Seek(0, SeekOrigin.End)
|
||||
' --- Zeilen schreiben
|
||||
w.WriteLine(msg)
|
||||
' --- Writer und Stream schließen
|
||||
w.Close()
|
||||
fs.Close()
|
||||
Catch ex As Exception
|
||||
LogEscalation_Error("Unexpected Error in AddError - Error: " & ex.Message)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Public Shared Sub AddDetailLog(ByVal text As String)
|
||||
If Inited = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
Try
|
||||
If clsCURRENT.LOG_ERRORS_ONLY = False Then
|
||||
If log_string <> "" Then
|
||||
log_string &= vbNewLine
|
||||
End If
|
||||
log_string &= ">> " & text
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LogEscalation_Error("Unexpected Error in AddDetailLog - Error: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub WriteLog()
|
||||
Try
|
||||
If log_string = Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
If log_string = String.Empty Then
|
||||
Exit Sub
|
||||
End If
|
||||
'Veruch das Log zu öffnen
|
||||
Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write)
|
||||
' --- Stream öffnen
|
||||
Dim w As StreamWriter = New StreamWriter(fs)
|
||||
' --- Anfügen am Ende
|
||||
w.BaseStream.Seek(0, SeekOrigin.End)
|
||||
' --- Zeilen schreiben
|
||||
w.WriteLine(log_string)
|
||||
' --- Writer und Stream schließen
|
||||
w.Close()
|
||||
fs.Close()
|
||||
SetSpeicherort()
|
||||
'Den Meldungsstring wieder leeren
|
||||
log_string = ""
|
||||
Catch ex As Exception
|
||||
LogEscalation_Error("Unexpected Error in WriteLog - Error: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
@@ -5,6 +5,7 @@ Imports Newtonsoft.Json
|
||||
|
||||
Public Class clsProfil
|
||||
Inherits clsCURRENT
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
#Region "***** Variablen *****"
|
||||
|
||||
|
||||
@@ -15,20 +16,22 @@ Public Class clsProfil
|
||||
|
||||
Private Shared WD_aktivesDokument As WMObject
|
||||
#End Region
|
||||
Public Shared Function Init(guid As Integer)
|
||||
Try
|
||||
Sub New(PROFIL_ID As Integer, LogSpeicherort As String, praefix As String)
|
||||
Init(PROFIL_ID)
|
||||
|
||||
clsLogger.AddDetailLog("Start Initialisierung Profil für GUID: " & guid.ToString)
|
||||
Dim DT As DataTable = clsDatatabase.Return_Datatable("Select * from TBWMRH_PROFIL where GUID = " & guid)
|
||||
End Sub
|
||||
Public Shared Function Init(PROFIL_ID As Integer)
|
||||
Try
|
||||
Logger.Info("Start Initialisierung Profil für GUID: " & PROFIL_ID.ToString)
|
||||
Dim DT As DataTable = clsDatatabase.Return_Datatable("Select * from TBWMRH_PROFIL where GUID = " & PROFIL_ID)
|
||||
If DT.Rows.Count > 0 Then
|
||||
For Each DR As DataRow In DT.Rows
|
||||
clsCURRENT._profGUID = guid
|
||||
_profGUID = PROFIL_ID
|
||||
_Profilname = CStr(DR.Item("Profilname"))
|
||||
clsLogger.AddDetailLog("Check Profilname '" & _Profilname & "', GUID: " & _profGUID & " geladen")
|
||||
Logger.Info("Check Profilname '" & _Profilname & "', GUID: " & _profGUID & " geladen")
|
||||
' Überprüfen ob Profil aktiv oder inaktiv
|
||||
If CBool(DR.Item("Aktiv")) = False Then
|
||||
clsLogger.Add("## Profil '" & _Profilname & "' ist inaktiv geschaltet", False)
|
||||
clsLogger.Add("", False)
|
||||
Logger.Info("## Profil '" & _Profilname & "' ist inaktiv geschaltet")
|
||||
Return False
|
||||
Else
|
||||
_profObjekttyp = CStr(DR.Item("Objekttyp"))
|
||||
@@ -36,17 +39,17 @@ Public Class clsProfil
|
||||
_profDay = CStr(DR.Item("Day"))
|
||||
_profRunType = CStr(DR.Item("Run"))
|
||||
_proflastRun = DR.Item("Letzter_Durchlauf")
|
||||
clsLogger.AddDetailLog("Raw-Daten für Profil '" & _Profilname & "', GUID: " & _profGUID & " geladen")
|
||||
Logger.Info("Raw-Daten für Profil '" & _Profilname & "', GUID: " & _profGUID & " geladen")
|
||||
Return True
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
clsLogger.Add("Achtung - keine Profile für diesen Durchlaufthread verfügbar", False)
|
||||
Logger.Warn("Achtung - keine Profile für diesen Durchlaufthread verfügbar")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "Profil_Init")
|
||||
Logger.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -60,21 +63,21 @@ Public Class clsProfil
|
||||
Dim Dayofweek As Integer = My.Computer.Clock.LocalTime.DayOfWeek
|
||||
If _profDay.Substring(Dayofweek - 1, 1) = 1 Then
|
||||
'Verarbeitung soll heute durchgeführt werden
|
||||
clsLogger.AddDetailLog("Verarbeitung soll heute durchgeführt werden!")
|
||||
clsLogger.AddDetailLog("_RunType: " & _profRunType)
|
||||
Logger.Info("Verarbeitung soll heute durchgeführt werden!")
|
||||
Logger.Info("_RunType: " & _profRunType)
|
||||
Dim arr As String()
|
||||
arr = _profRunType.Split(";")
|
||||
clsLogger.AddDetailLog("arr(1): " & arr(1).ToString)
|
||||
Logger.Info("arr(1): " & arr(1).ToString)
|
||||
Select Case arr(0)
|
||||
Case "TIME"
|
||||
' Dim intervall As Integer = clsSQLITE.konf_intervall / 60
|
||||
clsLogger.AddDetailLog("Intervall: 1 Minute")
|
||||
Logger.Info("Intervall: 1 Minute")
|
||||
Dim Time_next As DateTime = _proflastRun.AddMinutes(1)
|
||||
Dim _RunTime As Date = CDate(arr(1))
|
||||
clsLogger.AddDetailLog("ProfilTime: " & _RunTime)
|
||||
clsLogger.AddDetailLog("_RunTime.ToShortTimeString: " & _RunTime.ToShortTimeString & " # " & "Now.ToShortTimeString: " & Now.ToShortTimeString)
|
||||
Logger.Info("ProfilTime: " & _RunTime)
|
||||
Logger.Info("_RunTime.ToShortTimeString: " & _RunTime.ToShortTimeString & " # " & "Now.ToShortTimeString: " & Now.ToShortTimeString)
|
||||
If Time_next.ToString.StartsWith("11.11.1911") Then
|
||||
clsLogger.AddDetailLog("Manueller Durchlauf des Profils - 11.11.1911")
|
||||
Logger.Info("Manueller Durchlauf des Profils - 11.11.1911")
|
||||
Run_Profile = True
|
||||
Else
|
||||
'Ist die Uhrzeit in der Range
|
||||
@@ -90,67 +93,66 @@ Public Class clsProfil
|
||||
msg = "Minutenangaben: " & vbNewLine
|
||||
msg = msg & "DiffMin: " & DiffMin & vbNewLine
|
||||
msg = msg & "Intervall: " & arr(1)
|
||||
clsLogger.AddDetailLog(msg)
|
||||
Logger.Info(msg)
|
||||
If DiffMin >= CInt(arr(1)) Then
|
||||
'Den Durchlauf erlauben
|
||||
Run_Profile = True
|
||||
End If
|
||||
Case Else
|
||||
clsLogger.Add(">> _profRunType konnte nicht ausgewertet werden - " & arr(0), False)
|
||||
Logger.Warn("_profRunType konnte nicht ausgewertet werden - " & arr(0))
|
||||
End Select
|
||||
If Run_Profile = True Then
|
||||
ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL = clsDatatabase.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
|
||||
ClassWMResulthandler.clsCURRENT.ARR_Exported_Files = Nothing
|
||||
clsLogger.Add(">> Start des Durchlaufes für Profil '" & _Profilname & "'", False)
|
||||
clsCURRENT.DT_TBDD_EMAIL = clsDatatabase.Return_Datatable("SELECT * FROM TBDD_EMAIL_ACCOUNT WHERE ACTIVE = 1")
|
||||
clsCURRENT.PROFILE_HandledFiles = Nothing
|
||||
Logger.Info("Start des Durchlaufes für Profil '" & _Profilname & "'")
|
||||
'den Durchlaufszeitpunkt speichern
|
||||
clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _profGUID)
|
||||
clsLogger.AddDetailLog("Prüfen der windream-Suche.......")
|
||||
Logger.Info("Prüfen der windream-Suche.......")
|
||||
If File.Exists(_profwdSuche) = False Then
|
||||
clsLogger.Add("Die Windream-Suche '" & _profwdSuche & "' existiert nicht!", True, "clsProfil.Profil_Durchlauf")
|
||||
Logger.Warn("Die Windream-Suche '" & _profwdSuche & "' existiert nicht!", True, "clsProfil.Profil_Durchlauf")
|
||||
'wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen
|
||||
clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 0 WHERE GUID = " & _profGUID)
|
||||
clsLogger.WriteLog()
|
||||
Return False
|
||||
Else
|
||||
' windream-Suche für Profil starten
|
||||
clsLogger.AddDetailLog("GetSearchDocuments für Suche '" & _profwdSuche & "' starten: ")
|
||||
Logger.Info("GetSearchDocuments für Suche '" & _profwdSuche & "' starten: ")
|
||||
Dim windreamSucheErgebnisse As WMObjects = clsWindream_allgemein.GetSearchDocuments(_profwdSuche)
|
||||
If windreamSucheErgebnisse Is Nothing Then
|
||||
clsLogger.Add("windreamSucheErgebnisse is nothing!", True, "clsProfil.Profil_Durchlauf")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("windreamSucheErgebnisse is nothing!", True, "clsProfil.Profil_Durchlauf")
|
||||
Return False
|
||||
End If
|
||||
If windreamSucheErgebnisse.Count > 0 Then
|
||||
clsLogger.Add("- Insgesamt sollen '" & windreamSucheErgebnisse.Count & "' Dateien bearbeitet werden", False)
|
||||
clsLogger.AddDetailLog("SELECT * FROM TBWMRH_PROFIL_JOB WHERE AKTIV = 1 AND PROFIL_ID = " & _profGUID & " ORDER BY REIHENFOLGE")
|
||||
Logger.Info("- Insgesamt sollen '" & windreamSucheErgebnisse.Count & "' Dateien bearbeitet werden")
|
||||
Logger.Info("SELECT * FROM TBWMRH_PROFIL_JOB WHERE AKTIV = 1 AND PROFIL_ID = " & _profGUID & " ORDER BY REIHENFOLGE")
|
||||
Dim DT_PROFIL_JOB As DataTable = clsDatatabase.Return_Datatable("SELECT * FROM TBWMRH_PROFIL_JOB WHERE AKTIV = 1 AND PROFIL_ID = " & _profGUID & " ORDER BY REIHENFOLGE")
|
||||
Dim DT_PROFIL_FILE_JOB As DataTable = clsDatatabase.Return_Datatable("SELECT * FROM TBWMRH_PROFIL_FILE_JOB WHERE AKTIV = 1 AND PROFIL_ID = " & _profGUID & " ORDER BY REIHENFOLGE")
|
||||
clsLogger.AddDetailLog("DT_PROFIL_JOB und DT_PROFIL_FILE_JOB generiert ")
|
||||
clsLogger.AddDetailLog("DT_PROFIL_JOB.Rows.Count = " & DT_PROFIL_JOB.Rows.Count)
|
||||
clsLogger.AddDetailLog("DT_PROFIL_FILE_JOB.Rows.Count = " & DT_PROFIL_FILE_JOB.Rows.Count)
|
||||
Logger.Info("DT_PROFIL_JOB und DT_PROFIL_FILE_JOB generiert ")
|
||||
Logger.Info("DT_PROFIL_JOB.Rows.Count = " & DT_PROFIL_JOB.Rows.Count)
|
||||
Logger.Info("DT_PROFIL_FILE_JOB.Rows.Count = " & DT_PROFIL_FILE_JOB.Rows.Count)
|
||||
If DT_PROFIL_JOB.Rows.Count > 0 Then
|
||||
|
||||
If clsDateiverarbeitung.InitProfilData = True Then
|
||||
clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True")
|
||||
Logger.Info("clsDateiverarbeitung.InitProfilData = True")
|
||||
For Each _JOBROW As DataRow In DT_PROFIL_JOB.Rows
|
||||
clsLogger.AddDetailLog("JOB_TYP: " & _JOBROW.Item("JOB_TYP").ToString.ToUpper & " GUID: " & _JOBROW.Item("GUID").ToString)
|
||||
Logger.Info("JOB_TYP: " & _JOBROW.Item("JOB_TYP").ToString.ToUpper & " GUID: " & _JOBROW.Item("GUID").ToString)
|
||||
Next
|
||||
Dim FileJobSuccessful As Boolean = False
|
||||
Dim CountExportedDoc As Integer = 0
|
||||
clsCURRENT.PROFILE_HandledFiles = Nothing
|
||||
For Each WMdok As WMObject In windreamSucheErgebnisse
|
||||
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
|
||||
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
|
||||
Case "Create Mail Attachment".ToUpper
|
||||
'XX
|
||||
Dim Email_Empfänger = DR_PR_JB.Item("STRING1")
|
||||
clsLogger.AddDetailLog("Email_Empfänger: " & Email_Empfänger)
|
||||
Logger.Info("Email_Empfänger: " & Email_Empfänger)
|
||||
Dim Email_Betreff = DR_PR_JB.Item("STRING2")
|
||||
clsLogger.AddDetailLog("Email_Betreff: " & Email_Betreff)
|
||||
Logger.Info("Email_Betreff: " & Email_Betreff)
|
||||
Dim Email_Body = DR_PR_JB.Item("STRING3")
|
||||
clsLogger.AddDetailLog("Email_Body: " & Email_Body)
|
||||
Logger.Info("Email_Body: " & Email_Body)
|
||||
Dim EMAIL_PROFIL = DR_PR_JB.Item("STRING4")
|
||||
clsLogger.AddDetailLog("EMAIL_PROFIL: " & EMAIL_PROFIL)
|
||||
If Not IsNothing(ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL) And ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
|
||||
Logger.Info("EMAIL_PROFIL: " & EMAIL_PROFIL)
|
||||
If Not IsNothing(clsCURRENT.DT_TBDD_EMAIL) And clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
|
||||
Dim MAILFROM As String = ""
|
||||
Dim MAILSMTP As String = ""
|
||||
Dim MAIL_USER As String = ""
|
||||
@@ -158,7 +160,7 @@ Public Class clsProfil
|
||||
Dim MAIL_SSL As Boolean = False
|
||||
Dim MAIL_PORT As String = "25"
|
||||
|
||||
For Each emailrow As DataRow In ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL.Rows
|
||||
For Each emailrow As DataRow In clsCURRENT.DT_TBDD_EMAIL.Rows
|
||||
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
|
||||
MAILFROM = emailrow.Item("EMAIL_FROM")
|
||||
MAILSMTP = emailrow.Item("EMAIL_SMTP")
|
||||
@@ -176,42 +178,42 @@ Public Class clsProfil
|
||||
If PWPlain <> "" Then
|
||||
MAIL_USER_PW = PWPlain
|
||||
Else
|
||||
clsLogger.AddError("PWPlain is string.empty - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort181")
|
||||
|
||||
Return False
|
||||
End If
|
||||
|
||||
Else
|
||||
clsLogger.AddError("PWPlain is nothing - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort188")
|
||||
|
||||
Return False
|
||||
End If
|
||||
If Email_Empfänger.ToString.Contains("[%") Then
|
||||
Email_Empfänger = clsDateiverarbeitung.REGEX_REPLACE(WMdok, Email_Empfänger)
|
||||
clsLogger.AddDetailLog("Email_Empfänger: " & Email_Empfänger)
|
||||
Logger.Info("Email_Empfänger: " & Email_Empfänger)
|
||||
End If
|
||||
|
||||
Email_Betreff = clsDateiverarbeitung.REGEX_REPLACE(WMdok, Email_Betreff)
|
||||
Email_Body = clsDateiverarbeitung.REGEX_REPLACE(WMdok, Email_Body)
|
||||
Dim FILENAME = ClassWMResulthandler.clsCURRENT.WDLAUFWERK & ":" & WMdok.aPath
|
||||
Dim FILENAME = clsCURRENT.WDLAUFWERK & ":" & WMdok.aPath
|
||||
clsEmail.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_SSL, FILENAME)
|
||||
|
||||
|
||||
Else
|
||||
clsLogger.AddError("DT_TBDD_EMAIL is nothing or contains no rows", "clsProfil.Profil_Durchlauf(end concatted file via mail)")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("DT_TBDD_EMAIL is nothing or contains no rows")
|
||||
|
||||
Return False
|
||||
End If
|
||||
|
||||
Case "Export HDD".ToUpper
|
||||
clsLogger.AddDetailLog("Case Export HDD")
|
||||
Logger.Info("Case Export HDD")
|
||||
'Für jedes Dokument in der Windream-Ergebnisliste
|
||||
'For Each dok As WMObject In windreamSucheErgebnisse
|
||||
' aktuelles Dokument zum Export bereitstellen
|
||||
ClassWMResulthandler.clsCURRENT.EXPORTED_FILENAME = ""
|
||||
clsCURRENT.EXPORTED_FILENAME = ""
|
||||
If clsDateiverarbeitung.Export_File(WMdok, DR_PR_JB.Item("STRING1")) = True Then
|
||||
ReDim Preserve ClassWMResulthandler.clsCURRENT.ARR_Exported_Files(CountExportedDoc)
|
||||
ClassWMResulthandler.clsCURRENT.ARR_Exported_Files(CountExportedDoc) = ClassWMResulthandler.clsCURRENT.EXPORTED_FILENAME
|
||||
ReDim Preserve clsCURRENT.PROFILE_HandledFiles(CountExportedDoc)
|
||||
clsCURRENT.PROFILE_HandledFiles(CountExportedDoc) = clsCURRENT.EXPORTED_FILENAME
|
||||
CountExportedDoc += 1
|
||||
FileJobSuccessful = True
|
||||
Else
|
||||
@@ -226,7 +228,7 @@ Public Class clsProfil
|
||||
Dim printername = DR_PR_JB.Item("STRING1")
|
||||
Dim filename = clsCURRENT.WDLAUFWERK & ":" & WMdok.aPath '& "\" & WMdok.aName
|
||||
If File.Exists(pdfxchange) = False Then
|
||||
clsLogger.Add("PDFXChange existiert nicht am Ort...", True)
|
||||
Logger.Warn("PDFXChange existiert nicht am Ort...")
|
||||
Continue For
|
||||
End If
|
||||
Dim myProcess As New Process
|
||||
@@ -236,7 +238,7 @@ Public Class clsProfil
|
||||
Dim _argument As String = "/printto: """ & printername & """ """ & filename & """"
|
||||
|
||||
myProcess.StartInfo.Arguments = _argument
|
||||
clsLogger.AddDetailLog("Arguments: " & _argument)
|
||||
Logger.Info("Arguments: " & _argument)
|
||||
Try
|
||||
myProcess.Start()
|
||||
Dim p As Process
|
||||
@@ -248,25 +250,33 @@ Public Class clsProfil
|
||||
Do While p.HasExited = False
|
||||
|
||||
If sw.Elapsed.TotalSeconds = 30 Then
|
||||
clsLogger.AddDetailLog("Still waiting (30 sec) for ending of process-id: " & myProcess.Id.ToString)
|
||||
Logger.Info("Still waiting (30 sec) for ending of process-id: " & myProcess.Id.ToString)
|
||||
ElseIf sw.Elapsed.TotalMinutes = 1 Then
|
||||
clsLogger.AddDetailLog("Still waiting (60 sec) for ending of process-id: " & myProcess.Id.ToString & " - Exit now")
|
||||
Logger.Info("Still waiting (60 sec) for ending of process-id: " & myProcess.Id.ToString & " - Exit now")
|
||||
Exit Do
|
||||
End If
|
||||
Loop
|
||||
clsLogger.AddDetailLog("...process has exited: ")
|
||||
Logger.Info("...process has exited: ")
|
||||
FileJobSuccessful = True
|
||||
sw.Stop()
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsProfil.Print2Printer StartProcess")
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
clsLogger.WriteLog()
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(Print2Printer)")
|
||||
Logger.Error(ex)
|
||||
|
||||
End Try
|
||||
Case "Send InfoMail with WM-Search".ToUpper
|
||||
If clsCURRENT.PROFILE_HandledFiles.Length - 1 <> CountExportedDoc Then
|
||||
ReDim Preserve clsCURRENT.PROFILE_HandledFiles(CountExportedDoc)
|
||||
clsCURRENT.PROFILE_HandledFiles(CountExportedDoc) = clsCURRENT.EXPORTED_FILENAME
|
||||
CountExportedDoc += 1
|
||||
End If
|
||||
|
||||
End Select
|
||||
'Abschluss Bearbeitung Job
|
||||
clsLogger.WriteLog()
|
||||
|
||||
|
||||
Next
|
||||
'##################################
|
||||
'JETZT DER DURCHLAUF DER DATEI-JOBS
|
||||
@@ -275,8 +285,7 @@ Public Class clsProfil
|
||||
'Für jeden File-Job
|
||||
For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
|
||||
If FileJobSuccessful = False Then
|
||||
clsLogger.Add("AUSSTIEG FOR SCHLEIFE...", True)
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("AUSSTIEG FOR SCHLEIFE...")
|
||||
Exit For
|
||||
End If
|
||||
Select Case DR_PR_FILE_JOB.Item("TYP").ToString.ToLower
|
||||
@@ -288,24 +297,24 @@ Public Class clsProfil
|
||||
If idxvalue.Contains("[%DATETIME]") Then
|
||||
idxvalue = idxvalue.Replace("[%DATETIME]", Now.ToString)
|
||||
End If
|
||||
clsLogger.AddDetailLog("Datei soll mit Index '" & idxName & "'indexiert werden...")
|
||||
Logger.Info("Datei soll mit Index '" & idxName & "'indexiert werden...")
|
||||
Dim arrIndex() As String
|
||||
ReDim Preserve arrIndex(0)
|
||||
arrIndex(0) = idxName
|
||||
clsLogger.AddDetailLog("...nach arrIndex")
|
||||
Logger.Info("...nach arrIndex")
|
||||
|
||||
Dim arrValue() As String
|
||||
|
||||
Dim aktvalue As Object
|
||||
aktvalue = WMdok.GetVariableValue(idxName)
|
||||
clsLogger.AddDetailLog("...nach aktValue zuweisen..")
|
||||
Logger.Info("...nach aktValue zuweisen..")
|
||||
|
||||
If aktvalue Is Nothing Then
|
||||
clsLogger.AddDetailLog("Index '" & idxName & "' ist noch leer.")
|
||||
Logger.Info("Index '" & idxName & "' ist noch leer.")
|
||||
ReDim Preserve arrValue(0)
|
||||
arrValue(0) = idxvalue
|
||||
Else
|
||||
clsLogger.AddDetailLog("Index '" & idxName & "' ist bereits gefüllt.")
|
||||
Logger.Info("Index '" & idxName & "' ist bereits gefüllt.")
|
||||
Dim myArray()
|
||||
ReDim myArray(0)
|
||||
myArray(0) = idxvalue
|
||||
@@ -323,64 +332,64 @@ Public Class clsProfil
|
||||
If arrValue Is Nothing = False Then
|
||||
clsWindream_Index.RunIndexing(WMdok, arrIndex, arrValue, _profObjekttyp)
|
||||
Else
|
||||
clsLogger.Add(">> arrValue is nothing - keine Indexierung", False, "clsProfil.Profil_Durchlauf")
|
||||
Logger.Warn("arrValue is nothing - keine Indexierung")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(SetIndex)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(SetIndex)")
|
||||
End Try
|
||||
Case "Rename File with windream Index".ToLower
|
||||
clsLogger.AddDetailLog("Exportierte Datei soll nach Indexvorgaben umbenannt werden...")
|
||||
Logger.Info("Exportierte Datei soll nach Indexvorgaben umbenannt werden...")
|
||||
clsDateiverarbeitung.Rename_File(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
|
||||
Case "Rename File with WMVector (only one)".ToLower
|
||||
clsLogger.AddDetailLog("Exportierte Datei soll nach VektorIndexvorgaben umbenannt werden...")
|
||||
Logger.Info("Exportierte Datei soll nach VektorIndexvorgaben umbenannt werden...")
|
||||
clsDateiverarbeitung.Rename_File_Vektor(WMdok, DR_PR_FILE_JOB.Item("STRING1").ToString)
|
||||
Case "Execute Oracle Command".ToLower
|
||||
Try
|
||||
clsLogger.AddDetailLog("Execute Oracle Command.......")
|
||||
Logger.Info("Execute Oracle Command.......")
|
||||
Dim oracleconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
|
||||
Dim oracleCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
|
||||
FileJobSuccessful = clsDateiverarbeitung.RUN_ORACLE_COMMAND(WMdok, oracleconnectionstring, oracleCommandRAW)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteOracleCommand)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteOracleCommand)")
|
||||
End Try
|
||||
Case "Execute MSSQL Command".ToLower
|
||||
Try
|
||||
Dim MSSQLconnectionstring = DR_PR_FILE_JOB.Item("STRING1").ToString
|
||||
Dim MSSQLCommandRAW = DR_PR_FILE_JOB.Item("STRING2").ToString
|
||||
clsLogger.AddDetailLog("Execute MSSQL Command.......")
|
||||
Logger.Info("Execute MSSQL Command.......")
|
||||
FileJobSuccessful = clsDateiverarbeitung.RUN_MSSQL_COMMAND(WMdok, MSSQLconnectionstring, MSSQLCommandRAW)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf(ExecuteMSSQLCommand)")
|
||||
End Try
|
||||
End Select
|
||||
'Abschluss Bearbeitung File Job
|
||||
|
||||
Next
|
||||
clsLogger.WriteLog()
|
||||
Else
|
||||
clsLogger.Add(">> KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!")
|
||||
End If
|
||||
Next
|
||||
clsLogger.WriteLog()
|
||||
|
||||
'Jetzt nochmal ein Durchlauf für Profiljobs wo alle Dateien abgearbeitet wurden.
|
||||
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
|
||||
clsLogger.AddDetailLog("Now again working on profile-type: " & DR_PR_JB.Item("JOB_TYP") & " - ID: " & DR_PR_JB.Item("GUID"))
|
||||
Logger.Info("Now again working on profile-type: " & DR_PR_JB.Item("JOB_TYP") & " - ID: " & DR_PR_JB.Item("GUID"))
|
||||
Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
|
||||
Case "Concat Files to one pdf".ToUpper
|
||||
clsLogger.AddDetailLog("Case Concat Files to one pdf....")
|
||||
Logger.Info("Case Concat Files to one pdf....")
|
||||
Dim pdftk = clsCURRENT.DT_TBWMRH_KONFIGURATION.Rows(0).Item("PDF_TK_LOCATION")
|
||||
clsLogger.AddDetailLog("pdftk location: " & pdftk)
|
||||
Logger.Info("pdftk location: " & pdftk)
|
||||
clsCURRENT.CONCATTED_FILE = DR_PR_JB.Item("STRING1")
|
||||
clsLogger.AddDetailLog("CONCATTED_FILE location: " & ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
Logger.Info("CONCATTED_FILE location: " & clsCURRENT.CONCATTED_FILE)
|
||||
Dim deleteJaNein = DR_PR_JB.Item("STRING2").ToString.ToUpper
|
||||
clsLogger.AddDetailLog("deleteJaNein: " & deleteJaNein.ToString)
|
||||
Logger.Info("deleteJaNein: " & deleteJaNein.ToString)
|
||||
If File.Exists(pdftk) Then
|
||||
If File.Exists(ClassWMResulthandler.clsCURRENT.CONCATTED_FILE) Then
|
||||
If File.Exists(clsCURRENT.CONCATTED_FILE) Then
|
||||
Try
|
||||
File.Delete(ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
File.Delete(clsCURRENT.CONCATTED_FILE)
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -394,7 +403,7 @@ Public Class clsProfil
|
||||
|
||||
Dim _argument As String
|
||||
Dim i As Integer
|
||||
For Each str As String In ClassWMResulthandler.clsCURRENT.ARR_Exported_Files
|
||||
For Each str As String In clsCURRENT.PROFILE_HandledFiles
|
||||
If i = 0 Then
|
||||
_argument = """" & str & """"
|
||||
Else
|
||||
@@ -402,16 +411,16 @@ Public Class clsProfil
|
||||
End If
|
||||
i += 1
|
||||
Next
|
||||
If File.Exists(ClassWMResulthandler.clsCURRENT.CONCATTED_FILE) Then
|
||||
If File.Exists(clsCURRENT.CONCATTED_FILE) Then
|
||||
Try
|
||||
File.Delete(ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
File.Delete(clsCURRENT.CONCATTED_FILE)
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
End If
|
||||
myProcess.StartInfo.Arguments = _argument & " cat output " & ClassWMResulthandler.clsCURRENT.CONCATTED_FILE
|
||||
clsLogger.AddDetailLog("Arguments: " & _argument & " cat output " & ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
myProcess.StartInfo.Arguments = _argument & " cat output " & clsCURRENT.CONCATTED_FILE
|
||||
Logger.Info("Arguments: " & _argument & " cat output " & clsCURRENT.CONCATTED_FILE)
|
||||
myProcess.Start()
|
||||
ProcID = myProcess.Id
|
||||
|
||||
@@ -424,50 +433,50 @@ Public Class clsProfil
|
||||
Do While p.HasExited = False
|
||||
|
||||
If sw.Elapsed.TotalSeconds = 30 Then
|
||||
clsLogger.AddDetailLog("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
|
||||
Logger.Info("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
|
||||
ElseIf sw.Elapsed.TotalMinutes = 1 Then
|
||||
clsLogger.AddDetailLog("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
|
||||
Logger.Info("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
|
||||
Exit Do
|
||||
End If
|
||||
Loop
|
||||
clsLogger.AddDetailLog("...process has exited: ")
|
||||
Logger.Info("...process has exited: ")
|
||||
sw.Stop()
|
||||
clsLogger.AddDetailLog("Waiting for file: " & ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
Do While File.Exists(ClassWMResulthandler.clsCURRENT.CONCATTED_FILE) = False
|
||||
Logger.Info("Waiting for file: " & clsCURRENT.CONCATTED_FILE)
|
||||
Do While File.Exists(clsCURRENT.CONCATTED_FILE) = False
|
||||
Console.WriteLine("...not existing!")
|
||||
Loop
|
||||
If deleteJaNein = "JA" Then
|
||||
For Each str As String In ClassWMResulthandler.clsCURRENT.ARR_Exported_Files
|
||||
For Each str As String In clsCURRENT.PROFILE_HandledFiles
|
||||
Try
|
||||
File.Delete(str)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unexpected error in deleting ARR_Exported_Files files: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
|
||||
Next
|
||||
End If
|
||||
clsLogger.WriteLog()
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Unexpected error: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
|
||||
Logger.Error(ex) '("Unexpected error: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
|
||||
End Try
|
||||
|
||||
|
||||
Else
|
||||
clsLogger.AddError("pdftk is not existing", "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
|
||||
Logger.Warn("pdftk is not existing")
|
||||
End If
|
||||
Case "Send concatted file via mail".ToUpper
|
||||
clsLogger.AddDetailLog("CASE Send concatted file via mail.... ")
|
||||
If File.Exists(ClassWMResulthandler.clsCURRENT.CONCATTED_FILE) = True Then
|
||||
Logger.Info("CASE Send concatted file via mail.... ")
|
||||
If File.Exists(clsCURRENT.CONCATTED_FILE) = True Then
|
||||
|
||||
Dim Email_Empfänger = DR_PR_JB.Item("STRING1")
|
||||
clsLogger.AddDetailLog("Email_Empfänger: " & Email_Empfänger)
|
||||
Logger.Info("Email_Empfänger: " & Email_Empfänger)
|
||||
Dim Email_Betreff = DR_PR_JB.Item("STRING2")
|
||||
clsLogger.AddDetailLog("Email_Betreff: " & Email_Betreff)
|
||||
Logger.Info("Email_Betreff: " & Email_Betreff)
|
||||
Dim Email_Body = DR_PR_JB.Item("STRING3")
|
||||
clsLogger.AddDetailLog("Email_Body: " & Email_Body)
|
||||
Logger.Info("Email_Body: " & Email_Body)
|
||||
Dim EMAIL_PROFIL = DR_PR_JB.Item("STRING4")
|
||||
clsLogger.AddDetailLog("EMAIL_PROFIL: " & EMAIL_PROFIL)
|
||||
If Not IsNothing(ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL) And ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
|
||||
Logger.Info("EMAIL_PROFIL: " & EMAIL_PROFIL)
|
||||
If Not IsNothing(clsCURRENT.DT_TBDD_EMAIL) And clsCURRENT.DT_TBDD_EMAIL.Rows.Count >= 1 Then
|
||||
Dim MAILFROM As String = ""
|
||||
Dim MAILSMTP As String = ""
|
||||
Dim MAIL_USER As String = ""
|
||||
@@ -475,7 +484,7 @@ Public Class clsProfil
|
||||
Dim MAIL_SSL As Boolean = False
|
||||
Dim MAIL_PORT As Integer
|
||||
|
||||
For Each emailrow As DataRow In ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL.Rows
|
||||
For Each emailrow As DataRow In clsCURRENT.DT_TBDD_EMAIL.Rows
|
||||
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
|
||||
MAILFROM = emailrow.Item("EMAIL_FROM")
|
||||
MAILSMTP = emailrow.Item("EMAIL_SMTP")
|
||||
@@ -493,58 +502,52 @@ Public Class clsProfil
|
||||
If PWPlain <> "" Then
|
||||
MAIL_USER_PW = PWPlain
|
||||
Else
|
||||
clsLogger.AddError("PWPlain is string.empty - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort")
|
||||
|
||||
Return False
|
||||
End If
|
||||
|
||||
Else
|
||||
clsLogger.AddError("PWPlain is nothing - Could not decrypt passwort", "clsProfil.Profil_Durchlauf(wrapper.DecryptData(MAIL_USER_PW))")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("PWPlain is string.empty - Could not decrypt passwort1")
|
||||
|
||||
Return False
|
||||
End If
|
||||
|
||||
clsEmail.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_SSL, ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
clsEmail.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_SSL, clsCURRENT.CONCATTED_FILE)
|
||||
|
||||
|
||||
Else
|
||||
clsLogger.AddError("DT_TBDD_EMAIL is nothing or contains no rows", "clsProfil.Profil_Durchlauf(end concatted file via mail)")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("DT_TBDD_EMAIL is nothing or contains no rows")
|
||||
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
clsLogger.AddError("File not existing: " & ClassWMResulthandler.clsCURRENT.CONCATTED_FILE, "clsProfil.Profil_Durchlauf(Send concatted file via mail)")
|
||||
Logger.Warn("File not existing: " & clsCURRENT.CONCATTED_FILE)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End Select
|
||||
Next
|
||||
clsLogger.WriteLog()
|
||||
Else
|
||||
clsLogger.Add(">> Initialisierung Profil nicht erfolgreich", True)
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("Initialisierung Profil nicht erfolgreich")
|
||||
End If
|
||||
Else
|
||||
clsLogger.Add(">> KEINE JOBS für Profil '" & _Profilname & "' angelegt!", False, "clsProfil.Profil_Durchlauf")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("KEINE JOBS für Profil '" & _Profilname & "' angelegt!")
|
||||
End If
|
||||
Else
|
||||
' keine Dateien zum Importieren
|
||||
clsLogger.Add(">> Keine windream-Dokumente für Profil '" & _Profilname & "' vorhanden/gefunden.", False)
|
||||
clsLogger.Add("", False)
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("Keine windream-Dokumente für Profil '" & _Profilname & "' vorhanden/gefunden.")
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
Else
|
||||
clsLogger.AddDetailLog("Verarbeitung für heute NICHT konfiguriert")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Info("Verarbeitung für heute NICHT konfiguriert")
|
||||
End If
|
||||
'Abschluss des Profiles
|
||||
clsDatatabase.Execute_non_Query("UPDATE TBWMRH_PROFIL SET Running = 0, LETZTER_DURCHLAUF = GETDATE() WHERE GUID = " & _profGUID)
|
||||
clsLogger.AddDetailLog("'UPDATE TBWMRH_PROFIL SET Running = 0' ausgeführt")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Info("'UPDATE TBWMRH_PROFIL SET Running = 0' ausgeführt")
|
||||
Return True
|
||||
'Catch ex As Exception
|
||||
' clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsProfil.Profil_Durchlauf")
|
||||
@@ -586,7 +589,7 @@ Public Class clsProfil
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
clsLogger.AddDetailLog("Duplikatprüfung soll durchgeführt werden.")
|
||||
Logger.Info("Duplikatprüfung soll durchgeführt werden.")
|
||||
'Duplikat Prüfung an, also nur anhängen wenn Wert <>
|
||||
For Each WDValue As Object In wertWD
|
||||
If WDValue Is Nothing = False Then
|
||||
@@ -594,7 +597,7 @@ Public Class clsProfil
|
||||
ReDim Preserve ValueArray(Anzahl)
|
||||
'Den Wert im Array speichern
|
||||
ValueArray(Anzahl) = WDValue.ToString
|
||||
clsLogger.AddDetailLog("Value (" & Anzahl & ") " & WDValue.ToString)
|
||||
Logger.Info("Value (" & Anzahl & ") " & WDValue.ToString)
|
||||
Anzahl += 1
|
||||
End If
|
||||
Next
|
||||
@@ -602,21 +605,21 @@ Public Class clsProfil
|
||||
For Each NewValue As Object In NIIndexe
|
||||
If NewValue Is Nothing = False Then
|
||||
If ValueArray.Contains(NewValue) = False Then
|
||||
clsLogger.AddDetailLog("New Value (" & Anzahl & ") " & NewValue.ToString)
|
||||
Logger.Info("New Value (" & Anzahl & ") " & NewValue.ToString)
|
||||
'Das Array anpassen
|
||||
ReDim Preserve ValueArray(Anzahl)
|
||||
'Den Wert im Array speichern
|
||||
ValueArray(Anzahl) = NewValue.ToString
|
||||
Anzahl += 1
|
||||
Else
|
||||
clsLogger.AddDetailLog("Value '" & NewValue.ToString & "' bereits in Vektorfeld enthalten")
|
||||
Logger.Info("Value '" & NewValue.ToString & "' bereits in Vektorfeld enthalten")
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
clsLogger.AddDetailLog("Vektorfeld ist noch leer....")
|
||||
Logger.Info("Vektorfeld ist noch leer....")
|
||||
'Den/die Neuen Wert(e) anfügen
|
||||
For Each NewValue As Object In NIIndexe
|
||||
If NewValue Is Nothing = False Then
|
||||
@@ -629,7 +632,7 @@ Public Class clsProfil
|
||||
ValueArray(Anzahl) = NewValue.ToString
|
||||
Anzahl += 1
|
||||
Else
|
||||
clsLogger.AddDetailLog("Value '" & NewValue.ToString & "' bereits in Array enthalten")
|
||||
Logger.Info("Value '" & NewValue.ToString & "' bereits in Array enthalten")
|
||||
End If
|
||||
Else 'Dererste Wert, also hinzufügen
|
||||
'Das Array anpassen
|
||||
@@ -651,10 +654,10 @@ Public Class clsProfil
|
||||
Next
|
||||
End If
|
||||
|
||||
clsLogger.AddDetailLog("Return ValueArray: length " & ValueArray.Length)
|
||||
Logger.Info("Return ValueArray: length " & ValueArray.Length)
|
||||
Return ValueArray
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "Return_VektorArray")
|
||||
Logger.Error(ex)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -10,7 +10,7 @@ Imports WMOSRCHLib
|
||||
Imports System.IO
|
||||
|
||||
Public Class clsWindream_allgemein
|
||||
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
#Region "+++++ Konstanten +++++"
|
||||
Const DEBUG = AUS
|
||||
Const AUS = 0
|
||||
@@ -26,7 +26,6 @@ Public Class clsWindream_allgemein
|
||||
Private Shared oController As New WMOSearchController
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "+++++ Allgemeine Methoden und Funktionen +++++"
|
||||
|
||||
''' <summary>
|
||||
@@ -37,7 +36,7 @@ Public Class clsWindream_allgemein
|
||||
' wenn ein Fehler bei der Initialisierung auftrat
|
||||
If Not Init() Then
|
||||
' Nachricht ausgeben
|
||||
clsLogger.Add("Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind", True, "clsWindream_allgemein.Init")
|
||||
Logger.Warn("Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind")
|
||||
' das Programm "abschießen"
|
||||
Process.GetCurrentProcess.Kill()
|
||||
End If
|
||||
@@ -72,7 +71,7 @@ Public Class clsWindream_allgemein
|
||||
|
||||
' setzt die minimal erwartete windream-Version
|
||||
oConnect.MinReqVersion = "3"
|
||||
' clsLogger.AddDetailLog("Personifizierung'")
|
||||
' Logger.Info("Personifizierung'")
|
||||
|
||||
' -- Impersonifizierung nur möglich mit registry-eintrag --
|
||||
'oConnect.UserName = "\digitaldata\SchreiberM"
|
||||
@@ -80,11 +79,11 @@ Public Class clsWindream_allgemein
|
||||
|
||||
' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen
|
||||
oConnect.LoginSession(oSession)
|
||||
clsLogger.AddDetailLog("windream-Server: '" & GetCurrentServer() & "'")
|
||||
clsLogger.AddDetailLog("windream-UserName: '" & oConnect.UserName & "'")
|
||||
Logger.Info("windream-Server: '" & GetCurrentServer() & "'")
|
||||
Logger.Info("windream-UserName: '" & oConnect.UserName & "'")
|
||||
|
||||
If oSession.aLoggedin = False Then
|
||||
clsLogger.Add("Es konnte keine Verbindung mit dem windream-Server hergestellt werden", True, "clswindream.Init")
|
||||
Logger.Warn("Es konnte keine Verbindung mit dem windream-Server hergestellt werden")
|
||||
Return False
|
||||
End If
|
||||
|
||||
@@ -109,20 +108,22 @@ Public Class clsWindream_allgemein
|
||||
' Ordnertypen ausgelesen werden
|
||||
oDokumentTypen = oSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Problem beim Auslesen der Objekttypen", "clswindream.Init")
|
||||
Logger.Warn("Problem beim Auslesen der Objekttypen: " & ex.Message)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
|
||||
clsLogger.AddDetailLog("Alles OK - Erfolgreich angemeldet und Session aufgebaut")
|
||||
Logger.Info("Alles OK - Erfolgreich angemeldet und Session aufgebaut")
|
||||
Return True
|
||||
|
||||
Catch ex As Exception
|
||||
If Err.Number = -2147220985 Then
|
||||
clsLogger.AddError("Die installierte windream-Version ist nicht ausreichend für den Betrieb", "clswindream.Init")
|
||||
Else
|
||||
clsLogger.AddError("Fehler beim Login an windream: " & ex.Message, "clswindream.Init")
|
||||
End If
|
||||
Logger.Error(ex)
|
||||
'If Err.Number = -2147220985 Then
|
||||
' clsLogger.AddError("Die installierte windream-Version ist nicht ausreichend für den Betrieb", "clswindream.Init")
|
||||
'Else
|
||||
' clsLogger.AddError("Fehler beim Login an windream: " & ex.Message, "clswindream.Init")
|
||||
'End If
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -145,7 +146,8 @@ Public Class clsWindream_allgemein
|
||||
Return oDokumentTypen
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Fehler beim Auslesen der Objekttypen: " & ex.Message, "clswindream.GetObjecttypesAsObjects")
|
||||
Logger.Warn("Fehler beim Auslesen der Objekttypen: " & ex.Message)
|
||||
'clsLogger.AddError("Fehler beim Auslesen der Objekttypen: " & ex.Message, "clswindream.GetObjecttypesAsObjects")
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -167,7 +169,8 @@ Public Class clsWindream_allgemein
|
||||
Return objektTypenStr
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Fehler beim Auslesen der Objekttypen als String: " & ex.Message, "clswindream.GetObjecttypesAsStrings")
|
||||
Logger.Error(ex)
|
||||
'
|
||||
Return Nothing
|
||||
End Try
|
||||
|
||||
@@ -216,7 +219,8 @@ Public Class clsWindream_allgemein
|
||||
Return aIndexNames
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Fehler beim Auslesen der windream-Indexe: " & ex.Message, "clswindream.GetIndicesByObjecttype")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -241,7 +245,8 @@ Public Class clsWindream_allgemein
|
||||
Return Nothing
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Ein Objekttyp kopnnte nicht erstellt werden. Fehler: " & ex.Message, "clswindream.GetObjecttypeByName")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -264,7 +269,8 @@ Public Class clsWindream_allgemein
|
||||
Next
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Beim Prüfen ob ein Index für einen Objekttypen existiert, ist ein Fehler aufgetreten. Fehler: " & ex.Message, "clswindream.ExistIndexInObjekttyp")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -282,7 +288,7 @@ Public Class clsWindream_allgemein
|
||||
Try
|
||||
Return oSession.aLoggedin
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Es konnte nicht erfolgreich geprüft werden, ob das Programm am windream-Server angemeldet ist. Fehler: " & ex.Message, "clswindream.IsLoggedIn")
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -295,10 +301,10 @@ Public Class clsWindream_allgemein
|
||||
''' <remarks></remarks>
|
||||
Public Shared Function GetCurrentServer() As String
|
||||
Try
|
||||
clsLogger.AddDetailLog(oBrowser.GetCurrentServer.ToString)
|
||||
Logger.Info(oBrowser.GetCurrentServer.ToString)
|
||||
Return oBrowser.GetCurrentServer 'ClassWindream.oBrowser.GetCurrentServer
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Der aktuell gewählte windream-Server konnte nicht ausgelesen werden. Fehler: " & ex.Message, "clswindream.GetCurrentServer")
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
|
||||
Return ""
|
||||
@@ -378,12 +384,12 @@ Public Class clsWindream_allgemein
|
||||
Next
|
||||
Return strListe
|
||||
Else
|
||||
clsLogger.Add("Auswahlliste: " & indexname & " nicht gefunden.", True, "clswindream.GetValuesfromAuswahlliste")
|
||||
Logger.Warn("Auswahlliste: " & indexname & " nicht gefunden.")
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("Fehler: " & ex.Message, "clswindream.GetValuesfromAuswahlliste")
|
||||
Logger.Error(ex)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -394,13 +400,13 @@ Public Class clsWindream_allgemein
|
||||
If WDObject Is Nothing Then
|
||||
Return False
|
||||
Else
|
||||
clsLogger.AddDetailLog("WDObject exists")
|
||||
Logger.Info("WDObject exists")
|
||||
Return True
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
' bei einem Fehler einen Eintrag in der Logdatei machen
|
||||
clsLogger.AddError("Es konnte kein windream-Object erzeugt werden - " & ex.Message, "clswindream.WDObject_exists")
|
||||
Logger.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -409,12 +415,12 @@ Public Class clsWindream_allgemein
|
||||
Try
|
||||
Dim SearchName = wdfLocation.Substring(wdfLocation.LastIndexOf("\") + 1)
|
||||
Dim SearchPath = wdfLocation.Substring(0, wdfLocation.Length - SearchName.Length)
|
||||
clsLogger.Add("WMSearch: " & wdfLocation.ToLower, False)
|
||||
Logger.Warn("WMSearch: " & wdfLocation.ToLower)
|
||||
If System.IO.File.Exists(wdfLocation.ToLower) Then
|
||||
clsLogger.AddDetailLog("Search exists")
|
||||
Logger.Info("Search exists")
|
||||
End If
|
||||
oController.CheckSearchProfile(wdfLocation.ToLower) 'wdfLocation.ToLower)
|
||||
clsLogger.AddDetailLog("oController erzeugt")
|
||||
Logger.Info("oController erzeugt")
|
||||
Dim suchTyp = oController.SearchProfileTargetProgID
|
||||
Dim ExSettings As Object
|
||||
Dim oSearch As Object
|
||||
@@ -424,8 +430,8 @@ Public Class clsWindream_allgemein
|
||||
Dim srchQuick As WMOSRCHLib.WMQuickSearch = CreateObject("WMOSrch.WMQuickSearch")
|
||||
Dim srchIndex As WMOSRCHLib.WMIndexSearch = CreateObject("WMOSrch.WMIndexSearch")
|
||||
Dim srchObjectType As WMOSRCHLib.WMObjectTypeSearch = CreateObject("WMOSrch.WMObjectTypeSearch")
|
||||
clsLogger.AddDetailLog("WD Objekte in GetSearchDocuments erzeugt")
|
||||
clsLogger.AddDetailLog(suchTyp.ToString.ToUpper)
|
||||
Logger.Info("WD Objekte in GetSearchDocuments erzeugt")
|
||||
Logger.Info(suchTyp.ToString.ToUpper)
|
||||
'' Der öffentliche Member CheckSearchProfile für den Typ IWMQuickSearch7 wurde nicht gefunden. [Microsoft.VisualBasic] => GetSearchDocuments()
|
||||
Select Case suchTyp.ToString.ToUpper
|
||||
Case "WMOSRCH.WMQUICKSEARCH"
|
||||
@@ -438,15 +444,15 @@ Public Class clsWindream_allgemein
|
||||
|
||||
Case "WMOSRCH.WMINDEXSEARCH"
|
||||
srchIndex.WMSession = CreateObject("Windream.WMSession", GetCurrentServer)
|
||||
clsLogger.AddDetailLog("Session created...")
|
||||
Logger.Info("Session created...")
|
||||
oConnect.LoginSession(srchIndex.WMSession)
|
||||
clsLogger.AddDetailLog("LoginSession...")
|
||||
Logger.Info("LoginSession...")
|
||||
srchIndex.SearchProfilePath = SearchPath
|
||||
clsLogger.AddDetailLog("SearchPath...")
|
||||
Logger.Info("SearchPath...")
|
||||
srchIndex.LoadSearchProfile(SearchName)
|
||||
clsLogger.AddDetailLog("LoadSearchProfile...")
|
||||
Logger.Info("LoadSearchProfile...")
|
||||
oSearch = srchIndex.GetSearch()
|
||||
clsLogger.AddDetailLog("GetSearch...")
|
||||
Logger.Info("GetSearch...")
|
||||
Case "WMOSRCH.WMOBJECTTYPESEARCH"
|
||||
srchObjectType.WMSession = CreateObject("Windream.WMSession", GetCurrentServer)
|
||||
oConnect.LoginSession(srchObjectType.WMSession)
|
||||
@@ -456,18 +462,17 @@ Public Class clsWindream_allgemein
|
||||
oSearch = srchObjectType.GetSearch()
|
||||
|
||||
Case Else
|
||||
clsLogger.Add("KEIN GÜLTIGER WINDREAM-SUCHTYP", True, "clswindream.GetSearchDocuments")
|
||||
Logger.Warn("KEIN GÜLTIGER WINDREAM-SUCHTYP")
|
||||
|
||||
Return Nothing
|
||||
End Select
|
||||
Dim WMObjects As Object
|
||||
WMObjects = oSearch.Execute
|
||||
clsLogger.AddDetailLog("WD Objekte werden zurückgegeben")
|
||||
Logger.Info("WD Objekte werden zurückgegeben")
|
||||
Return oSearch.execute
|
||||
|
||||
Catch ex As Exception
|
||||
' bei einem Fehler einen Eintrag in der Logdatei machen
|
||||
clsLogger.AddError(ex.Message, "clswindream.GetSearchDocuments")
|
||||
Logger.Error(ex)
|
||||
Return Nothing
|
||||
End Try
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Imports WMOSRCHLib
|
||||
Public Class clsWindream_Index
|
||||
Inherits clsWindream_allgemein
|
||||
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
#Region "+++++ Konstanten +++++"
|
||||
Protected Const WMObjectEditModeObject = &H1F
|
||||
Protected Const WMObjectStreamOpenModeReadWrite = 2
|
||||
@@ -119,39 +119,39 @@ Public Class clsWindream_Index
|
||||
oDocument.lock()
|
||||
|
||||
If aValues.Length = 1 And aValues(0) = "" Then
|
||||
clsLogger.Add(" >> RunIndexing_Vektor: Indexwert ist leer/Nothing - Keine Nachindexierung", False)
|
||||
Logger.Warn("RunIndexing_Vektor: Indexwert ist leer/Nothing - Keine Nachindexierung")
|
||||
Else
|
||||
'Jetzt jeden Indexwert durchlaufen
|
||||
Dim indexname As String
|
||||
indexname = Indizes(0)
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: Indexname: " & indexname)
|
||||
Logger.Info("RunIndexing_Vektor: Indexname: " & indexname)
|
||||
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: VEKTORFELD-Indexierung: Vorbereiten des Arrays")
|
||||
Logger.Info("RunIndexing_Vektor: VEKTORFELD-Indexierung: Vorbereiten des Arrays")
|
||||
' das entsprechende Attribut aus windream auslesen
|
||||
Dim oAttribute = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, indexname)
|
||||
' den Variablentyp (String, Integer, ...) auslesen
|
||||
Dim vType = oAttribute.getVariableValue("dwAttrType")
|
||||
Select Case (vType)
|
||||
Case 4097
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4097 Vektor alphanumerisch")
|
||||
Logger.Info("Typ des windream-Indexes: 4097 Vektor alphanumerisch")
|
||||
Case 4098
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4098 Vektor Numerisch")
|
||||
Logger.Info("Typ des windream-Indexes: 4098 Vektor Numerisch")
|
||||
Case 4099
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4099 Vektor Kommazahl")
|
||||
Logger.Info("Typ des windream-Indexes: 4099 Vektor Kommazahl")
|
||||
Case 4101
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4101 Vektor Date")
|
||||
Logger.Info("Typ des windream-Indexes: 4101 Vektor Date")
|
||||
Case 4103
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4103 Vektor DateTime")
|
||||
Logger.Info("Typ des windream-Indexes: 4103 Vektor DateTime")
|
||||
Case 4107
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4107 Vektor Integer(64bit)")
|
||||
Logger.Info("Typ des windream-Indexes: 4107 Vektor Integer(64bit)")
|
||||
Case 36865
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
|
||||
Logger.Info("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
|
||||
End Select
|
||||
Dim myArray
|
||||
Dim Anzahl As Integer = aValues.Length - 1
|
||||
'Vektorfeld wird mit EINEM Wert gefüllt
|
||||
If Anzahl = 0 Then
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: Vektorfeld wird mit EINEM Wert gefüllt ")
|
||||
Logger.Info("RunIndexing_Vektor: Vektorfeld wird mit EINEM Wert gefüllt ")
|
||||
ReDim myArray(0)
|
||||
Select Case (vType)
|
||||
Case 4097
|
||||
@@ -172,9 +172,9 @@ Public Class clsWindream_Index
|
||||
Case 36865
|
||||
myArray(0) = CStr(aValues(0))
|
||||
End Select
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: Konvertierter Wert: " & myArray(0).ToString)
|
||||
Logger.Info("RunIndexing_Vektor: Konvertierter Wert: " & myArray(0).ToString)
|
||||
Else
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten gefüllt ")
|
||||
Logger.Info("RunIndexing_Vektor: Vektorfeld wird mit MEHREREN Werten gefüllt ")
|
||||
'Die Größe des Arrays festlegen
|
||||
ReDim myArray(Anzahl)
|
||||
Dim i1 As Integer = 0
|
||||
@@ -193,7 +193,7 @@ Public Class clsWindream_Index
|
||||
Try
|
||||
convertValue = CInt(wert)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddDetailLog("Wert muss in Int64 konvertiert werden")
|
||||
Logger.Info("Wert muss in Int64 konvertiert werden")
|
||||
convertValue = Convert.ToInt64(wert) 'ToInt64
|
||||
End Try
|
||||
Else
|
||||
@@ -218,20 +218,21 @@ Public Class clsWindream_Index
|
||||
End If
|
||||
'Jetzt die Nachindexierung für Vektor-Felder
|
||||
oDocument.SetVariableValue(indexname, myArray)
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: 'SetVariableValue' für VEKTOR erfolgreich")
|
||||
Logger.Info("RunIndexing_Vektor: 'SetVariableValue' für VEKTOR erfolgreich")
|
||||
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
clsLogger.AddDetailLog("RunIndexing_Vektor: Indexierung erfolgreich beendet (Save und Unlock durchgeführt)")
|
||||
Logger.Info("RunIndexing_Vektor: Indexierung erfolgreich beendet (Save und Unlock durchgeführt)")
|
||||
Return True
|
||||
End If
|
||||
Else
|
||||
clsLogger.Add(" >> RunIndexing_Vektor: Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!", True)
|
||||
Logger.Warn("RunIndexing_Vektor: Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!")
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError("## Fehler in RunIndexing_Vektor - Fehler: " & ex.Message, "RunIndexingVektor")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.AddError("## Fehler in RunIndexing_Vektor - Fehler: " & ex.Message, "RunIndexingVektor")
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return False
|
||||
@@ -247,16 +248,16 @@ Public Class clsWindream_Index
|
||||
Dim i As Integer = 0
|
||||
Dim indexname As String
|
||||
If aValues.Length = 1 And aValues(0) = "" Then
|
||||
clsLogger.AddDetailLog("Indexwert ist leer/Nothing - Keine Indexierung")
|
||||
Logger.Info("Indexwert ist leer/Nothing - Keine Indexierung")
|
||||
End If
|
||||
' wenn der Datei noch kein Dokumenttyp zugewiesen wurde
|
||||
If oDocument.aObjectType.aName <> Objekttyp Then
|
||||
' ihr den entsprechenden Dokumenttyp zuweisen
|
||||
oDocument.aObjectType = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityObjectType, Objekttyp)
|
||||
' WMObject.aObjectType = selectedProfile.Dokumenttyp
|
||||
clsLogger.AddDetailLog("Objekttyp war Standard und wurde in '" & Objekttyp & "' geändert.")
|
||||
Logger.Info("Objekttyp war Standard und wurde in '" & Objekttyp & "' geändert.")
|
||||
Else
|
||||
clsLogger.AddDetailLog("Objekttyp war bereits gesetzt")
|
||||
Logger.Info("Objekttyp war bereits gesetzt")
|
||||
End If
|
||||
|
||||
Try
|
||||
@@ -283,7 +284,7 @@ Public Class clsWindream_Index
|
||||
'If indexname = "Tournr" Then
|
||||
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
|
||||
'End If
|
||||
clsLogger.AddDetailLog("Indexierung von Index '" & indexname & "'")
|
||||
Logger.Info("Indexierung von Index '" & indexname & "'")
|
||||
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
|
||||
Dim value = aValues(i)
|
||||
Dim convertValue
|
||||
@@ -293,46 +294,46 @@ Public Class clsWindream_Index
|
||||
Select Case (vType)
|
||||
'Case WMObjectVariableValueTypeUndefined
|
||||
Case WMObjectVariableValueTypeString
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeString")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeString")
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeInteger
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
|
||||
value = value.ToString.Replace(" ", "")
|
||||
If IsNumeric(value) = False Then
|
||||
clsLogger.AddDetailLog("Achtung: Value '" & value & "' kann nicht in Zahl konvertiert werden!")
|
||||
Logger.Info("Achtung: Value '" & value & "' kann nicht in Zahl konvertiert werden!")
|
||||
End If
|
||||
|
||||
value = value.ToString.Replace(" ", "")
|
||||
convertValue = CInt(value)
|
||||
_int = True
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
|
||||
value = value.ToString.Replace(" ", "")
|
||||
convertValue = CDbl(value)
|
||||
Case WMObjectVariableValueTypeFixedPoint
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
|
||||
value = value.ToString.Replace(" ", "")
|
||||
convertValue = CDbl(value)
|
||||
_dbl = True
|
||||
Case WMObjectVariableValueTypeBoolean
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
|
||||
convertValue = CBool(value)
|
||||
_bool = True
|
||||
Case WMObjectVariableValueTypeDate
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
|
||||
_date = True
|
||||
'Dim _date As Date = value
|
||||
convertValue = value
|
||||
Case WMObjectVariableValueTypeTimeStamp
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
|
||||
convertValue = CDbl(value)
|
||||
Case WMObjectVariableValueTypeCurrency
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
|
||||
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
|
||||
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
|
||||
convertValue = aValueWrapper
|
||||
Case WMObjectVariableValueTypeTime
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeTime")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeTime")
|
||||
'If ((value)) Then
|
||||
' convertValue = CDate(value)
|
||||
'Else
|
||||
@@ -341,50 +342,50 @@ Public Class clsWindream_Index
|
||||
'Dim _date As Date = value
|
||||
convertValue = convertValue '*_date.ToShortTimeString
|
||||
Case WMObjectVariableValueTypeFloat
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeVariant
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeVariant")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeVariant")
|
||||
convertValue = CStr(value)
|
||||
Case WMObjectVariableValueTypeFulltext
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext")
|
||||
Logger.Info("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext")
|
||||
convertValue = CStr(value)
|
||||
Case 4097
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4097 Vektor alphanumerisch")
|
||||
Logger.Info("Typ des windream-Indexes: 4097 Vektor alphanumerisch")
|
||||
'Vektor alphanumerisch
|
||||
vektor = True
|
||||
Case 4098
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4098 Vektor Numerisch")
|
||||
Logger.Info("Typ des windream-Indexes: 4098 Vektor Numerisch")
|
||||
'Vektor Numerisch
|
||||
vektor = True
|
||||
Case 4099
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4099 Vektor Kommazahl")
|
||||
Logger.Info("Typ des windream-Indexes: 4099 Vektor Kommazahl")
|
||||
'Vektor Kommazahl
|
||||
vektor = True
|
||||
Case 4101
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4101 Vektor Date")
|
||||
Logger.Info("Typ des windream-Indexes: 4101 Vektor Date")
|
||||
'Vektor Kommazahl
|
||||
vektor = True
|
||||
Case 4103
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4103 Vektor DateTime")
|
||||
Logger.Info("Typ des windream-Indexes: 4103 Vektor DateTime")
|
||||
'Vektor DateTime
|
||||
vektor = True
|
||||
Case 4107
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 4107 Integer 64bit")
|
||||
Logger.Info("Typ des windream-Indexes: 4107 Integer 64bit")
|
||||
vektor = True
|
||||
Case 36865
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
|
||||
Logger.Info("Typ des windream-Indexes: 36865 Vektor alphanumerisch")
|
||||
'Vektor Kommazahl
|
||||
vektor = True
|
||||
Case Else
|
||||
clsLogger.AddDetailLog("Typ des windream-Indexes konnte nicht bestimmt werden!")
|
||||
clsLogger.AddDetailLog("Versuch des Auslesens (vType): " & vType)
|
||||
Logger.Info("Typ des windream-Indexes konnte nicht bestimmt werden!")
|
||||
Logger.Info("Versuch des Auslesens (vType): " & vType)
|
||||
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
|
||||
convertValue = ""
|
||||
End Select
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: '" & convertValue.ToString & "'")
|
||||
Logger.Info("Konvertierter Wert: '" & convertValue.ToString & "'")
|
||||
End If
|
||||
End If
|
||||
'############################################################################################
|
||||
@@ -392,7 +393,7 @@ Public Class clsWindream_Index
|
||||
'############################################################################################
|
||||
If vektor = False Then
|
||||
If convertValue.ToString Is Nothing = False Then
|
||||
clsLogger.AddDetailLog("Versuch dem Dok einen Index zuzuweisen: oDocument.SetVariableValue(" & aName & ", " & convertValue & ")")
|
||||
Logger.Info("Versuch dem Dok einen Index zuzuweisen: oDocument.SetVariableValue(" & aName & ", " & convertValue & ")")
|
||||
If _int = True Then
|
||||
convertValue = convertValue.ToString.Replace(" ", "")
|
||||
oDocument.SetVariableValue(aName, CInt(convertValue))
|
||||
@@ -406,15 +407,13 @@ Public Class clsWindream_Index
|
||||
Else
|
||||
oDocument.SetVariableValue(aName, convertValue)
|
||||
End If
|
||||
|
||||
clsLogger.Add(" >> Index '" & aName & "' wurde geschrieben", False)
|
||||
clsLogger.Add("", False)
|
||||
Logger.Info("Index '" & aName & "' wurde geschrieben")
|
||||
Else
|
||||
clsLogger.Add(" >> Kein Indexwert vorhanden", False)
|
||||
Logger.Warn("Kein Indexwert vorhanden")
|
||||
End If
|
||||
Else
|
||||
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
|
||||
clsLogger.AddDetailLog("VEKTORFELD: Vorbereiten des Arrays")
|
||||
Logger.Info("VEKTORFELD: Vorbereiten des Arrays")
|
||||
|
||||
Dim myArray()
|
||||
'Dim DS As DataSet
|
||||
@@ -440,7 +439,7 @@ Public Class clsWindream_Index
|
||||
Dim Anzahl As Integer = aValues.Length
|
||||
'Vektorfeld wird mit EINEM Wert gefüllt
|
||||
If Anzahl = 1 Then
|
||||
clsLogger.AddDetailLog("Vektorfeld wird mit EINEM Wert gefüllt ")
|
||||
Logger.Info("Vektorfeld wird mit EINEM Wert gefüllt ")
|
||||
ReDim myArray(0)
|
||||
Select Case vType
|
||||
Case 36865
|
||||
@@ -470,9 +469,9 @@ Public Class clsWindream_Index
|
||||
'Umwandeln in String
|
||||
myArray(0) = CStr(value)
|
||||
End Select
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: " & myArray(0).ToString)
|
||||
Logger.Info("Konvertierter Wert: " & myArray(0).ToString)
|
||||
Else
|
||||
clsLogger.AddDetailLog("Vektorfeld wird mit MEHREREN Werten gefüllt ")
|
||||
Logger.Info("Vektorfeld wird mit MEHREREN Werten gefüllt ")
|
||||
Select Case vType
|
||||
Case 36865
|
||||
'Vektortyp ALPHANUMERISCH
|
||||
@@ -482,12 +481,12 @@ Public Class clsWindream_Index
|
||||
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each NewValue As Object In aValues
|
||||
myArray(i1) = CStr(NewValue)
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
For Each NewValue As Object In aValues
|
||||
myArray(i1) = CStr(NewValue)
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4097
|
||||
@@ -498,7 +497,7 @@ Public Class clsWindream_Index
|
||||
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each NewValue As Object In aValues
|
||||
myArray(i1) = CStr(NewValue)
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4107
|
||||
@@ -518,7 +517,7 @@ Public Class clsWindream_Index
|
||||
For Each NewValue As Object In aValues
|
||||
Dim v As String = NewValue.ToString.Replace(" ", "")
|
||||
myArray(i1) = CInt(v)
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4099
|
||||
@@ -531,7 +530,7 @@ Public Class clsWindream_Index
|
||||
Dim Str As String = NewValue
|
||||
Str = Str.ToString.Replace(" ", "")
|
||||
myArray(i1) = CDbl(Str.Replace(".", ","))
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
Case 4101
|
||||
@@ -543,7 +542,7 @@ Public Class clsWindream_Index
|
||||
For Each NewValue As Object In aValues
|
||||
Dim Str As String = NewValue.ToString
|
||||
myArray(i1) = CDate(Str.Replace(".", ","))
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
|
||||
Next
|
||||
@@ -555,17 +554,17 @@ Public Class clsWindream_Index
|
||||
'Die Datatable durchlaufen und Werte für den Index in Array schreiben
|
||||
For Each NewValue As Object In aValues
|
||||
myArray(i1) = CStr(NewValue)
|
||||
clsLogger.AddDetailLog("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
Logger.Info("Konvertierter Wert: (" & i1 & ")" & myArray(i1).ToString)
|
||||
i1 = i1 + 1
|
||||
Next
|
||||
End Select
|
||||
End If
|
||||
'Jetzt die Nachindexierung für Vektor-Felder
|
||||
oDocument.SetVariableValue(aName, myArray)
|
||||
clsLogger.AddDetailLog("'SetVariableValue' für VEKTOR erfolgreich")
|
||||
Logger.Info("'SetVariableValue' für VEKTOR erfolgreich")
|
||||
End If
|
||||
Else
|
||||
clsLogger.AddDetailLog("Array der Indexwerte ist leer/Nothing - Keine Nachindexierung")
|
||||
Logger.Info("Array der Indexwerte ist leer/Nothing - Keine Nachindexierung")
|
||||
End If
|
||||
i += 1
|
||||
|
||||
@@ -577,19 +576,20 @@ Public Class clsWindream_Index
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
|
||||
clsLogger.AddDetailLog("Indexierung erfolgreich beendet (Save und Unlock durchgeführt)")
|
||||
clsLogger.AddDetailLog("")
|
||||
Logger.Info("Indexierung erfolgreich beendet (Save und Unlock durchgeführt)")
|
||||
Logger.Info("")
|
||||
|
||||
|
||||
Return False
|
||||
Else
|
||||
clsLogger.Add(" >> Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!", False)
|
||||
Logger.Warn("Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!")
|
||||
'oDocument.unlock()
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "ClassSearchResult.RunIndexing")
|
||||
Logger.Error(ex)
|
||||
'clsLogger.AddError(ex.Message, "ClassSearchResult.RunIndexing")
|
||||
oDocument.Save()
|
||||
oDocument.unlock()
|
||||
Return True
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
|
||||
<package id="NLog" version="4.5.8" targetFramework="net461" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user