MS VErknüpfungen und Licenses

This commit is contained in:
SchreiberM 2020-05-06 12:55:11 +02:00
parent 5d09cb4db0
commit 3753cab8a6
13 changed files with 367 additions and 280 deletions

View File

@ -94,7 +94,7 @@ Public Class ClassNIEmail
End Try End Try
'######### '#########
Dim empfaenger As String() Dim empfaenger As String()
Dim EMAIL_EMP As String = "support@didalog.de" Dim EMAIL_EMP As String = "support-flow@digitaldata.works"
'If EMAIL_EMP.Contains(";") Then 'If EMAIL_EMP.Contains(";") Then
empfaenger = EMAIL_EMP.Split(";") empfaenger = EMAIL_EMP.Split(";")
'Else 'Else
@ -104,11 +104,11 @@ Public Class ClassNIEmail
'Für jeden Empfänger eine Neue Mail erzeugen 'Für jeden Empfänger eine Neue Mail erzeugen
For Each _mailempfaenger As String In empfaenger For Each _mailempfaenger As String In empfaenger
' Neue Nachricht erzeugen: ' Neue Nachricht erzeugen:
Dim message As New MailMessage("alarm@didalog.de", _mailempfaenger, "Tool Collection - Critical Error - Domain: " & Environment.UserDomainName, _ Dim message As New MailMessage("support-flow@digitaldata.works", _mailempfaenger, "Tool Collection - Urgent Error - Domain: " & Environment.UserDomainName,
"<font face=""Arial"">" & vBody & "<br>>> Maschine: " & Environment.MachineName & _ "<font face=""Arial"">" & vBody & "<br>>> Machine: " & Environment.MachineName &
"<br>Kunde: " & frmStart._company & "<br>" & _ "<br>Kunde: " & frmStart._company & "<br>" &
"<br>Domain-Name: " & Environment.UserDomainName & "<br>" & _ "<br>Domain: " & Environment.UserDomainName & "<br>" &
"<br>Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" & _ "<br>Send-Time: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" &
My.Computer.Clock.LocalTime.ToLongTimeString & "</font>") My.Computer.Clock.LocalTime.ToLongTimeString & "</font>")
@ -121,7 +121,7 @@ Public Class ClassNIEmail
'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen 'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen
Dim emailClient As New SmtpClient("mail.triplew.de") Dim emailClient As New SmtpClient("mail.triplew.de")
'Email mit Authentifizierung 'Email mit Authentifizierung
Dim SMTPUserInfo As New System.Net.NetworkCredential("alarm@didalog.de", "ddemail72") Dim SMTPUserInfo As New System.Net.NetworkCredential("support-flow@digitaldata.works", "ddemail105")
emailClient.UseDefaultCredentials = False emailClient.UseDefaultCredentials = False
emailClient.Credentials = SMTPUserInfo emailClient.Credentials = SMTPUserInfo
emailClient.Port = My.Settings.vemailPort emailClient.Port = My.Settings.vemailPort

View File

@ -173,7 +173,7 @@
''' </summary> ''' </summary>
''' <returns></returns> ''' <returns></returns>
''' <remarks></remarks> ''' <remarks></remarks>
Public Function Save(ByVal msg As Boolean) Public Function Save(ByVal msg As Boolean, item As String)
Try Try
' wenn das Profil nicht gespeichert ist ' wenn das Profil nicht gespeichert ist
@ -288,7 +288,7 @@
' Profil auf gespeichert setzen ' Profil auf gespeichert setzen
Me._saved = True Me._saved = True
If msg = True Then MsgBox("Das Profil '" & Me._originalProfilname & "' wurde erfolgreich gespeichert.", MsgBoxStyle.Information, "Profil gespeichert") If msg = True And item = "profile" Then MsgBox("Das Profil '" & Me._originalProfilname & "' wurde erfolgreich gespeichert.", MsgBoxStyle.Information, "Profil gespeichert")
Return True Return True
Else Else

View File

@ -45,7 +45,7 @@
End Function End Function
Public Function Save_DB_Link(ByVal profilname As String) Public Function Save_DB_Link(ByVal profilname As String)
' wenn ein Profilname für dieses Profil gesetzt ist ' wenn ein Profilname für dieses Profil gesetzt ist
If Me.SelectAnweisung.ToLower.StartsWith("select") Or (Me.SelectAnweisung.StartsWith("(") And Me.SelectAnweisung.EndsWith("])")) Or Me.Spalte.StartsWith("%") And Me.Spalte.EndsWith("%") Then If Me.SelectAnweisung.ToLower.Contains("select") Then
'If Me.SelectAnweisung IsNot Nothing And Me.SelectAnweisung.StartsWith("SELECT [%spalte] FROM [%view] WHERE ") And Me.SelectAnweisung.Length > "SELECT [%spalte] FROM [%view] WHERE ".Length Then 'If Me.SelectAnweisung IsNot Nothing And Me.SelectAnweisung.StartsWith("SELECT [%spalte] FROM [%view] WHERE ") And Me.SelectAnweisung.Length > "SELECT [%spalte] FROM [%view] WHERE ".Length Then
Dim xml As New Xml.XmlDocument() Dim xml As New Xml.XmlDocument()
Dim xmlProfil As Xml.XmlElement Dim xmlProfil As Xml.XmlElement
@ -71,7 +71,8 @@
Return True Return True
End If End If
Else Else
Return True MsgBox("Command must at least contain a 'select' to verify and store!", MsgBoxStyle.Exclamation, "No Saving possible!")
Return False
'If Me.SelectAnweisung.Contains("=") = False Or Me.SelectAnweisung.Contains("where") = False Then 'If Me.SelectAnweisung.Contains("=") = False Or Me.SelectAnweisung.Contains("where") = False Then
' MsgBox("Die Verknüpfung konnte nicht gespeichert werden weil weder ein '=' oder 'where' vorhanden sind. Bitte überprüfen Sie die Verknüpfung " & Me.Index & " <-> " & Me.Spalte & " (in " & Me.From & ").", MsgBoxStyle.Information, "Verknüpfung konnte nicht gespeichert werden") ' MsgBox("Die Verknüpfung konnte nicht gespeichert werden weil weder ein '=' oder 'where' vorhanden sind. Bitte überprüfen Sie die Verknüpfung " & Me.Index & " <-> " & Me.Spalte & " (in " & Me.From & ").", MsgBoxStyle.Information, "Verknüpfung konnte nicht gespeichert werden")
'Else 'Else

View File

@ -0,0 +1,4 @@
Module ModuleSettings
Public LICENSE_MoveRename As Boolean
Public LICENSE_AD As Boolean
End Module

View File

@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.0.7")> <Assembly: AssemblyVersion("2.3.1.0")>
<Assembly: AssemblyFileVersion("1.5.1.0")> <Assembly: AssemblyFileVersion("1.5.1.0")>

View File

@ -95,7 +95,8 @@
<Reference Include="DigitalData.Modules.Filesystem"> <Reference Include="DigitalData.Modules.Filesystem">
<HintPath>..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging"> <Reference Include="DigitalData.Modules.Logging, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference> </Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
@ -406,6 +407,7 @@
</Compile> </Compile>
<Compile Include="modSaveTreeView.vb" /> <Compile Include="modSaveTreeView.vb" />
<Compile Include="ModuleCURRENT.vb" /> <Compile Include="ModuleCURRENT.vb" />
<Compile Include="ModuleSettings.vb" />
<Compile Include="ModuleStopwatch.vb" /> <Compile Include="ModuleStopwatch.vb" />
<Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb"> <Compile Include="My Project\Application.Designer.vb">

View File

@ -27,8 +27,6 @@ Public Class frmDIHauptseite
Return _Instance Return _Instance
End Function End Function
Public Sub New() Public Sub New()
Try Try
' Dieser Aufruf ist für den Designer erforderlich. ' Dieser Aufruf ist für den Designer erforderlich.
@ -432,10 +430,17 @@ Public Class frmDIHauptseite
Else Else
Me.ImportFileList = My.Computer.FileSystem.GetFiles(Me.selectedProfile.OriginalQuellordner, FileIO.SearchOption.SearchTopLevelOnly, "*.*") Me.ImportFileList = My.Computer.FileSystem.GetFiles(Me.selectedProfile.OriginalQuellordner, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
End If End If
Me.TBTC_DI_REGEX_MATCHTableAdapter.Connection.ConnectionString = My.Settings.DDECMConString Dim oError As Boolean = False
Me.TBTC_DI_REGEX_MATCHTableAdapter.Fill(Me.MyDataset.TBTC_DI_REGEX_MATCH, Me.selectedProfile.OriginalProfilname) Try
Me.TBTC_DI_REGEX_MATCHTableAdapter.Connection.ConnectionString = My.Settings.DDECMConString
Me.TBTC_DI_REGEX_MATCHTableAdapter.Fill(Me.MyDataset.TBTC_DI_REGEX_MATCH, Me.selectedProfile.OriginalProfilname)
Catch ex As Exception
ClassLoggerDI.Add("Error while connecting via My.Settings.DDECMConString: " + ex.Message)
oError = True
End Try
If Me.ImportFileList IsNot Nothing Then
If Me.ImportFileList IsNot Nothing And oError = False Then
Me.CountFilesImported = 0 Me.CountFilesImported = 0
If Durchlauf = True Then If Durchlauf = True Then
Me.CountFiles2Import = Gesamtfiles Me.CountFiles2Import = Gesamtfiles
@ -669,7 +674,19 @@ Public Class frmDIHauptseite
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" >> Stream war erfolgreich", False) If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" >> Stream war erfolgreich", False)
If Me.selectedProfile.DateiLöschen Then If Me.selectedProfile.DateiLöschen Then
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei soll gelöscht werden: " & bgwQuelldatei, False) If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei soll gelöscht werden: " & bgwQuelldatei, False)
My.Computer.FileSystem.DeleteFile(Me.bgwQuelldatei) Try
My.Computer.FileSystem.DeleteFile(Me.bgwQuelldatei)
Catch ex As Exception
Try
Dim opath = Path.GetDirectoryName(Me.bgwQuelldatei) & "\Delete_Error"
Dim oFilename = Path.GetFileName(Me.bgwQuelldatei)
File.Move(Me.bgwQuelldatei, opath & "\" & oFilename)
Catch ex1 As Exception
ClassLoggerDI.Add("## Unbehandelter Fehler FileMove after NoDelete : " & ex.Message, False)
End Try
End Try
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei wurde gelöscht", False) If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" - Datei wurde gelöscht", False)
End If End If
@ -2069,6 +2086,15 @@ Public Class frmDIHauptseite
wert = wert.ToString.Replace(".", ",") wert = wert.ToString.Replace(".", ",")
temp_arr.Add(CDbl(wert)) temp_arr.Add(CDbl(wert))
Next Next
Case 4100
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4100 (Boolean)", False)
If count_Values = 1 Then
temp_arr.Add(CBool(werte))
Else
For Each wert As Object In werte
temp_arr.Add(CBool(wert))
Next
End If
Case 4101 Case 4101
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4101 Date", False) If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4101 Date", False)
For Each wert As Object In werte For Each wert As Object In werte

View File

@ -256,17 +256,23 @@ Public Class frmDIProfilEigenschaften
End Sub End Sub
Private Sub btnHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHinzufügen.Click Private Sub btnHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHinzufügen.Click
Try
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Select Case license.Modulename.ToUpper
Case "DATEIIMPORT"
If Prof_Anzahl + 1 > license.Anz_Profile Then
MsgBox("Die Maximalanzahl der lizensierten Dateiimport-Profile (" & license.Anz_Profile.ToString & ") ist erreicht!", MsgBoxStyle.Exclamation, "Achtung - Lizenzfehler:")
Exit Sub
End If
End Select
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses() Next
Select Case license.Modulename.ToUpper Catch ex As Exception
Case "DATEIIMPORT" If My.Settings.licensekey <> "DD MaxLicense" Then
If Prof_Anzahl + 1 > license.Anz_Profile Then MsgBox("Error Adding Profile due to license issue!", MsgBoxStyle.Critical)
MsgBox("Die Maximalanzahl der lizensierten Dateiimport-Profile (" & license.Anz_Profile.ToString & ") ist erreicht!", MsgBoxStyle.Exclamation, "Achtung - Lizenzfehler:") End If
Exit Sub End Try
End If
End Select
Next
' das Formular zum Erstellen eines neuen Profil öffnen ' das Formular zum Erstellen eines neuen Profil öffnen
frmLogin_DI.ShowDialog() frmLogin_DI.ShowDialog()
'frmDIProfilHinzufuegen.ShowDialog() 'frmDIProfilHinzufuegen.ShowDialog()

View File

@ -18,36 +18,44 @@ Public Class frmLizenzmanager
Me.lvLicense.Items.Clear() Me.lvLicense.Items.Clear()
If Not Me.txtKey.Text = "" Then If Not Me.txtKey.Text = "" Then
Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(Me.txtKey.Text) If Me.txtKey.Text = "DD MaxLicense" Then
Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString) Me.txtCompany.Text = "Digital Data"
Me.licenseManager.LoadLicenses() Me.txtmachine.Text = "None"
Else
Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(Me.txtKey.Text)
Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString)
Me.licenseManager.LoadLicenses()
Dim i As Integer = 0 Dim i As Integer = 0
If Me.licenseManager.Licenses.Licenses IsNot Nothing Then If Me.licenseManager.Licenses.Licenses IsNot Nothing Then
Me.txtCompany.Text = Me.licenseManager.Licenses.Company Me.txtCompany.Text = Me.licenseManager.Licenses.Company
Me.txtmachine.Text = Me.licenseManager.Licenses.machine Me.txtmachine.Text = Me.licenseManager.Licenses.machine
Me.lvLicense.Items.Clear() Me.lvLicense.Items.Clear()
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses() For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Dim expires As String = license.Expires.Date Dim expires As String = license.Expires.Date
Dim type As String = license.Type Dim type As String = license.Type
Dim anzProf As String = license.Anz_Profile Dim anzProf As String = license.Anz_Profile
If anzProf = 99 Then If anzProf = 99 Then
anzProf = "Unlimited" anzProf = "Unlimited"
End If End If
'Date.TryParse(expires, license.Expires) 'Date.TryParse(expires, license.Expires)
If Not expires = "" Then If Not expires = "" Then
Me.lvLicense.Items.Add(license.Modulename) Me.lvLicense.Items.Add(license.Modulename)
' MsgBox(license.Modulename) ' MsgBox(license.Modulename)
Dim test = Me.lvLicense.Items.Item(i) Dim test = Me.lvLicense.Items.Item(i)
Me.lvLicense.Items(i).SubItems.Add(expires) Me.lvLicense.Items(i).SubItems.Add(expires)
lvLicense.Items(i).SubItems.Add(type) lvLicense.Items(i).SubItems.Add(type)
lvLicense.Items(i).SubItems.Add(anzProf) lvLicense.Items(i).SubItems.Add(anzProf)
i += 1 i += 1
End If End If
Next Next
End If
End If End If
End If End If
End Sub End Sub

View File

@ -33,7 +33,6 @@ Public Class frmNIHauptseite
Private oNiArrayIndexe() As String = Nothing ' zum Speichern der Indexe Private oNiArrayIndexe() As String = Nothing ' zum Speichern der Indexe
Private oNiArrayValues() As String = Nothing ' zum Speichern der Werte Private oNiArrayValues() As String = Nothing ' zum Speichern der Werte
Public _MRDokumentart, _MRKundenKennzeichen, _MRDeskrIndex As String Public _MRDokumentart, _MRKundenKennzeichen, _MRDeskrIndex As String
Private _MRlicense As Boolean = False
Public Shared _MRKONVERT_FEHLER As Integer = 0 Public Shared _MRKONVERT_FEHLER As Integer = 0
Private windreamSucheErgebnisse As WMObjects Private windreamSucheErgebnisse As WMObjects
@ -120,7 +119,7 @@ Public Class frmNIHauptseite
End Sub End Sub
Private Sub frmNIHauptseite_Load(sender As Object, e As System.EventArgs) Handles Me.Load Private Sub frmNIHauptseite_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Try Try
LoadAllModules() 'LoadAllModules()
TBTC_MOVE_RENAMETableAdapter.Connection.ConnectionString = My.Settings.DDECMConString TBTC_MOVE_RENAMETableAdapter.Connection.ConnectionString = My.Settings.DDECMConString
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei frmNIHauptseite_Load") MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei frmNIHauptseite_Load")
@ -151,43 +150,44 @@ Public Class frmNIHauptseite
' Return Nothing ' Return Nothing
' End Select ' End Select
'End Function 'End Function
Public Sub LoadAllModules() 'Public Sub LoadAllModules()
Me._validModules = Nothing ' Me._validModules = Nothing
If Not My.Settings.licensekey = "" Then ' If Not My.Settings.licensekey = "" Then
'Me.licenseManager = New ClassLicenseManager = Nothing ' 'Me.licenseManager = New ClassLicenseManager = Nothing
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey) ' Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(My.Settings.licensekey) ' Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(My.Settings.licensekey)
Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString) ' Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString)
Me.licenseManager.LoadLicenses() ' Me.licenseManager.LoadLicenses()
Dim i As Integer = 0 ' Dim i As Integer = 0
If Me.licenseManager.Licenses.Licenses IsNot Nothing Then ' If Me.licenseManager.Licenses.Licenses IsNot Nothing Then
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses() ' For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Dim expires As String = license.Expires.Date ' Dim expires As String = license.Expires.Date
If IsExpired(license.Expires.Date) = False Then ' If IsExpired(license.Expires.Date) = False Then
' MsgBox(license.Modulename & vbNewLine & expires) ' ' MsgBox(license.Modulename & vbNewLine & expires)
Select Case license.Modulename.ToUpper ' Select Case license.Modulename.ToUpper
Case "MOVEANDRENAME" ' Case "MOVEANDRENAME"
_MRlicense = True ' LICENSE_MoveRename = True
End Select ' _Logger.Info("LICENSE MoveandRename aktiv")
i += 1 ' End Select
Else ' i += 1
Select Case license.Modulename ' Else
Case "MOVEANDRENAME" ' Select Case license.Modulename
_MRlicense = False ' Case "MOVEANDRENAME"
End Select ' LICENSE_MoveRename = False
i += 1 ' End Select
End If ' i += 1
'Date.TryParse(expires, license.Expires) ' End If
' 'Date.TryParse(expires, license.Expires)
Next ' Next
End If ' End If
End If ' End If
End Sub 'End Sub
Private Function IsExpired(ByVal _Date As Date) Private Function IsExpired(ByVal _Date As Date)
If Date.Today > _Date Then If Date.Today > _Date Then
Return True Return True
@ -318,7 +318,7 @@ Public Class frmNIHauptseite
bwProfil.ReportProgress(-3) bwProfil.ReportProgress(-3)
' Ausgabe an Logdatei über nächstes Profil ' Ausgabe an Logdatei über nächstes Profil
_Logger.Debug("########################################################")
_Logger.Debug("Starte Durchlauf für Profil: " & profil.Profilname & " - " & Now) _Logger.Debug("Starte Durchlauf für Profil: " & profil.Profilname & " - " & Now)
' Überprüfen ob Profil aktiv oder inaktiv ' Überprüfen ob Profil aktiv oder inaktiv
@ -360,9 +360,9 @@ Public Class frmNIHauptseite
If minutes >= 2 Then If minutes >= 2 Then
Select Case minutes Select Case minutes
Case 3 Case 3
_Logger.Warn("Die Ausführung der Suche dauerte zu lange MinutesSinceRunWD-Search: " & minutes.ToString) _Logger.Warn($"Die Ausführung der Suche [{Me.aktivesProfil.WindreamSuche}] dauerte zu lange - MinutesSinceRunWD-Search: " & minutes.ToString)
_Logger.Warn("Die Nachindexierung wird abgebrochen und läuft wieder im Intervall an!") _Logger.Warn("Die Nachindexierung wird abgebrochen und läuft wieder im Intervall an!")
ClassNIEmail.Send_Urgent("Achtung - die Ausführung der Suche: " & Me.aktivesProfil.WindreamSuche & " dauerte viel zu lange! <p> Prüfen Sie schnellst möglich die Client-Konfiguration") 'ClassNIEmail.Send_Urgent("Achtung - die Ausführung der Suche: " & Me.aktivesProfil.WindreamSuche & " dauerte viel zu lange! <p> Prüfen Sie schnellst möglich die Client-Konfiguration")
Abbruch_NI("Abbruch nach Timeout Suche", False, True) Abbruch_NI("Abbruch nach Timeout Suche", False, True)
CURRENT_STATE = "Abbruch Timeout" CURRENT_STATE = "Abbruch Timeout"
Exit Sub Exit Sub
@ -405,7 +405,7 @@ Public Class frmNIHauptseite
Else Else
_Logger.Debug("NachbearbeitungAD inaktiv") _Logger.Debug("NachbearbeitungAD inaktiv")
End If End If
_Logger.Debug($"...Row 397...")
If _Fehler = False Then If _Fehler = False Then
'profil() 'profil()
' nun Profilabhängige Parameter laden ' nun Profilabhängige Parameter laden
@ -833,97 +833,105 @@ Public Class frmNIHauptseite
If IsNothing(Me.aktivesProfil.Verknüpfungen.Links) = False And oUnexpectedError = False And unvollstaendig = False And Me.aktivesProfil.Ni_Art.ToLower <> "fulltext" Then If IsNothing(Me.aktivesProfil.Verknüpfungen.Links) = False And oUnexpectedError = False And unvollstaendig = False And Me.aktivesProfil.Ni_Art.ToLower <> "fulltext" Then
' alle Verknüpfungen/Links des aktuellen Suchergebnisses durchlaufen ' alle Verknüpfungen/Links des aktuellen Suchergebnisses durchlaufen
Dim ocounter As Integer = 0
For Each INDEX_SQL_BEFEHL As ClassNIVerknüpfung In Me.aktivesProfil.Verknüpfungen.Links For Each INDEX_SQL_BEFEHL As ClassNIVerknüpfung In Me.aktivesProfil.Verknüpfungen.Links
ocounter += 1
_Logger.Debug($"### For each Verknüpfung [{ocounter}]...###")
'Regulären Ausdruck zum Auslesen der windream-Indexe definieren 'Regulären Ausdruck zum Auslesen der windream-Indexe definieren
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
' SQL-String für aktuelle Verknüpfung laden ' SQL-String für aktuelle Verknüpfung laden
Dim oSqlCommand As String = INDEX_SQL_BEFEHL.SelectAnweisung Dim oSqlCommand As String = INDEX_SQL_BEFEHL.SelectAnweisung
'Ersetzen des Dateinamens - für CURSOR NachindexierungPr If Len(oSqlCommand) > 0 Then
If oSqlCommand.Contains("[DATEINAME]") Then 'Ersetzen des Dateinamens - für CURSOR NachindexierungPr
oSqlCommand = oSqlCommand.Replace("[DATEINAME]", dokument.aName) If oSqlCommand.Contains("[DATEINAME]") Then
End If oSqlCommand = oSqlCommand.Replace("[DATEINAME]", dokument.aName)
If oSqlCommand.Contains("[FULLNAME]") Then End If
oSqlCommand = oSqlCommand.Replace("[FULLNAME]", My.Settings.MRWD_Laufwerk & ":" & dokument.aPath) If oSqlCommand.Contains("[FULLNAME]") Then
End If oSqlCommand = oSqlCommand.Replace("[FULLNAME]", My.Settings.MRWD_Laufwerk & ":" & dokument.aPath)
If oSqlCommand.Contains("[%DOCFilename]") Then
oSqlCommand = oSqlCommand.Replace("[%DOCFilename]", dokument.aName)
End If
If oSqlCommand.Contains("[%DOCFilenameoE]") Then
Dim Filename As String = aktivesDokument.aName.ToString.Substring(0, aktivesDokument.aName.LastIndexOf("."))
oSqlCommand = oSqlCommand.Replace("[%DOCFilenameoE]", Path.GetFileNameWithoutExtension(Filename))
End If
If oSqlCommand.Contains("[%DOCPath]") Then
oSqlCommand = oSqlCommand.Replace("[FULLNAME]", Path.GetDirectoryName(My.Settings.vWLaufwerk & ":" & dokument.aPath))
End If
If oSqlCommand.Contains("[%DATENow]") Then
oSqlCommand = oSqlCommand.Replace("[%DATENow]", Now.ToShortDateString)
End If
If oSqlCommand.Contains("[%DOCFULLPATH]") Then
oSqlCommand = oSqlCommand.Replace("[%DOCFULLPATH]", My.Settings.MRWD_Laufwerk & ":" & dokument.aPath)
End If
' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
' die Vorkommen im SQL-String auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(oSqlCommand)
' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
' wenn es sich nicht um die Spalten- oder Viewangabe handelt (es sollen ja nur die Indexe ausgelesen werden)
If Not element.Value.ToUpper = "[%SPALTE]" And Not element.Value.ToUpper = "[%VIEW]" Then
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
Dim idxName_ohneSonderzeichen As String = element.Value.Substring(2, element.Value.Length - 3)
Try
' den Wert des deskriptiven Indexes für das aktuelle Dokument auslesen
IndexwertAusWindream = dokument.GetVariableValue(idxName_ohneSonderzeichen)
If element.ToString = aktivesProfil.Desk_windreamIndex Then
eindeutigerWertausWindream = IndexwertAusWindream
End If
Catch ex As Exception
_Logger.Error(ex)
' wenn ein Fehler aufgetreten ist, muss das Flag gesetzt werden
result &= vbNewLine & " - Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "'"
oUnexpectedError = True
fehlermsg &= vbNewLine & "Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "' - Fehler: " & ex.Message
If My.Settings.vNIMailsenden = True Then
email.Send_EMail("Beim Indexieren der Datei " & dokument.aName.ToString & " ist ein Fehler aufgetreten (GetVariableValue bei Auslesen des einschränkenden Wertes): " & ex.Message)
End If
End Try
' wenn beim Auslesen des Wertes für den aktuellen windream-Index kein Fehler auftrat
' und die Abfrage ein Ergebnis zurück gab
If IndexwertAusWindream Is Nothing And Not oUnexpectedError Then
' IndexwertAusWindream ist Nothing (idxName_ohneSonderzeichen)
_Logger.Warn("ACHTUNG: der einschränkende Wert aus Windream für Index '" & idxName_ohneSonderzeichen & "' ist EMPTY oder NOTHING")
_Logger.Warn("SQL-String bisher: " & oSqlCommand)
' wenn die Abfrage in windream kein Ergebnis gab, muss das error_in_Indexierungflag gesetzt werden
oUnexpectedError = True
Else
' den Platzhalter im SQL-String durch den Wert ersetzen
oSqlCommand = oSqlCommand.Replace(element.Value, IndexwertAusWindream.ToString)
_Logger.Debug("SqlString.Replace(" & element.Value & ", " & IndexwertAusWindream.ToString)
End If
Else ' wenn es sich um den Platzhalter für die Spalte bzw. den View handelt
' wenn es sich um den Platzhalter für die Spalte handelt
If element.Value.ToUpper = "[%SPALTE]" Then
' den Platzhalter für die auszulesende Spalte durch den Spaltennamen ersetzen
oSqlCommand = oSqlCommand.Replace(element.Value, INDEX_SQL_BEFEHL.Spalte)
ElseIf element.Value.ToUpper = "[%VIEW]" Then
' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
oSqlCommand = oSqlCommand.Replace(element.Value, INDEX_SQL_BEFEHL.From)
End If
End If End If
Next ' zum nächsten Wert in der SQL-Anweisung gehen If oSqlCommand.Contains("[%DOCFilename]") Then
result &= vbNewLine & " " & oSqlCommand oSqlCommand = oSqlCommand.Replace("[%DOCFilename]", dokument.aName)
End If
If oSqlCommand.Contains("[%DOCFilenameoE]") Then
Dim Filename As String = aktivesDokument.aName.ToString.Substring(0, aktivesDokument.aName.LastIndexOf("."))
oSqlCommand = oSqlCommand.Replace("[%DOCFilenameoE]", Path.GetFileNameWithoutExtension(Filename))
End If
If oSqlCommand.Contains("[%DOCPath]") Then
oSqlCommand = oSqlCommand.Replace("[FULLNAME]", Path.GetDirectoryName(My.Settings.vWLaufwerk & ":" & dokument.aPath))
End If
If oSqlCommand.Contains("[%DATENow]") Then
oSqlCommand = oSqlCommand.Replace("[%DATENow]", Now.ToShortDateString)
End If
If oSqlCommand.Contains("[%DOCFULLPATH]") Then
oSqlCommand = oSqlCommand.Replace("[%DOCFULLPATH]", My.Settings.MRWD_Laufwerk & ":" & dokument.aPath)
End If
_Logger.Debug($"oSqlCommand after Replace 1([{oSqlCommand}])")
' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
' die Vorkommen im SQL-String auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(oSqlCommand)
' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
' wenn es sich nicht um die Spalten- oder Viewangabe handelt (es sollen ja nur die Indexe ausgelesen werden)
If Not element.Value.ToUpper = "[%SPALTE]" And Not element.Value.ToUpper = "[%VIEW]" Then
' die Zeichen [% und ] entfernen (liefert den wirklichen windream-Index)
Dim idxName_ohneSonderzeichen As String = element.Value.Substring(2, element.Value.Length - 3)
_Logger.Debug("### Working on Index(" & idxName_ohneSonderzeichen & ")...###")
Try
' den Wert des deskriptiven Indexes für das aktuelle Dokument auslesen
IndexwertAusWindream = dokument.GetVariableValue(idxName_ohneSonderzeichen)
If element.ToString = aktivesProfil.Desk_windreamIndex Then
eindeutigerWertausWindream = IndexwertAusWindream
End If
Catch ex As Exception
_Logger.Error(ex)
' wenn ein Fehler aufgetreten ist, muss das Flag gesetzt werden
result &= vbNewLine & " - Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "'"
oUnexpectedError = True
fehlermsg &= vbNewLine & "Schwerwiegender Fehler bei Auslesen des einschränkenden Wertes aus Index':" & idxName_ohneSonderzeichen & "' - Fehler: " & ex.Message
If My.Settings.vNIMailsenden = True Then
email.Send_EMail("Beim Indexieren der Datei " & dokument.aName.ToString & " ist ein Fehler aufgetreten (GetVariableValue bei Auslesen des einschränkenden Wertes): " & ex.Message)
End If
End Try
' wenn beim Auslesen des Wertes für den aktuellen windream-Index kein Fehler auftrat
' und die Abfrage ein Ergebnis zurück gab
If IndexwertAusWindream Is Nothing And Not oUnexpectedError Then
' IndexwertAusWindream ist Nothing (idxName_ohneSonderzeichen)
_Logger.Warn("ACHTUNG: der einschränkende Wert aus Windream für Index '" & idxName_ohneSonderzeichen & "' ist EMPTY oder NOTHING")
_Logger.Warn("SQL-String bisher: " & oSqlCommand)
' wenn die Abfrage in windream kein Ergebnis gab, muss das error_in_Indexierungflag gesetzt werden
oUnexpectedError = True
Else
' den Platzhalter im SQL-String durch den Wert ersetzen
oSqlCommand = oSqlCommand.Replace(element.Value, IndexwertAusWindream.ToString)
End If
Else ' wenn es sich um den Platzhalter für die Spalte bzw. den View handelt
' wenn es sich um den Platzhalter für die Spalte handelt
If element.Value.ToUpper = "[%SPALTE]" Then
' den Platzhalter für die auszulesende Spalte durch den Spaltennamen ersetzen
oSqlCommand = oSqlCommand.Replace(element.Value, INDEX_SQL_BEFEHL.Spalte)
ElseIf element.Value.ToUpper = "[%VIEW]" Then
' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
oSqlCommand = oSqlCommand.Replace(element.Value, INDEX_SQL_BEFEHL.From)
End If
End If
Next ' zum nächsten Wert in der SQL-Anweisung gehen
result &= vbNewLine & " " & oSqlCommand
_Logger.Debug($"oSqlCommand after Replace 2([{oSqlCommand}])")
Else
_Logger.Debug("### oSqlCommand is empty!! ###")
End If
' wenn kein error_in_Indexierung aufgetreten ist ' wenn kein error_in_Indexierung aufgetreten ist
If oUnexpectedError = False Then If oUnexpectedError = False Then
@ -942,7 +950,7 @@ Public Class frmNIHauptseite
If IndexwertAusWindream Is Nothing = False Then If IndexwertAusWindream Is Nothing = False Then
'Es wird gegen ein Vektorfeld nachindexiert 'Es wird gegen ein Vektorfeld nachindexiert
If IndexwertAusWindream.GetType.ToString.Contains("System.Object") Then If IndexwertAusWindream.GetType.ToString.Contains("System.Object") Then
_Logger.Debug("INDEXIERUNG GEGEN EIN VEKTORFELD") _Logger.Debug("...INDEXIERUNG GEGEN EIN VEKTORFELD")
'Zuweisen der Indexwerte des Vektorfeldes zu Array 'Zuweisen der Indexwerte des Vektorfeldes zu Array
Arr = IndexwertAusWindream Arr = IndexwertAusWindream
For Each str As Object In Arr For Each str As Object In Arr
@ -967,10 +975,13 @@ Public Class frmNIHauptseite
i += 1 i += 1
Next Next
Else Else
ReDim Preserve selectArray(0) _Logger.Debug("...Indexierung gegen einen Einfachindex")
'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString) If Len(oSqlCommand) > 0 Then
selectArray(0) = oSqlCommand ReDim Preserve selectArray(0)
_Logger.Debug("Indexierung gegen einen Einfachindex") 'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString)
selectArray(0) = oSqlCommand
End If
End If End If
Else Else
ReDim Preserve selectArray(0) ReDim Preserve selectArray(0)
@ -981,11 +992,11 @@ Public Class frmNIHauptseite
'Nur wenn KEIN INDEXWERT also KEIN MANUELLER WERT 'Nur wenn KEIN INDEXWERT also KEIN MANUELLER WERT
If oResultNachindexierung Is Nothing Then If oResultNachindexierung Is Nothing And selectArray.Length > 0 Then
'Indexwert über DB oder Datei 'Indexwert über DB oder Datei
Select Case aktivesProfil.Ni_Art.ToLower Select Case aktivesProfil.Ni_Art.ToLower
Case "db" Case "db"
_Logger.Debug("SQL-Abfragen durchlaufen!") _Logger.Debug("SQL-Abfrage/n durchlaufen...")
Dim i As Integer Dim i As Integer
Dim Quelle_is_vektor = False Dim Quelle_is_vektor = False
If selectArray.Length > 1 Then If selectArray.Length > 1 Then
@ -998,6 +1009,7 @@ Public Class frmNIHauptseite
If Me.aktivesProfil.DbArt = "Oracle" Then If Me.aktivesProfil.DbArt = "Oracle" Then
oResultNachindexierung = database.GetValueFromOracleDb(aktivesProfil.Profilname, selectArray(i), Me.aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password, MyDataset, INDEX_SQL_BEFEHL.Index, Quelle_is_vektor) oResultNachindexierung = database.GetValueFromOracleDb(aktivesProfil.Profilname, selectArray(i), Me.aktivesProfil.DataSource, aktivesProfil.InitialCatalog, aktivesProfil.UserId, aktivesProfil.Password, MyDataset, INDEX_SQL_BEFEHL.Index, Quelle_is_vektor)
ElseIf Me.aktivesProfil.DbArt = "MS-SQL" Then ElseIf Me.aktivesProfil.DbArt = "MS-SQL" Then
_Logger.Debug($"Executing MSSQL ...")
oResultNachindexierung = database.GetValueFromMssqlDb(dokument.aName, aktivesProfil.Profilname, selectArray(i), Me.aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password, MyDataset, aktivesProfil.InitialCatalog, INDEX_SQL_BEFEHL.Index, Quelle_is_vektor) oResultNachindexierung = database.GetValueFromMssqlDb(dokument.aName, aktivesProfil.Profilname, selectArray(i), Me.aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password, MyDataset, aktivesProfil.InitialCatalog, INDEX_SQL_BEFEHL.Index, Quelle_is_vektor)
ElseIf Me.aktivesProfil.DbArt = "ODBC" Then ElseIf Me.aktivesProfil.DbArt = "ODBC" Then
oResultNachindexierung = database.GetValueFromOdbcDb(aktivesProfil.Profilname, selectArray(i), Me.aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password, INDEX_SQL_BEFEHL.Index) oResultNachindexierung = database.GetValueFromOdbcDb(aktivesProfil.Profilname, selectArray(i), Me.aktivesProfil.DataSource, aktivesProfil.UserId, aktivesProfil.Password, INDEX_SQL_BEFEHL.Index)
@ -1145,6 +1157,10 @@ Public Class frmNIHauptseite
'###### '######
'nur wenn kein Fehler 'nur wenn kein Fehler
If Not oUnexpectedError Then If Not oUnexpectedError Then
If oResultNachindexierung Is Nothing Then
_Logger.Debug("oResultNachindexierung is nothing...Continue next")
Continue For
End If
Try Try
If Not IsNothing(oResultNachindexierung) Then If Not IsNothing(oResultNachindexierung) Then
_Logger.Debug("oResultNachindexierung is not nothing...") _Logger.Debug("oResultNachindexierung is not nothing...")
@ -1527,7 +1543,7 @@ Public Class frmNIHauptseite
If msgindex <> "" Then _Logger.Info(($"SWResult: {msgindex}")) If msgindex <> "" Then _Logger.Info(($"SWResult: {msgindex}"))
'Move and Rename ausführen 'Move and Rename ausführen
If _MRlicense = True And Not oUnexpectedError And unvollstaendig = False Then If LICENSE_MoveRename = True And Not oUnexpectedError And unvollstaendig = False Then
Dim swMoveandrename As New ClassStopwatch("MoveandRename - Complete") Dim swMoveandrename As New ClassStopwatch("MoveandRename - Complete")
oUnexpectedError = FNMoveRename(dokument) oUnexpectedError = FNMoveRename(dokument)
@ -1557,8 +1573,9 @@ Public Class frmNIHauptseite
If msg1 <> "" Then _Logger.Info($"SWResult: {msg1}") If msg1 <> "" Then _Logger.Info($"SWResult: {msg1}")
' MsgBox("Dokument wird in Ordnerbaum verschoben und umbenannt!" & vbNewLine & Me.aktivesProfil.MR_DAIndex & vbNewLine & Me.aktivesProfil.MR_KDIndex & vbNewLine & Me.aktivesProfil.Desk_windreamIndex, MsgBoxStyle.Information, dokument.aPath) ' MsgBox("Dokument wird in Ordnerbaum verschoben und umbenannt!" & vbNewLine & Me.aktivesProfil.MR_DAIndex & vbNewLine & Me.aktivesProfil.MR_KDIndex & vbNewLine & Me.aktivesProfil.Desk_windreamIndex, MsgBoxStyle.Information, dokument.aPath)
Else Else
If _MRlicense = True And oUnexpectedError = True Or unvollstaendig = True Then If LICENSE_MoveRename = True And oUnexpectedError = True Or unvollstaendig = True Then
_Logger.Info("MoveRename Yes but error_in_Indexierung = True Or unvollstaendig = True") _Logger.Info("MoveRename Yes but error_in_Indexierung = True Or unvollstaendig = True")
_Logger.Debug("MoveRename Yes but error_in_Indexierung = True Or unvollstaendig = True")
End If End If
'Dim Err As Boolean = MRGetValuesFromFile(My.Settings.MRWD_Laufwerk & ":" & dokument.aPath, Me.aktivesProfil.MR_DAIndex, Me.aktivesProfil.MR_KDIndex, Me.aktivesProfil.Desk_windreamIndex) 'Dim Err As Boolean = MRGetValuesFromFile(My.Settings.MRWD_Laufwerk & ":" & dokument.aPath, Me.aktivesProfil.MR_DAIndex, Me.aktivesProfil.MR_KDIndex, Me.aktivesProfil.Desk_windreamIndex)

View File

@ -137,7 +137,7 @@ Public Class frmNIProfileigenschaften
If result = MsgBoxResult.Yes Then ' wenn die Daten gespeichert werden sollen If result = MsgBoxResult.Yes Then ' wenn die Daten gespeichert werden sollen
' die Änderungen speichern ' die Änderungen speichern
If Me._selectedProfile.Save(True) = True Then ' wenn das Speichern erfolgreich war If Me._selectedProfile.Save(True, "profile") = True Then ' wenn das Speichern erfolgreich war
' die Profile neu in die Combobox der Toolbar laden (für den Fall das Profilname geändert wurde) ' die Profile neu in die Combobox der Toolbar laden (für den Fall das Profilname geändert wurde)
Me.LoadProfilesInCombobox() Me.LoadProfilesInCombobox()
@ -511,7 +511,7 @@ Public Class frmNIProfileigenschaften
If Me._selectedProfile IsNot Nothing Then If Me._selectedProfile IsNot Nothing Then
Me.cmbIndexValidierung.SelectedIndex = -1 Me.cmbIndexValidierung.SelectedIndex = -1
If _selectedProfile.HasChanges Then If _selectedProfile.HasChanges Then
_selectedProfile.Save(True) _selectedProfile.Save(True, "profile")
Me.lblSave.Visible = True Me.lblSave.Visible = True
Else Else
Me.lblSave.Visible = False Me.lblSave.Visible = False
@ -532,16 +532,23 @@ Public Class frmNIProfileigenschaften
End Sub End Sub
Private Sub btnHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHinzufügen.Click Private Sub btnHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHinzufügen.Click
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses() Try
Select Case license.Modulename.ToUpper For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Case "NACHINDEXIERUNG" Select Case license.Modulename.ToUpper
If Prof_Anzahl + 1 > license.Anz_Profile Then Case "NACHINDEXIERUNG"
MsgBox("Die Maximalanzahl der lizensierten Nachindexierungs-Profile (" & license.Anz_Profile.ToString & ") ist erreicht!", MsgBoxStyle.Exclamation, "Achtung - Lizenzfehler:") If Prof_Anzahl + 1 > license.Anz_Profile Then
Exit Sub MsgBox("Die Maximalanzahl der lizensierten Nachindexierungs-Profile (" & license.Anz_Profile.ToString & ") ist erreicht!", MsgBoxStyle.Exclamation, "Achtung - Lizenzfehler:")
End If Exit Sub
End Select End If
End Select
Next
Catch ex As Exception
If My.Settings.licensekey <> "DD MaxLicense" Then
MsgBox("Error Adding Profile due to license issue!", MsgBoxStyle.Critical)
End If
End Try
Next
frmLogin_NI.ShowDialog() frmLogin_NI.ShowDialog()
' wenn das Formular geschlossen wurde, werden die Profile neu in die Combobox geladen ' wenn das Formular geschlossen wurde, werden die Profile neu in die Combobox geladen
Me.LoadProfilesInCombobox() Me.LoadProfilesInCombobox()
@ -613,7 +620,7 @@ Public Class frmNIProfileigenschaften
' die Änderungen speichern ' die Änderungen speichern
If Me._selectedProfile.Save(False) = True Then ' wenn das Speichern erfolgreich war If Me._selectedProfile.Save(False, "profile") = True Then ' wenn das Speichern erfolgreich war
Me.lblSave.Visible = True Me.lblSave.Visible = True
' den Speichern-Button deaktivieren ' den Speichern-Button deaktivieren
Me.btnSpeichern.Enabled = False Me.btnSpeichern.Enabled = False
@ -886,7 +893,7 @@ Public Class frmNIProfileigenschaften
Private Sub tsbtnFirstProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnfirst.Click Private Sub tsbtnFirstProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnfirst.Click
If Me._selectedProfile IsNot Nothing Then If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then If _selectedProfile.HasChanges Then
_selectedProfile.Save(True) _selectedProfile.Save(True, "profile")
End If End If
Else Else
'Noch kein Profil geladen also das erste laden 'Noch kein Profil geladen also das erste laden
@ -906,7 +913,7 @@ Public Class frmNIProfileigenschaften
Private Sub tsbtnpreviousProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnprevious.Click Private Sub tsbtnpreviousProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnprevious.Click
If Me._selectedProfile IsNot Nothing Then If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then If _selectedProfile.HasChanges Then
_selectedProfile.Save(True) _selectedProfile.Save(True, "profile")
End If End If
Else Else
'Noch kein Profil geladen also das erste laden 'Noch kein Profil geladen also das erste laden
@ -935,7 +942,7 @@ Public Class frmNIProfileigenschaften
Private Sub tsbtnnextProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnnext.Click Private Sub tsbtnnextProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnnext.Click
If Me._selectedProfile IsNot Nothing Then If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then If _selectedProfile.HasChanges Then
_selectedProfile.Save(True) _selectedProfile.Save(True, "profile")
End If End If
Else Else
'Noh kein Profil geladen also das erste laden 'Noh kein Profil geladen also das erste laden
@ -964,7 +971,7 @@ Public Class frmNIProfileigenschaften
Private Sub tsbtnLastProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnlast.Click Private Sub tsbtnLastProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnlast.Click
If Me._selectedProfile IsNot Nothing Then If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then If _selectedProfile.HasChanges Then
_selectedProfile.Save(True) _selectedProfile.Save(True, "profile")
End If End If
Else Else
'Noch kein Profil geladen also das erste laden 'Noch kein Profil geladen also das erste laden
@ -1095,7 +1102,7 @@ Public Class frmNIProfileigenschaften
End Sub End Sub
Private Sub frmNIProfileigenschaften_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmNIProfileigenschaften_Load(sender As Object, e As EventArgs) Handles Me.Load
If frmStart.licMore = True Then If LICENSE_MoveRename = True Then
grpbxMORE.Enabled = True grpbxMORE.Enabled = True
Else Else
grpbxMORE.Enabled = False grpbxMORE.Enabled = False

View File

@ -482,7 +482,7 @@ Public Class frmNIVerknuepfungen
Me.pnlZielQuelle.Enabled = True Me.pnlZielQuelle.Enabled = True
Else ' wenn bereits ein Profil geladen war Else ' wenn bereits ein Profil geladen war
If Me._selectedProfil.HasChanges Then If Me._selectedProfil.HasChanges Then
Me._selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
End If End If
' wenn ein anderes Profil ausgewählt wurde ' wenn ein anderes Profil ausgewählt wurde
If Not e.ClickedItem.Text = Me._selectedProfil.OriginalProfilname Then If Not e.ClickedItem.Text = Me._selectedProfil.OriginalProfilname Then
@ -2015,8 +2015,10 @@ Public Class frmNIVerknuepfungen
If Me._selectedProfil._links.selectedLink IsNot Nothing Then If Me._selectedProfil._links.selectedLink IsNot Nothing Then
If Me._selectedProfil.IsSaved = False Then If Me._selectedProfil.IsSaved = False Then
Me._selectedProfil.Save(True) Me._selectedProfil.Save(True, "link")
Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) If Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) = True Then
MsgBox("Verknüpfung erfolgreich gespeichert!", MsgBoxStyle.Information)
End If
With btnsave_select With btnsave_select
.Enabled = False .Enabled = False
.ForeColor = Drawing.Color.Black .ForeColor = Drawing.Color.Black
@ -2144,7 +2146,7 @@ Public Class frmNIVerknuepfungen
'Private Sub btnSQL_Updatespeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSQL_Updatespeichern.Click 'Private Sub btnSQL_Updatespeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSQL_Updatespeichern.Click
' Try ' Try
' ' die Änderungen speichern ' ' die Änderungen speichern
' If Me._selectedProfil.Save(True) = True Then ' wenn das Speichern erfolgreich war ' If Me._selectedProfil.Save(True,"profile") = True Then ' wenn das Speichern erfolgreich war
' ' den Speichern-Button deaktivieren ' ' den Speichern-Button deaktivieren
' Me.btnSQL_Updatespeichern.Enabled = False ' Me.btnSQL_Updatespeichern.Enabled = False
' Else ' Else
@ -2159,7 +2161,7 @@ Public Class frmNIVerknuepfungen
'If Me.txtfinalSkriptUpdate.Text <> "" Then 'If Me.txtfinalSkriptUpdate.Text <> "" Then
' Try ' Try
' ' die Änderungen speichern ' ' die Änderungen speichern
' If Me._selectedProfil.Save(True) = True Then ' wenn das Speichern erfolgreich war ' If Me._selectedProfil.Save(True,"profile") = True Then ' wenn das Speichern erfolgreich war
' Me._selectedProfil.setChanged() ' Me._selectedProfil.setChanged()
' Else ' Else
' MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden.", MsgBoxStyle.Exclamation, "Fehler beim Speichern eines Profils") ' MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden.", MsgBoxStyle.Exclamation, "Fehler beim Speichern eines Profils")
@ -2274,7 +2276,7 @@ Public Class frmNIVerknuepfungen
If Me._selectedProfil Is Nothing = False Then If Me._selectedProfil Is Nothing = False Then
Me.tabctrlbottom.Visible = False Me.tabctrlbottom.Visible = False
If Me._selectedProfil.HasChanges Then If Me._selectedProfil.HasChanges Then
Me._selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
End If End If
End If End If
End If End If
@ -2598,7 +2600,7 @@ Public Class frmNIVerknuepfungen
If Me.txtCheckIndexSQL.Text <> "" Then If Me.txtCheckIndexSQL.Text <> "" Then
Try Try
' die Änderungen speichern ' die Änderungen speichern
If Me._selectedProfil.Save(True) = True Then ' wenn das Speichern erfolgreich war If Me._selectedProfil.Save(True, "profile") = True Then ' wenn das Speichern erfolgreich war
' den Speichern-Button deaktivieren ' den Speichern-Button deaktivieren
Else Else
MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden.", MsgBoxStyle.Exclamation, "Fehler beim Speichern eines Profils") MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden.", MsgBoxStyle.Exclamation, "Fehler beim Speichern eines Profils")
@ -2711,7 +2713,7 @@ Public Class frmNIVerknuepfungen
Private Sub tsbtnFirstProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnfirst.Click Private Sub tsbtnFirstProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnfirst.Click
If Me._selectedProfil IsNot Nothing Then If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then If _selectedProfil.HasChanges Then
_selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
End If End If
Else Else
'Noch kein Profil geladen also das erste laden 'Noch kein Profil geladen also das erste laden
@ -2731,7 +2733,7 @@ Public Class frmNIVerknuepfungen
Private Sub tsbtnpreviousProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnprevious.Click Private Sub tsbtnpreviousProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnprevious.Click
If Me._selectedProfil IsNot Nothing Then If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then If _selectedProfil.HasChanges Then
_selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
End If End If
Else Else
'Noch kein Profil geladen also das erste laden 'Noch kein Profil geladen also das erste laden
@ -2760,7 +2762,7 @@ Public Class frmNIVerknuepfungen
Private Sub tsbtnnextProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnnext.Click Private Sub tsbtnnextProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnnext.Click
If Me._selectedProfil IsNot Nothing Then If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then If _selectedProfil.HasChanges Then
_selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
End If End If
Else Else
'Noh kein Profil geladen also das erste laden 'Noh kein Profil geladen also das erste laden
@ -2789,7 +2791,7 @@ Public Class frmNIVerknuepfungen
Private Sub tsbtnLastProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnlast.Click Private Sub tsbtnLastProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnlast.Click
If Me._selectedProfil IsNot Nothing Then If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then If _selectedProfil.HasChanges Then
_selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
End If End If
Else Else
'Noch kein Profil geladen also das erste laden 'Noch kein Profil geladen also das erste laden
@ -3129,7 +3131,7 @@ Public Class frmNIVerknuepfungen
Try Try
If Me._selectedProfil._links.selectedLink IsNot Nothing Then If Me._selectedProfil._links.selectedLink IsNot Nothing Then
If Me._selectedProfil.IsSaved = False Then If Me._selectedProfil.IsSaved = False Then
Me._selectedProfil.Save(True) Me._selectedProfil.Save(True, "profile")
Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art)
With btnSaveLDAP With btnSaveLDAP
.Enabled = False .Enabled = False
@ -3291,8 +3293,10 @@ Public Class frmNIVerknuepfungen
Try Try
If Me._selectedProfil._links.selectedLink IsNot Nothing Then If Me._selectedProfil._links.selectedLink IsNot Nothing Then
If Me._selectedProfil.IsSaved = False Then If Me._selectedProfil.IsSaved = False Then
Me._selectedProfil.Save(False) Me._selectedProfil.Save(False, "FTLink")
Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) If Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) = True Then
MsgBox("Speichern erfolgreich!", MsgBoxStyle.Information)
End If
If Me._selectedProfil.Ni_Art <> "fulltext" Then If Me._selectedProfil.Ni_Art <> "fulltext" Then
Dim vktState = Getvktinsert_State() Dim vktState = Getvktinsert_State()
Me._selectedProfil._links.RenewLinks(Me.lvwVerknuepfungen, vktState) Me._selectedProfil._links.RenewLinks(Me.lvwVerknuepfungen, vktState)
@ -3496,7 +3500,7 @@ Public Class frmNIVerknuepfungen
Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text
If Not Me._selectedProfil.SQL_Anweisung = Me._selectedProfil.OriginalSQL_Anweisung Then If Not Me._selectedProfil.SQL_Anweisung = Me._selectedProfil.OriginalSQL_Anweisung Then
Me._selectedProfil.setChanged() Me._selectedProfil.setChanged()
If Me._selectedProfil.Save(True) = True Then If Me._selectedProfil.Save(True, "profile") = True Then
Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString
End If End If
@ -3512,7 +3516,7 @@ Public Class frmNIVerknuepfungen
Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text
If Not Me._selectedProfil.SQL_Anweisung = Me._selectedProfil.OriginalSQL_Anweisung Then If Not Me._selectedProfil.SQL_Anweisung = Me._selectedProfil.OriginalSQL_Anweisung Then
Me._selectedProfil.setChanged() Me._selectedProfil.setChanged()
If Me._selectedProfil.Save(True) = True Then If Me._selectedProfil.Save(True, "profile") = True Then
Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString
End If End If
End If End If
@ -3527,7 +3531,7 @@ Public Class frmNIVerknuepfungen
End Sub End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
If Me._selectedProfil.Save(True) = True Then If Me._selectedProfil.Save(True, "profile") = True Then
' wenn das Speichern erfolgreich war ' wenn das Speichern erfolgreich war
Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString
Else Else

View File

@ -8,8 +8,6 @@ Public Class frmStart
Private _MyLogger As LogConfig Private _MyLogger As LogConfig
Private Shared _Logger As DigitalData.Modules.Logging.Logger Private Shared _Logger As DigitalData.Modules.Logging.Logger
Public _validModules() Public _validModules()
Public licMore As Boolean = False
Public licNB_AD As Boolean = False
Public _company As String Public _company As String
' Dim timediff As Integer = 0 ' Dim timediff As Integer = 0
Private licenseManager As ClassLicenseManager = Nothing Private licenseManager As ClassLicenseManager = Nothing
@ -45,7 +43,8 @@ Public Class frmStart
End If End If
End Sub End Sub
Private Sub FMStart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Private Sub FMStart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log")) _MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName,
My.Application.Info.ProductName)
_Logger = _MyLogger.GetLogger() _Logger = _MyLogger.GetLogger()
CURR_Logger = _Logger CURR_Logger = _Logger
CURR_LogConfig = _MyLogger CURR_LogConfig = _MyLogger
@ -121,77 +120,90 @@ Public Class frmStart
Me.GBNachindexierung.Visible = False Me.GBNachindexierung.Visible = False
Me.GroupBoxIntegration.Visible = False Me.GroupBoxIntegration.Visible = False
Me.grbxMoRe.Visible = False Me.grbxMoRe.Visible = False
licMore = False LICENSE_MoveRename = False
licNB_AD = False LICENSE_AD = False
End Sub End Sub
Public Sub LoadAllModules() Public Sub LoadAllModules()
Me._validModules = Nothing Me._validModules = Nothing
If Not My.Settings.licensekey = "" Then If Not My.Settings.licensekey = "" Then
'Me.licenseManager = New ClassLicenseManager = Nothing If My.Settings.licensekey = "DD MaxLicense" Then
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey) Me.grbDI.Visible = True
Me.GBNachindexierung.Visible = True
Me.GroupBoxIntegration.Visible = True
'Me.grbxMoRe.Visible = True
btnNachbearbeitungAD.Visible = True
LICENSE_AD = True
LICENSE_MoveRename = True
Else
'Me.licenseManager = New ClassLicenseManager = Nothing
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(My.Settings.licensekey) Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(My.Settings.licensekey)
Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString) Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString)
Me.licenseManager.LoadLicenses() Me.licenseManager.LoadLicenses()
If Me.licenseManager.Licenses.machine.ToLower <> "all" Then If Me.licenseManager.Licenses.machine.ToLower <> "all" Then
If Me.licenseManager.Licenses.machine.ToLower <> My.Computer.Name.ToLower Then If Me.licenseManager.Licenses.machine.ToLower <> My.Computer.Name.ToLower Then
MsgBox("Ihre Lizenz gilt nicht für diese Maschine. " & vbNewLine & "Gelesener Computer Name: '" & My.Computer.Name & "'" & vbNewLine & "License Computer Name: '" & Me.licenseManager.Licenses.machine & "'" & vbNewLine & MsgBox("Ihre Lizenz gilt nicht für diese Maschine. " & vbNewLine & "Gelesener Computer Name: '" & My.Computer.Name & "'" & vbNewLine & "License Computer Name: '" & Me.licenseManager.Licenses.machine & "'" & vbNewLine &
"Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz ungültig:") "Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz ungültig:")
Me.grbDI.Visible = False Me.grbDI.Visible = False
Me.GBNachindexierung.Visible = False Me.GBNachindexierung.Visible = False
Me.GroupBoxIntegration.Visible = False Me.GroupBoxIntegration.Visible = False
Me.grbxMoRe.Visible = False Me.grbxMoRe.Visible = False
Exit Sub Exit Sub
End If
End If
Dim i As Integer = 0
If Me.licenseManager.Licenses.Licenses IsNot Nothing Then
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Dim expires As String = license.Expires.Date
If IsExpired(license.Expires.Date) = False Then
' MsgBox(license.Modulename & vbNewLine & expires)
Select Case license.Modulename
Case "Dateiimport"
Me.grbDI.Visible = True
Case "Nachindexierung"
Me.GBNachindexierung.Visible = True
Case "MerkatorIntegration"
Me.GroupBoxIntegration.Visible = True
Case "MoveandRename"
'Me.grbxMoRe.Visible = True
LICENSE_MoveRename = True
Case "NachbearbeitungAD"
btnNachbearbeitungAD.Visible = True
LICENSE_AD = True
End Select
i += 1
Else
MsgBox("Ihre Lizenz für das Modul '" & license.Modulename & "' ist am ' " & license.Expires.Date.ToShortDateString & "' abgelaufen" & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz abgelaufen:")
Select Case license.Modulename
Case "Dateiimport"
Me.grbDI.Visible = False
Case "Nachindexierung"
Me.GBNachindexierung.Visible = False
Case "MerkatorIntegration"
Me.GroupBoxIntegration.Visible = False
Case "MoveandRename"
Me.GroupBoxIntegration.Visible = False
LICENSE_MoveRename = False
Case "NachbearbeitungAD"
btnNachbearbeitungAD.Visible = False
LICENSE_AD = False
End Select
i += 1
End If
'Date.TryParse(expires, license.Expires)
Next
End If End If
End If End If
Dim i As Integer = 0
If Me.licenseManager.Licenses.Licenses IsNot Nothing Then
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Dim expires As String = license.Expires.Date
If IsExpired(license.Expires.Date) = False Then
' MsgBox(license.Modulename & vbNewLine & expires)
Select Case license.Modulename
Case "Dateiimport"
Me.grbDI.Visible = True
Case "Nachindexierung"
Me.GBNachindexierung.Visible = True
Case "MerkatorIntegration"
Me.GroupBoxIntegration.Visible = True
Case "MoveandRename"
'Me.grbxMoRe.Visible = True
licMore = True
Case "NachbearbeitungAD"
btnNachbearbeitungAD.Visible = True
licNB_AD = True
End Select
i += 1
Else
MsgBox("Ihre Lizenz für das Modul '" & license.Modulename & "' ist am ' " & license.Expires.Date.ToShortDateString & "' abgelaufen" & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz abgelaufen:")
Select Case license.Modulename
Case "Dateiimport"
Me.grbDI.Visible = False
Case "Nachindexierung"
Me.GBNachindexierung.Visible = False
Case "MerkatorIntegration"
Me.GroupBoxIntegration.Visible = False
Case "MoveandRename"
Me.GroupBoxIntegration.Visible = False
licMore = False
Case "NachbearbeitungAD"
btnNachbearbeitungAD.Visible = False
licNB_AD = False
End Select
i += 1
End If
'Date.TryParse(expires, license.Expires)
Next
End If
End If End If
End Sub End Sub
Private Function IsExpired(ByVal _Date As Date) Private Function IsExpired(ByVal _Date As Date)