MS VErknüpfungen und Licenses
This commit is contained in:
parent
5d09cb4db0
commit
3753cab8a6
@ -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,11 +104,11 @@ 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>")
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
4
ToolCollection/ModuleSettings.vb
Normal file
4
ToolCollection/ModuleSettings.vb
Normal file
@ -0,0 +1,4 @@
|
||||
Module ModuleSettings
|
||||
Public LICENSE_MoveRename As Boolean
|
||||
Public LICENSE_AD As Boolean
|
||||
End Module
|
||||
@ -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")>
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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
|
||||
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)
|
||||
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
|
||||
|
||||
@ -256,7 +256,7 @@ 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"
|
||||
@ -267,6 +267,12 @@ Public Class frmDIProfilEigenschaften
|
||||
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
|
||||
|
||||
' das Formular zum Erstellen eines neuen Profil öffnen
|
||||
frmLogin_DI.ShowDialog()
|
||||
'frmDIProfilHinzufuegen.ShowDialog()
|
||||
|
||||
@ -18,6 +18,10 @@ Public Class frmLizenzmanager
|
||||
Me.lvLicense.Items.Clear()
|
||||
|
||||
If Not Me.txtKey.Text = "" Then
|
||||
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()
|
||||
@ -49,6 +53,10 @@ Public Class frmLizenzmanager
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
@ -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,12 +833,15 @@ 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
|
||||
If Len(oSqlCommand) > 0 Then
|
||||
'Ersetzen des Dateinamens - für CURSOR NachindexierungPr
|
||||
If oSqlCommand.Contains("[DATEINAME]") Then
|
||||
oSqlCommand = oSqlCommand.Replace("[DATEINAME]", dokument.aName)
|
||||
@ -864,7 +867,7 @@ Public Class frmNIHauptseite
|
||||
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
|
||||
@ -874,8 +877,10 @@ Public Class frmNIHauptseite
|
||||
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)
|
||||
@ -905,7 +910,6 @@ Public Class frmNIHauptseite
|
||||
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
|
||||
|
||||
@ -924,6 +928,10 @@ Public Class frmNIHauptseite
|
||||
|
||||
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
|
||||
_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
|
||||
_Logger.Debug("Indexierung gegen einen Einfachindex")
|
||||
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)
|
||||
|
||||
@ -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,6 +532,7 @@ Public Class frmNIProfileigenschaften
|
||||
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 "NACHINDEXIERUNG"
|
||||
@ -542,6 +543,12 @@ Public Class frmNIProfileigenschaften
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,13 +120,22 @@ 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
|
||||
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)
|
||||
|
||||
@ -164,10 +172,10 @@ Public Class frmStart
|
||||
Me.GroupBoxIntegration.Visible = True
|
||||
Case "MoveandRename"
|
||||
'Me.grbxMoRe.Visible = True
|
||||
licMore = True
|
||||
LICENSE_MoveRename = True
|
||||
Case "NachbearbeitungAD"
|
||||
btnNachbearbeitungAD.Visible = True
|
||||
licNB_AD = True
|
||||
LICENSE_AD = True
|
||||
End Select
|
||||
i += 1
|
||||
Else
|
||||
@ -181,10 +189,10 @@ Public Class frmStart
|
||||
Me.GroupBoxIntegration.Visible = False
|
||||
Case "MoveandRename"
|
||||
Me.GroupBoxIntegration.Visible = False
|
||||
licMore = False
|
||||
LICENSE_MoveRename = False
|
||||
Case "NachbearbeitungAD"
|
||||
btnNachbearbeitungAD.Visible = False
|
||||
licNB_AD = False
|
||||
LICENSE_AD = False
|
||||
End Select
|
||||
i += 1
|
||||
End If
|
||||
@ -193,6 +201,10 @@ Public Class frmStart
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
Private Function IsExpired(ByVal _Date As Date)
|
||||
If Date.Today > _Date Then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user