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

View File

@ -173,7 +173,7 @@
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Function Save(ByVal msg As Boolean)
Public Function Save(ByVal msg As Boolean, item As String)
Try
' wenn das Profil nicht gespeichert ist
@ -288,7 +288,7 @@
' Profil auf gespeichert setzen
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
Else

View File

@ -45,7 +45,7 @@
End Function
Public Function Save_DB_Link(ByVal profilname As String)
' 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
Dim xml As New Xml.XmlDocument()
Dim xmlProfil As Xml.XmlElement
@ -71,7 +71,8 @@
Return True
End If
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
' 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

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:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.0.7")>
<Assembly: AssemblyVersion("2.3.1.0")>
<Assembly: AssemblyFileVersion("1.5.1.0")>

View File

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

View File

@ -27,8 +27,6 @@ Public Class frmDIHauptseite
Return _Instance
End Function
Public Sub New()
Try
' Dieser Aufruf ist für den Designer erforderlich.
@ -432,10 +430,17 @@ Public Class frmDIHauptseite
Else
Me.ImportFileList = My.Computer.FileSystem.GetFiles(Me.selectedProfile.OriginalQuellordner, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
End If
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)
Dim oError As Boolean = False
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
If Durchlauf = True Then
Me.CountFiles2Import = Gesamtfiles
@ -669,7 +674,19 @@ Public Class frmDIHauptseite
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" >> Stream war erfolgreich", False)
If Me.selectedProfile.DateiLöschen Then
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)
End If
@ -2069,6 +2086,15 @@ Public Class frmDIHauptseite
wert = wert.ToString.Replace(".", ",")
temp_arr.Add(CDbl(wert))
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
If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4101 Date", False)
For Each wert As Object In werte

View File

@ -256,17 +256,23 @@ Public Class frmDIProfilEigenschaften
End Sub
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()
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
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
' das Formular zum Erstellen eines neuen Profil öffnen
frmLogin_DI.ShowDialog()
'frmDIProfilHinzufuegen.ShowDialog()

View File

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

View File

@ -33,7 +33,6 @@ Public Class frmNIHauptseite
Private oNiArrayIndexe() As String = Nothing ' zum Speichern der Indexe
Private oNiArrayValues() As String = Nothing ' zum Speichern der Werte
Public _MRDokumentart, _MRKundenKennzeichen, _MRDeskrIndex As String
Private _MRlicense As Boolean = False
Public Shared _MRKONVERT_FEHLER As Integer = 0
Private windreamSucheErgebnisse As WMObjects
@ -120,7 +119,7 @@ Public Class frmNIHauptseite
End Sub
Private Sub frmNIHauptseite_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Try
LoadAllModules()
'LoadAllModules()
TBTC_MOVE_RENAMETableAdapter.Connection.ConnectionString = My.Settings.DDECMConString
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei frmNIHauptseite_Load")
@ -151,43 +150,44 @@ Public Class frmNIHauptseite
' Return Nothing
' End Select
'End Function
Public Sub LoadAllModules()
Me._validModules = Nothing
'Public Sub LoadAllModules()
' Me._validModules = Nothing
If Not My.Settings.licensekey = "" Then
'Me.licenseManager = New ClassLicenseManager = Nothing
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
' If Not My.Settings.licensekey = "" Then
' 'Me.licenseManager = New ClassLicenseManager = Nothing
' Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(My.Settings.licensekey)
Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString)
Me.licenseManager.LoadLicenses()
' Me.licenseManager.licenseString = Me.licenseManager.DecodeLicenseKey(My.Settings.licensekey)
' 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
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)
' 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.ToUpper
Case "MOVEANDRENAME"
_MRlicense = True
End Select
i += 1
Else
Select Case license.Modulename
Case "MOVEANDRENAME"
_MRlicense = False
End Select
i += 1
End If
'Date.TryParse(expires, license.Expires)
' Select Case license.Modulename.ToUpper
' Case "MOVEANDRENAME"
' LICENSE_MoveRename = True
' _Logger.Info("LICENSE MoveandRename aktiv")
' End Select
' i += 1
' Else
' Select Case license.Modulename
' Case "MOVEANDRENAME"
' LICENSE_MoveRename = False
' End Select
' i += 1
' End If
' 'Date.TryParse(expires, license.Expires)
Next
End If
End If
End Sub
' Next
' End If
' End If
'End Sub
Private Function IsExpired(ByVal _Date As Date)
If Date.Today > _Date Then
Return True
@ -318,7 +318,7 @@ Public Class frmNIHauptseite
bwProfil.ReportProgress(-3)
' Ausgabe an Logdatei über nächstes Profil
_Logger.Debug("########################################################")
_Logger.Debug("Starte Durchlauf für Profil: " & profil.Profilname & " - " & Now)
' Überprüfen ob Profil aktiv oder inaktiv
@ -360,9 +360,9 @@ Public Class frmNIHauptseite
If minutes >= 2 Then
Select Case minutes
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!")
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)
CURRENT_STATE = "Abbruch Timeout"
Exit Sub
@ -405,7 +405,7 @@ Public Class frmNIHauptseite
Else
_Logger.Debug("NachbearbeitungAD inaktiv")
End If
_Logger.Debug($"...Row 397...")
If _Fehler = False Then
'profil()
' 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
' 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
ocounter += 1
_Logger.Debug($"### For each Verknüpfung [{ocounter}]...###")
'Regulären Ausdruck zum Auslesen der windream-Indexe definieren
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
' SQL-String für aktuelle Verknüpfung laden
Dim oSqlCommand As String = INDEX_SQL_BEFEHL.SelectAnweisung
'Ersetzen des Dateinamens - für CURSOR NachindexierungPr
If oSqlCommand.Contains("[DATEINAME]") Then
oSqlCommand = oSqlCommand.Replace("[DATEINAME]", dokument.aName)
End If
If oSqlCommand.Contains("[FULLNAME]") Then
oSqlCommand = oSqlCommand.Replace("[FULLNAME]", My.Settings.MRWD_Laufwerk & ":" & dokument.aPath)
End If
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
If Len(oSqlCommand) > 0 Then
'Ersetzen des Dateinamens - für CURSOR NachindexierungPr
If oSqlCommand.Contains("[DATEINAME]") Then
oSqlCommand = oSqlCommand.Replace("[DATEINAME]", dokument.aName)
End If
If oSqlCommand.Contains("[FULLNAME]") Then
oSqlCommand = oSqlCommand.Replace("[FULLNAME]", My.Settings.MRWD_Laufwerk & ":" & dokument.aPath)
End If
Next ' zum nächsten Wert in der SQL-Anweisung gehen
result &= vbNewLine & " " & oSqlCommand
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
_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
If oUnexpectedError = False Then
@ -942,7 +950,7 @@ Public Class frmNIHauptseite
If IndexwertAusWindream Is Nothing = False Then
'Es wird gegen ein Vektorfeld nachindexiert
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
Arr = IndexwertAusWindream
For Each str As Object In Arr
@ -967,10 +975,13 @@ Public Class frmNIHauptseite
i += 1
Next
Else
ReDim Preserve selectArray(0)
'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString)
selectArray(0) = oSqlCommand
_Logger.Debug("Indexierung gegen einen Einfachindex")
_Logger.Debug("...Indexierung gegen einen Einfachindex")
If Len(oSqlCommand) > 0 Then
ReDim Preserve selectArray(0)
'MsgBox("Nur ein Einfachindex :(" & vbNewLine & IndexwertAusWindream.ToString)
selectArray(0) = oSqlCommand
End If
End If
Else
ReDim Preserve selectArray(0)
@ -981,11 +992,11 @@ Public Class frmNIHauptseite
'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
Select Case aktivesProfil.Ni_Art.ToLower
Case "db"
_Logger.Debug("SQL-Abfragen durchlaufen!")
_Logger.Debug("SQL-Abfrage/n durchlaufen...")
Dim i As Integer
Dim Quelle_is_vektor = False
If selectArray.Length > 1 Then
@ -998,6 +1009,7 @@ Public Class frmNIHauptseite
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)
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)
ElseIf Me.aktivesProfil.DbArt = "ODBC" Then
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
If Not oUnexpectedError Then
If oResultNachindexierung Is Nothing Then
_Logger.Debug("oResultNachindexierung is nothing...Continue next")
Continue For
End If
Try
If Not IsNothing(oResultNachindexierung) Then
_Logger.Debug("oResultNachindexierung is not nothing...")
@ -1527,7 +1543,7 @@ Public Class frmNIHauptseite
If msgindex <> "" Then _Logger.Info(($"SWResult: {msgindex}"))
'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")
oUnexpectedError = FNMoveRename(dokument)
@ -1557,8 +1573,9 @@ Public Class frmNIHauptseite
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)
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.Debug("MoveRename Yes but error_in_Indexierung = True Or unvollstaendig = True")
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)

View File

@ -137,7 +137,7 @@ Public Class frmNIProfileigenschaften
If result = MsgBoxResult.Yes Then ' wenn die Daten gespeichert werden sollen
' 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)
Me.LoadProfilesInCombobox()
@ -511,7 +511,7 @@ Public Class frmNIProfileigenschaften
If Me._selectedProfile IsNot Nothing Then
Me.cmbIndexValidierung.SelectedIndex = -1
If _selectedProfile.HasChanges Then
_selectedProfile.Save(True)
_selectedProfile.Save(True, "profile")
Me.lblSave.Visible = True
Else
Me.lblSave.Visible = False
@ -532,16 +532,23 @@ Public Class frmNIProfileigenschaften
End Sub
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()
Select Case license.Modulename.ToUpper
Case "NACHINDEXIERUNG"
If Prof_Anzahl + 1 > license.Anz_Profile Then
MsgBox("Die Maximalanzahl der lizensierten Nachindexierungs-Profile (" & license.Anz_Profile.ToString & ") ist erreicht!", MsgBoxStyle.Exclamation, "Achtung - Lizenzfehler:")
Exit Sub
End If
End Select
Try
For Each license As ClassLicense In Me.licenseManager.Licenses.Licenses()
Select Case license.Modulename.ToUpper
Case "NACHINDEXIERUNG"
If Prof_Anzahl + 1 > license.Anz_Profile Then
MsgBox("Die Maximalanzahl der lizensierten Nachindexierungs-Profile (" & license.Anz_Profile.ToString & ") ist erreicht!", MsgBoxStyle.Exclamation, "Achtung - Lizenzfehler:")
Exit Sub
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()
' wenn das Formular geschlossen wurde, werden die Profile neu in die Combobox geladen
Me.LoadProfilesInCombobox()
@ -613,7 +620,7 @@ Public Class frmNIProfileigenschaften
' 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
' den Speichern-Button deaktivieren
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
If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then
_selectedProfile.Save(True)
_selectedProfile.Save(True, "profile")
End If
Else
'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
If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then
_selectedProfile.Save(True)
_selectedProfile.Save(True, "profile")
End If
Else
'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
If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then
_selectedProfile.Save(True)
_selectedProfile.Save(True, "profile")
End If
Else
'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
If Me._selectedProfile IsNot Nothing Then
If _selectedProfile.HasChanges Then
_selectedProfile.Save(True)
_selectedProfile.Save(True, "profile")
End If
Else
'Noch kein Profil geladen also das erste laden
@ -1095,7 +1102,7 @@ Public Class frmNIProfileigenschaften
End Sub
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
Else
grpbxMORE.Enabled = False

View File

@ -482,7 +482,7 @@ Public Class frmNIVerknuepfungen
Me.pnlZielQuelle.Enabled = True
Else ' wenn bereits ein Profil geladen war
If Me._selectedProfil.HasChanges Then
Me._selectedProfil.Save(True)
Me._selectedProfil.Save(True, "profile")
End If
' wenn ein anderes Profil ausgewählt wurde
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.IsSaved = False Then
Me._selectedProfil.Save(True)
Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art)
Me._selectedProfil.Save(True, "link")
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
.Enabled = False
.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
' Try
' ' 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
' Me.btnSQL_Updatespeichern.Enabled = False
' Else
@ -2159,7 +2161,7 @@ Public Class frmNIVerknuepfungen
'If Me.txtfinalSkriptUpdate.Text <> "" Then
' Try
' ' 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()
' Else
' 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
Me.tabctrlbottom.Visible = False
If Me._selectedProfil.HasChanges Then
Me._selectedProfil.Save(True)
Me._selectedProfil.Save(True, "profile")
End If
End If
End If
@ -2598,7 +2600,7 @@ Public Class frmNIVerknuepfungen
If Me.txtCheckIndexSQL.Text <> "" Then
Try
' 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
Else
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
If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then
_selectedProfil.Save(True)
Me._selectedProfil.Save(True, "profile")
End If
Else
'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
If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then
_selectedProfil.Save(True)
Me._selectedProfil.Save(True, "profile")
End If
Else
'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
If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then
_selectedProfil.Save(True)
Me._selectedProfil.Save(True, "profile")
End If
Else
'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
If Me._selectedProfil IsNot Nothing Then
If _selectedProfil.HasChanges Then
_selectedProfil.Save(True)
Me._selectedProfil.Save(True, "profile")
End If
Else
'Noch kein Profil geladen also das erste laden
@ -3129,7 +3131,7 @@ Public Class frmNIVerknuepfungen
Try
If Me._selectedProfil._links.selectedLink IsNot Nothing 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)
With btnSaveLDAP
.Enabled = False
@ -3291,8 +3293,10 @@ Public Class frmNIVerknuepfungen
Try
If Me._selectedProfil._links.selectedLink IsNot Nothing Then
If Me._selectedProfil.IsSaved = False Then
Me._selectedProfil.Save(False)
Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art)
Me._selectedProfil.Save(False, "FTLink")
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
Dim vktState = Getvktinsert_State()
Me._selectedProfil._links.RenewLinks(Me.lvwVerknuepfungen, vktState)
@ -3496,7 +3500,7 @@ Public Class frmNIVerknuepfungen
Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text
If Not Me._selectedProfil.SQL_Anweisung = Me._selectedProfil.OriginalSQL_Anweisung Then
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
End If
@ -3512,7 +3516,7 @@ Public Class frmNIVerknuepfungen
Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text
If Not Me._selectedProfil.SQL_Anweisung = Me._selectedProfil.OriginalSQL_Anweisung Then
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
End If
End If
@ -3527,7 +3531,7 @@ Public Class frmNIVerknuepfungen
End Sub
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
Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString
Else

View File

@ -8,8 +8,6 @@ Public Class frmStart
Private _MyLogger As LogConfig
Private Shared _Logger As DigitalData.Modules.Logging.Logger
Public _validModules()
Public licMore As Boolean = False
Public licNB_AD As Boolean = False
Public _company As String
' Dim timediff As Integer = 0
Private licenseManager As ClassLicenseManager = Nothing
@ -45,7 +43,8 @@ Public Class frmStart
End If
End Sub
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()
CURR_Logger = _Logger
CURR_LogConfig = _MyLogger
@ -121,77 +120,90 @@ Public Class frmStart
Me.GBNachindexierung.Visible = False
Me.GroupBoxIntegration.Visible = False
Me.grbxMoRe.Visible = False
licMore = False
licNB_AD = False
LICENSE_MoveRename = False
LICENSE_AD = False
End Sub
Public Sub LoadAllModules()
Me._validModules = Nothing
If Not My.Settings.licensekey = "" Then
'Me.licenseManager = New ClassLicenseManager = Nothing
Me.licenseManager = New ClassLicenseManager("#DigitalData9731258!#", My.Settings.licensekey)
If My.Settings.licensekey = "DD MaxLicense" Then
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.LoadLicenses()
Me.licenseManager.licenseStringArray = Me.licenseManager.SplitLicenseString(Me.licenseManager.licenseString)
Me.licenseManager.LoadLicenses()
If Me.licenseManager.Licenses.machine.ToLower <> "all" 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 &
"Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz ungültig:")
Me.grbDI.Visible = False
Me.GBNachindexierung.Visible = False
Me.GroupBoxIntegration.Visible = False
Me.grbxMoRe.Visible = False
Exit Sub
If Me.licenseManager.Licenses.machine.ToLower <> "all" 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 &
"Bitte setzen Sie sich mit Digital Data in Verbindung.", MsgBoxStyle.Exclamation, "Lizenz ungültig:")
Me.grbDI.Visible = False
Me.GBNachindexierung.Visible = False
Me.GroupBoxIntegration.Visible = False
Me.grbxMoRe.Visible = False
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
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 Sub
Private Function IsExpired(ByVal _Date As Date)