ToolCollection/ToolCollection/frmDIProfilEigenschaften.vb

946 lines
42 KiB
VB.net

Imports System.Configuration
Imports System.Xml
Imports System.IO
Public Class frmDIProfilEigenschaften
' entspricht dem, über die Toolbar-Combobox ausgewählten, Profil und enthält alle relevanten Informationen darüber
Private selectedProfile As ClassDIProfil
Private licenseManager As ClassLicenseManager
Dim Formloaded As Boolean = False
'Zum Speichern der Positionen
Dim _pos As Integer
Dim arrProfile(1, 1) As Object
Dim Prof_Anzahl As Integer
Public Shared _windream As New ClassWindream_allgemein(CURR_LogConfig)
Private Shared _Instance As frmDIProfilEigenschaften = Nothing
Public Shared Function Instance() As frmDIProfilEigenschaften
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
_Instance = New frmDIProfilEigenschaften
End If
_Instance.BringToFront()
Return _Instance
End Function
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' alle Profile in die Toolbar-Combobox eintragen
Me.LoadProfilesInCombobox()
Try
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()
Catch ex As Exception
MsgBox("Fehler beim Laden der Lizenzen:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Sub ReDimEx(ByRef MyArray As Object, ByVal iDimX As Integer, ByVal iDimY As Integer)
Dim MyTempArray As Object
Dim I As Integer
Dim J As Integer
MyTempArray = MyArray
ReDim MyArray(iDimX, iDimY)
For I = LBound(MyTempArray, 1) To UBound(MyTempArray, 1)
For J = LBound(MyTempArray, 2) To UBound(MyTempArray, 2)
If I <= iDimX And J <= iDimY Then
MyArray(I, J) = MyTempArray(I, J)
End If
Next J
Next I
End Sub
Private Sub LoadProfilesInCombobox()
'Schreibt die Profile in die Combobox in der Toolbar.
'Try
ClassDIProfile.Init()
Me.cmbProfilauswahl.DropDownItems.Clear()
If ClassDIProfile.Profile IsNot Nothing Then
Dim anz As Integer = 0
For Each item As ClassDIProfil In ClassDIProfile.Profile
Me.cmbProfilauswahl.DropDownItems.Add(item.Profilname)
ReDimEx(arrProfile, anz, 1)
arrProfile(anz, 0) = item.Profilname
arrProfile(anz, 1) = anz
anz = anz + 1
Next
Prof_Anzahl = anz
Me.tslblAnzahl.Text = "Anzahl Profile: " & anz
End If
'Catch ex As Exception
' MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Laden der Profile in Auswahlliste:")
'End Try
End Sub
Sub Lade_Profil(ByVal profilname As String)
' das ausgewählte Profil in selectedProfile laden
Me.selectedProfile = ClassDIProfile.getProfilByName(profilname)
' wenn das selektierte Profil gefunden wurde
If Me.selectedProfile IsNot Nothing Then
' die Steuerelemente für die Profilinformationen mit den Daten füllen
Me.txtProfilname.Text = Me.selectedProfile.Profilname
Me.lblProfil.Text = Me.selectedProfile.Profilname
If Me.selectedProfile.Dokumenttyp IsNot Nothing Then
Me.cmbObjekttyp.Items.Clear()
Me.cmbObjekttyp.ForeColor = Color.Black
Me.cmbObjekttyp.Items.Add(Me.selectedProfile.Dokumenttyp.aName) ' den Dokumenttyp eintragen
Me.cmbObjekttyp.SelectedIndex = 0 ' und direkt auswählen
Else
Me.cmbObjekttyp.Items.Clear()
Me.cmbObjekttyp.ForeColor = Color.Red
Me.cmbObjekttyp.Items.Add(Me.selectedProfile.DokumenttypString)
Me.cmbObjekttyp.SelectedItem = Me.selectedProfile.DokumenttypString
End If
'
Me.txtVerzoegerung.Text = Me.selectedProfile.Verzoegerung
Me.txtQuellordner.Text = Me.selectedProfile.Quellordner
Me.chkb_Subdirectories.Checked = Me.selectedProfile.Subdirectories
If Me.chkb_Subdirectories.Checked Then
Me.chkUVloeschen.Visible = True
Me.chkUVloeschen.Checked = Me.selectedProfile.UVVerzeichnisLoeschen
Else
Me.chkUVloeschen.Visible = False
End If
Me.txtZielordner.Text = Me.selectedProfile.Zielordner
Select Case Me.selectedProfile.Date_UV.ToString
Case "True"
chkb_DateUV.Checked = True
rbUV_Date1.Checked = True
Case "False"
chkb_DateUV.Checked = False
txtUV_Date.Text = ""
Case ""
chkb_DateUV.Checked = False
txtUV_Date.Text = ""
Case "YYYY-MM-DD"
chkb_DateUV.Checked = True
rbUV_Date1.Checked = True
Case "YYYY-MM"
chkb_DateUV.Checked = True
rbUV_Date2.Checked = True
Case "YYYY"
chkb_DateUV.Checked = True
rbUV_Date3.Checked = True
Case Else
chkb_DateUV.Checked = False
txtUV_Date.Text = ""
End Select
rbBoxenenablen()
Me.chkImportoptionenBackup.Checked = Me.selectedProfile.Backup
Me.txtBackupordner.Text = Me.selectedProfile.Backupordner
Me.chkDateienUeberschreiben.Checked = Me.selectedProfile.Overwrite
Me.chkDateienLoeschen.Checked = Me.selectedProfile.DateiLöschen
Me.chkQuellverzeichnisLoeschen.Checked = Me.selectedProfile.VerzeichnisLöschen
Me.chkbxlink2Navision.Checked = Me.selectedProfile.Link2Navision
If Me.chkbxlink2Navision.Checked = True Then
Me.txtLink2Navision.Text = My.Settings.PathLink2Navision
Me.txtLink2Navision.Enabled = True
Me.btnLink2Navision.Enabled = True
Me.cmbl2Nav_Index.Enabled = True
Me.cmbl2NavDokartindex.Enabled = True
load_indexe_inComboboxen()
Else
Me.txtLink2Navision.Enabled = False
Me.btnLink2Navision.Enabled = False
Me.cmbl2Nav_Index.Enabled = False
Me.cmbl2NavDokartindex.Enabled = False
End If
If CBool(Me.selectedProfile.Aktiv) = True Then
Me.chkbxAktiv.Checked = True
Me.chkbxAktiv.BackColor = Color.GreenYellow
Else
Me.chkbxAktiv.Checked = False
Me.chkbxAktiv.BackColor = Color.Transparent
End If
Me.txtlastRun.Text = Me.selectedProfile.LastRun
' Das Profil auf gespeichert setzen, da ja keine Änderungen am Profil selbst gemacht wurden. Das Profil
' hat jedoch zu diesem Zeitpunkt den Status HasChanges(), da der Inhalt der Steuerelemente verändert wurde.
Me.selectedProfile.setSaved()
Else
'Me.selectedProfile.Dokumenttyp
End If
' das Panel mit den Profil-Steuerelementen anzeigen
Me.pnlProfileigenschaften.Visible = True
' den Speichern-Button deaktivieren
'Me.btnSpeichern.Enabled = True
' den Löschen-Button deaktivieren
Me.btnLöschen.Enabled = True
' die abhängigen Steuerelemente (de-)aktivieren
Me.lblImportoptionenBackupOrdner.Enabled = Me.chkImportoptionenBackup.Checked
Me.txtBackupordner.Enabled = Me.chkImportoptionenBackup.Checked
Me.btnBackupordner.Enabled = Me.chkImportoptionenBackup.Checked
Me.chkDateienUeberschreiben.Enabled = Me.chkImportoptionenBackup.Checked
Me.chkQuellverzeichnisLoeschen.Enabled = Me.chkDateienLoeschen.Checked
'End If
End Sub
Sub rbBoxenenablen()
If txtUV_Date.Text = "" Then
rbUV_Date1.Enabled = False
rbUV_Date2.Enabled = False
rbUV_Date3.Enabled = False
Else
rbUV_Date1.Enabled = True
rbUV_Date2.Enabled = True
rbUV_Date3.Enabled = True
End If
End Sub
Sub load_indexe_inComboboxen()
Me.cmbl2NavDokartindex.Items.Clear()
Me.cmbl2Nav_Index.Items.Clear()
Dim indexe = _windream.GetIndicesByObjecttype(Me.selectedProfile.DokumenttypString, True, "DI")
If indexe IsNot Nothing Then
Me.cmbl2NavDokartindex.Items.Add("")
Me.cmbl2Nav_Index.Items.Add("")
For Each index As String In indexe
Me.cmbl2NavDokartindex.Items.Add(index)
Me.cmbl2Nav_Index.Items.Add(index)
Next
Me.cmbl2NavDokartindex.SelectedIndex = -1
Me.cmbl2NavDokartindex.SelectedItem = 0
Me.cmbl2Nav_Index.SelectedIndex = -1
Me.cmbl2Nav_Index.SelectedItem = 0
If Me.selectedProfile.Link2Navision_dokart <> "" Then
'Wenn bereits eine Dokart gewählt wurde
Me.cmbl2NavDokartindex.SelectedIndex = Me.cmbl2NavDokartindex.FindStringExact(Me.selectedProfile.Link2Navision_dokart)
Else
'Wenn noch KEINE Dokart gewählt wurde
Me.cmbl2NavDokartindex.SelectedIndex = -1
Me.cmbl2NavDokartindex.SelectedItem = ""
End If
If Me.selectedProfile.Link2Navision_Index <> "" Then
'Wenn bereits ein Index gewählt wurde
Me.cmbl2Nav_Index.SelectedIndex = Me.cmbl2Nav_Index.FindStringExact(Me.selectedProfile.Link2Navision_Index)
Else
'Wenn noch KEIN Index gewählt wurde
Me.cmbl2Nav_Index.SelectedIndex = -1
Me.cmbl2Nav_Index.SelectedItem = ""
End If
End If
End Sub
' ++++++++++++++++++++++++++++++++++++++++++++++ Events ++++++++++++++++++++++++++++++++++++++++++++++
' +++ Elemente auf Toolbar +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Private Sub cmbProfilauswahl_DropDownItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles cmbProfilauswahl.DropDownItemClicked
' wenn bereits ein Profil ausgewählt wurde
If Me.selectedProfile IsNot Nothing Then
' wenn es sich bei dem ausgewählten Element um das gleiche handelt wie das Aktive, dann nichts tun
If e.ClickedItem.Text = Me.selectedProfile.Profilname Then Exit Sub
If selectedProfile.HasChanges Then
Me.selectedProfile.Save(True)
End If
End If
'' Wenn Änderungen am Profil vorgenommen wurden, wird gefragt ob das Profil gespeichert werden soll.
'Dim changeProfile As Boolean = Me.AskToSaveIfNeccessary(False)
Lade_Profil(e.ClickedItem.Text)
End Sub
Private Sub btnHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHinzufügen.Click
' das Formular zum Erstellen eines neuen Profil öffnen
frmDIProfilHinzufuegen.ShowDialog()
'frmLogin_DI.ShowDialog()
'frmDIProfilHinzufuegen.ShowDialog()
' wenn das Formular geschlossen wurde, werden die Profile neu in die Combobox geladen
Me.LoadProfilesInCombobox()
End Sub
Private Sub btnLöschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLöschen.Click
' Fragen ob das Profil wirklich gelöscht werden soll
Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass sie das Profil '" & Me.selectedProfile.OriginalProfilname & "' löschen möchten?", MsgBoxStyle.YesNo, "Profil löschen")
' wenn das Profil gelöscht werden soll
If result = MsgBoxResult.Yes Then
' das Profil löschen
Dim prof As String = Me.selectedProfile.OriginalProfilname
If ClassDIProfile.DeleteProfil(Me.selectedProfile.OriginalProfilname) Then
MsgBox("Das Profil '" & prof & "' wurde erfolgreich gelöscht!", MsgBoxStyle.Information, "Erfolgsmeldung:")
' Panel mit Profileigenschaften schliessen
Me.pnlProfileigenschaften.Visible = False
' den Speichern-Button deaktivieren
Me.btnSpeichern.Enabled = False
' den Löschen-Button deaktivieren
Me.btnLöschen.Enabled = False
' kein Profil als selektiert wählen
Me.selectedProfile = Nothing
Me.lblProfil.Text = "Kein Profil gewählt"
' die Profile neu in die Combobox laden
Me.LoadProfilesInCombobox()
End If
End If
End Sub
Private Sub btnSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichern.Click
Dim originalProfilname As String = Me.selectedProfile.OriginalProfilname
' wenn kein Profil gewählt wurde, soll das Event abgebrochen werden
If Me.selectedProfile Is Nothing Then Exit Sub
' wenn Veränderungen am Profil gemacht wurden
If Me.selectedProfile.HasChanges Then
If Me.txtProfilname.Text = "" Then
MsgBox("Es wurde kein Profilname angegeben. Bitte tragen Sie einen in das Feld Profilname ein.", MsgBoxStyle.Information, "Eingabe erwartet")
Exit Sub
End If
' prüfen ob der Profilname geändert wurde
If Not Me.selectedProfile.OriginalProfilname = Me.txtProfilname.Text Then
' prüfen ob der eingegebene Profilname schon vorhanden ist
If ClassDIProfile.Profilname_Exists(Me.txtProfilname.Text) Then
MsgBox("Der angegebene Profilname existiert bereits. Bitte wählen Sie einen anderen Profilnamen.", MsgBoxStyle.Information, "Ungültige Eingabe")
Exit Sub
Else
' sonst den neuen Profilnamen vorerst einmal ändern
Me.selectedProfile.Profilname = Me.txtProfilname.Text
End If
End If
' prüfen ob bei aktiviertem Backup auch ein Backupordner angegeben wurde
If Me.chkImportoptionenBackup.Checked And (Me.txtBackupordner.Text = "" Or Not My.Computer.FileSystem.DirectoryExists(Me.txtBackupordner.Text)) Then
MsgBox("Wenn das Erstellen von Sicherheitskopien aktiviert ist, dann muss auch ein Verzeichnis angegeben werden, in dem die Sicherheitskopien abgelegt werden.", MsgBoxStyle.Information, "Eingabe erwartet")
Exit Sub
End If
' die Änderungen speichern
If Me.selectedProfile.Save(True) = True Then ' wenn das Speichern erfolgreich war
' den Speichern-Button deaktivieren
Me.btnSpeichern.Enabled = False
' die Profile neu in die Combobox der Toolbar laden (für den Fall das Profilname geändert wurde)
Me.LoadProfilesInCombobox()
Else
MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden.", MsgBoxStyle.Exclamation, "Fehler beim Speichern eines Profils")
Me.txtProfilname.Text = originalProfilname
Me.txtQuellordner.Text = Me.selectedProfile.Quellordner
Me.txtZielordner.Text = Me.selectedProfile.Zielordner
Me.txtBackupordner.Text = Me.selectedProfile.Backupordner
Me.chkDateienLoeschen.Checked = Me.selectedProfile.DateiLöschen
Me.chkDateienUeberschreiben.Checked = Me.selectedProfile.Overwrite
Me.chkImportoptionenBackup.Checked = Me.selectedProfile.Backup
Me.chkQuellverzeichnisLoeschen.Checked = Me.selectedProfile.DateiLöschen
End If
End If
End Sub
Private Function Check_Aenderung()
Try
'Wenn Änderungen am Profil vorenommen wurden, wid gefragt, ob die Änderugnen gespeicehrt werden sollen!
If Me.selectedProfile IsNot Nothing Then
' wenn es Änderungen am Profil gibt
If Me.selectedProfile.HasChanges Then
' klären wie mit den veränderten Informationen verfahren werden soll
Dim result As MsgBoxResult = MsgBox("Möchten Sie Ihre Änderungen vor dem Schließen speichern?", MsgBoxStyle.YesNoCancel, "Änderungen übernehmen")
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
' die Profile neu in die Combobox der Toolbar laden (für den Fall das Profilname geändert wurde)
Me.LoadProfilesInCombobox()
' die Profileigenschaften auf diesem Panel ausblenden
Me.pnlProfileigenschaften.Visible = False
' den Speichern-Button deaktivieren
Me.btnSpeichern.Enabled = False
' den Löschen-Button deaktivieren
Me.btnLöschen.Enabled = False
' kein selectedProfile wählen
Me.selectedProfile = Nothing
Return "Gespeichert"
End If
ElseIf result = MsgBoxResult.No Then ' wenn die Daten verworfen werden sollen
' wenn ein Profil selektiert ist: den originalen Profilnamen setzen
If Me.selectedProfile IsNot Nothing Then Me.selectedProfile.SetBackToOriginal()
' die Profileigenschaften auf diesem Panel ausblenden
Me.pnlProfileigenschaften.Visible = False
' den Speichern-Button deaktivieren
Me.btnSpeichern.Enabled = False
' den Löschen-Button deaktivieren
Me.btnLöschen.Enabled = False
' kein selectedProfile wählen
Me.selectedProfile = Nothing
Return "Nein"
ElseIf result = MsgBoxResult.Cancel Then ' wenn die Aktion abgebrochen werden soll
' die nachfolgende Aktion (das Schließen aller Fenster und das Öffnen des neuen) wird verhindert
Return "Abbruch"
End If
Else ' wenn keine Änderungen gemacht wurden
Return "keineAenderung"
' wenn ein Profil selektiert ist: den originalen Profilnamen setzen
If Me.selectedProfile IsNot Nothing Then Me.selectedProfile.SetBackToOriginal()
' die Profileigenschaften auf diesem Panel ausblenden
Me.pnlProfileigenschaften.Visible = False
' den Speichern-Button deaktivieren
Me.btnSpeichern.Enabled = False
' den Löschen-Button deaktivieren
Me.btnLöschen.Enabled = False
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Überprüfen auf Änderungen an Profilen:")
End Try
End Function
' +++ Anzeige-Events +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Private Sub frmDIProfilEigenschaften_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Check_Aenderung() = "Abbruch" Then
e.Cancel = True
End If
End Sub
Private Sub frmDIProfilEigenschaften_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Formloaded = True
End Sub
Private Sub frmDIProfilEigenschaften_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
If Formloaded = True Then
If Me.Size.Height > 300 Then
' alle Profile in die Toolbar-Combobox eintragen
Me.LoadProfilesInCombobox()
Else
' Wenn Änderungen am Profil vorgenommen wurden, wird gefragt ob das Profil gespeichert werden soll.
Check_Aenderung()
End If
End If
End Sub
' +++ Buttons für Verzeichnis-Textboxen +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Private Sub btnQuellordner_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuellordner.Click
Me.dlgQuellordner.SelectedPath = Me.txtQuellordner.Text
If Me.dlgQuellordner.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.txtQuellordner.Text = Me.dlgQuellordner.SelectedPath
End If
End Sub
Private Sub btnZielordner_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZielordner.Click
' den zuletzt gewählten Ordner im Folder-Dialog auswählen
Me.dlgZielordner.SelectedPath = Me.txtZielordner.Text
' wenn ein Ordner ausgewählt wurde
If Me.dlgZielordner.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim ZielTemp = Me.dlgZielordner.SelectedPath
' wenn sich der ausgewählte Ordner auf dem windream-Laufwerk befindet
If ZielTemp.Substring(0, 3) = My.Settings.vWLaufwerk & ":" & "\" Then '_windream.GetWindreamDriveLetter()
' den neuen Ordner eintragen
Me.txtZielordner.Text = ZielTemp
Else
' sonst eine entsprechende Fehlermeldung ausgeben
MsgBox("Das Zielverzeichnis muss sich auf dem windream-Laufwerk befinden.", MsgBoxStyle.Exclamation, "Ungültiges Zielverzeichnis")
End If
End If
End Sub
Private Sub btnBackupordner_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackupordner.Click
' den zuletzt gewählten Ordner im Folder-Dialog auswählen
Me.dlgBackupordner.SelectedPath = Me.txtBackupordner.Text
' wenn ein Ordner ausgewählt wurde
If Me.dlgBackupordner.ShowDialog = Windows.Forms.DialogResult.OK Then
' den neuen Ordner eintragen
Me.txtBackupordner.Text = Me.dlgBackupordner.SelectedPath
End If
End Sub
' +++ Änderungen an Profil-Steuerelementen ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
' +++ Die Änderungen an Steuerelementen veranlassen eine Zuweisung an die entsprechenden Properties. Dadurch erhält
' +++ das Profil automatisch den Status HasChanges. Die Änderungen werden selbstverständlich nur durchgeführt, wenn
' +++ ein Profil geladen wurde.
Private Sub txtProfilname_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtProfilname.TextChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Profilname = Me.txtProfilname.Text
CURRENT_PROFILENAME = Me.selectedProfile.Profilname
If Not Me.txtProfilname.Text = Me.selectedProfile.OriginalProfilname Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End Sub
Private Sub txtQuellordner_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtQuellordner.TextChanged
If Me.selectedProfile IsNot Nothing Then
If Directory.Exists(txtQuellordner.Text) Then
Me.selectedProfile.Quellordner = Me.txtQuellordner.Text
If Not Me.txtQuellordner.Text = Me.selectedProfile.OriginalQuellordner Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
Else
MsgBox("Der angegebene Quellordner '" & txtQuellordner.Text & "' existiert nicht!", MsgBoxStyle.Exclamation, "Achtung:")
End If
End If
End Sub
Private Sub txtZielordner_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtZielordner.TextChanged
If Me.selectedProfile IsNot Nothing Then
If Directory.Exists(txtZielordner.Text) Then
Me.selectedProfile.Zielordner = Me.txtZielordner.Text
If Not Me.txtZielordner.Text = Me.selectedProfile.OriginalZielordner Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
Else
MsgBox("Der angegebene Ordner '" & txtZielordner.Text & "' existiert nicht!", MsgBoxStyle.Exclamation, "Achtung:")
End If
End If
End Sub
Private Sub chkImportoptionenBackup_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkImportoptionenBackup.CheckedChanged
Try
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Backup = Me.chkImportoptionenBackup.Checked
' abhängige Steuerelemente (de-)aktivieren
Me.lblImportoptionenBackupOrdner.Enabled = Me.chkImportoptionenBackup.Checked
Me.txtBackupordner.Enabled = Me.chkImportoptionenBackup.Checked
Me.btnBackupordner.Enabled = Me.chkImportoptionenBackup.Checked
Me.chkDateienUeberschreiben.Enabled = Me.chkImportoptionenBackup.Checked
If Not Me.chkImportoptionenBackup.Checked = Me.selectedProfile.OriginalBackup Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei chkImportoptionenBackup.CheckedChanged:")
End Try
End Sub
Private Sub txtBackupordner_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBackupordner.TextChanged
If Me.selectedProfile IsNot Nothing Then
If Directory.Exists(txtBackupordner.Text) Then
Me.selectedProfile.Backupordner = Me.txtBackupordner.Text
If Not Me.txtBackupordner.Text = Me.selectedProfile.OriginalBackupordner Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
Else
MsgBox("Der angegebene Ordner '" & txtBackupordner.Text & "' existiert nicht!", MsgBoxStyle.Exclamation, "Achtung:")
End If
End If
End Sub
Private Sub chkDateienUeberschreiben_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkDateienUeberschreiben.CheckedChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Overwrite = Me.chkDateienUeberschreiben.Checked
If Not Me.chkDateienUeberschreiben.Checked = Me.selectedProfile.OriginalOverwrite Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End Sub
Private Sub chkDateienLoeschen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkDateienLoeschen.CheckedChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.DateiLöschen = Me.chkDateienLoeschen.Checked
If Not Me.chkDateienLoeschen.Checked = Me.selectedProfile.OriginalDateiLöschen Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End Sub
Private Sub chkQuellverzeichnisLoeschen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkQuellverzeichnisLoeschen.CheckedChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.VerzeichnisLöschen = Me.chkQuellverzeichnisLoeschen.Checked
If Not Me.chkQuellverzeichnisLoeschen.Checked = Me.selectedProfile.OriginalVerzeichnisLöschen Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End Sub
Private Sub btnRegeln_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegeln.Click
'Dim regelverwaltung As Control = New pnlDateiimportRegelverwaltung()
ClassDIProfile.aktivesProfil = Me.selectedProfile
ClassDIProfile.aktivesProfilAusProfileigenschaften = True
Cursor = Cursors.WaitCursor
Dim frm As New frmDIRegelverwaltung
frm = frmDIRegelverwaltung.Instance
frm.MdiParent = frmStart
frm.Show()
frm.BringToFront()
Cursor = Cursors.Default
'Dim ctnl() As Control = Me.ParentForm.Controls.Find("pnlDateiimportRegelverwaltung", False)
'ctnl(0).Visible = True
End Sub
Private Sub chkb_DateUV_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkb_DateUV.CheckedChanged
If chkb_DateUV.Checked Then
Dim variante As String = ""
Select Case selectedProfile.Date_UV
Case "YYYY-MM-DD"
rbUV_Date1.Checked = True
variante = "YYYY-MM-DD"
Case "YYYY-MM"
rbUV_Date2.Checked = True
variante = "YYYY-MM"
Case "YYYY"
rbUV_Date3.Checked = True
variante = "YYYY"
Case "False"
chkb_DateUV.Checked = False
variante = ""
Case "True"
rbUV_Date1.Checked = True
variante = "YYYY-MM-DD"
Case Else
rbUV_Date1.Checked = True
variante = "YYYY-MM-DD"
End Select
txtUV_Date.Text = variante
Else
txtUV_Date.Text = ""
End If
rbBoxenenablen()
'If Not Me.txtUV_Date.Text = Me.selectedProfile.OriginalDate_UV Then
' Me.btnSpeichern.Enabled = True
'Else
' Me.btnSpeichern.Enabled = False
'End If
End Sub
Private Sub chkbxAktiv_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkbxAktiv.CheckedChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Aktiv = Me.chkbxAktiv.Checked
If Not Me.selectedProfile.Aktiv = Me.selectedProfile.OriginalAktiv Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
If Me.chkbxAktiv.Checked Then
Me.chkbxAktiv.BackColor = Color.GreenYellow
Else
Me.chkbxAktiv.BackColor = Color.Transparent
End If
End Sub
Private Sub txtVerzoegerung_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtVerzoegerung.TextChanged
If IsNumeric(txtVerzoegerung.Text) Then
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Verzoegerung = Me.txtVerzoegerung.Text
If Not Me.txtVerzoegerung.Text = Me.selectedProfile.OriginalVerzoegerung Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
Else
MsgBox("Hier sind nur Zahlen erlaubt!", MsgBoxStyle.Critical)
txtVerzoegerung.Text = "500"
End If
End Sub
Private Sub Label6_Click(sender As System.Object, e As System.EventArgs) Handles Label6.Click
End Sub
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)
End If
Else
'Noch kein Profil geladen also das erste laden
If arrProfile.GetUpperBound(0) >= 0 Then
_pos = 0
Lade_Profil(arrProfile(0, 0))
End If
Exit Sub
End If
If arrProfile.GetUpperBound(0) >= 0 Then
Lade_Profil(arrProfile(arrProfile.GetLowerBound(0), 0))
_pos = arrProfile.GetLowerBound(0)
End If
End Sub
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)
End If
Else
'Noch kein Profil geladen also das erste laden
If arrProfile.GetUpperBound(0) >= 0 Then
_pos = 0
Lade_Profil(arrProfile(0, 0))
End If
Exit Sub
End If
'Eine Position niedriger
_pos = _pos - 1
If arrProfile.GetLowerBound(0) <= _pos Then
For i = 0 To arrProfile.GetUpperBound(0)
If arrProfile(i, 1) = _pos Then
Lade_Profil(arrProfile(i, 0))
End If
Next
Else
'Erste Position
_pos = arrProfile.GetLowerBound(0)
MsgBox("Dies ist das erste Profil", MsgBoxStyle.Information, "Hinweis:")
End If
End Sub
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)
End If
Else
'Noh kein Profil geladen also das erste laden
If arrProfile.GetUpperBound(0) > 0 Then
_pos = 0
Lade_Profil(arrProfile(0, 0))
End If
Exit Sub
End If
'Eine Position höher
_pos = _pos + 1
'MsgBox(_pos & vbNewLine & "AnzahL: " & arrProfile.GetUpperBound(0))
If arrProfile.GetUpperBound(0) >= _pos Then
For i = 0 To arrProfile.GetUpperBound(0)
If arrProfile(i, 1) = _pos Then
Lade_Profil(arrProfile(i, 0))
End If
Next
Else
'MsgBox("letztes")
_pos = arrProfile.GetUpperBound(0)
MsgBox("Dies ist das letzte Profil", MsgBoxStyle.Information, "Hinweis:")
End If
End Sub
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)
End If
Else
'Noch kein Profil geladen also das erste laden
If arrProfile.GetUpperBound(0) >= 0 Then
_pos = arrProfile.GetUpperBound(0)
Lade_Profil(arrProfile(arrProfile.GetUpperBound(0), 0))
End If
Exit Sub
End If
If arrProfile.GetUpperBound(0) >= 0 Then
Lade_Profil(arrProfile(arrProfile.GetUpperBound(0), 0))
_pos = arrProfile.GetUpperBound(0)
End If
End Sub
Private Sub chkbxlink2Navision_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkbxlink2Navision.CheckedChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Link2Navision = Me.chkbxlink2Navision.Checked
If Not Me.chkbxlink2Navision.Checked = Me.selectedProfile.OriginalLink2Navision Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
If Me.chkbxlink2Navision.Checked Then
Me.txtLink2Navision.Enabled = True
Me.btnLink2Navision.Enabled = True
Me.cmbl2NavDokartindex.Enabled = True
Me.cmbl2Nav_Index.Enabled = True
load_indexe_inComboboxen()
Else
Me.txtLink2Navision.Enabled = False
Me.btnLink2Navision.Enabled = False
Me.cmbl2NavDokartindex.Enabled = False
Me.cmbl2Nav_Index.Enabled = False
End If
End If
End Sub
Private Sub btnLink2Navision_Click(sender As System.Object, e As System.EventArgs) Handles btnLink2Navision.Click
With OpenFileDialog1
' Do
.Filter = "NavisionLink.exe|*.exe"
.FilterIndex = 1
.Title = "Pfad zu DDNavisionLink:"
If .ShowDialog() = DialogResult.OK Then
Me.txtLink2Navision.Text = .FileName
setAppSetting("PathLink2Navision", .FileName)
Me.txtLink2Navision.Text = .FileName
End If
End With
End Sub
Private Sub setAppSetting(ByVal name As String, ByVal value As String)
Dim _folder As New IO.DirectoryInfo(System.IO.Directory.GetCurrentDirectory())
Dim aryFi1 As IO.FileInfo() = _folder.GetFiles("*.config")
For Each fi As FileInfo In aryFi1
If fi.Name.StartsWith("ToolCollection.exe") Then
Dim xmlDoc As New XmlDocument()
xmlDoc.PreserveWhitespace = True
xmlDoc.Load(fi.FullName)
Dim appSettingNode As XmlNode = xmlDoc.SelectSingleNode("configuration/applicationSettings")
Dim settingNode As XmlNode = appSettingNode.SelectSingleNode(String.Format("//setting[@name='{0}']", name))
Dim valueNode As XmlNode = settingNode.SelectSingleNode("value")
valueNode.InnerText = value
xmlDoc.Save(fi.FullName)
End If
Next
End Sub
Private Sub cmbl2NavDokartindex_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbl2NavDokartindex.SelectedIndexChanged
If Me.selectedProfile IsNot Nothing Then
If Me.cmbl2NavDokartindex.SelectedIndex <> -1 Then
Me.selectedProfile.Link2Navision_dokart = Me.cmbl2NavDokartindex.Text
If Not Me.selectedProfile.Link2Navision_dokart = Me.selectedProfile.OriginalLink2Navision_dokart Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End If
End Sub
Private Sub cmbl2Nav_Index_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbl2Nav_Index.SelectedIndexChanged
If Me.selectedProfile IsNot Nothing Then
If Me.cmbl2Nav_Index.SelectedIndex <> -1 Then
Me.selectedProfile.Link2Navision_Index = Me.cmbl2Nav_Index.Text
If Not Me.selectedProfile.Link2Navision_Index = Me.selectedProfile.Link2Navision_Index Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End If
End Sub
Private Sub cmbProfilauswahl_ButtonClick(sender As System.Object, e As System.EventArgs) Handles cmbProfilauswahl.ButtonClick
End Sub
Private Sub chkb_Subdirectories_CheckedChanged(sender As Object, e As EventArgs) Handles chkb_Subdirectories.CheckedChanged
Try
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Subdirectories = Me.chkb_Subdirectories.Checked
If Not Me.chkb_Subdirectories.Checked = Me.selectedProfile.OriginalSubdirectories Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
If chkb_Subdirectories.Checked Then
Me.chkUVloeschen.Visible = True
Else
Me.chkUVloeschen.Visible = False
Me.chkUVloeschen.Checked = False
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei chkb_Subdirectories.CheckedChanged:")
End Try
End Sub
Private Sub chkUVloeschen_CheckedChanged(sender As Object, e As EventArgs) Handles chkUVloeschen.CheckedChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.UVVerzeichnisLoeschen = Me.chkUVloeschen.Checked
If Not Me.chkUVloeschen.Checked = Me.selectedProfile.Original_UVVerzeichnisLoeschen Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
If chkUVloeschen.Checked Then
If chkDateienLoeschen.Checked = False Then
chkDateienLoeschen.Checked = True
End If
End If
End If
End Sub
Private Sub rbUV_Date2_CheckedChanged(sender As Object, e As EventArgs) Handles rbUV_Date2.CheckedChanged
If rbUV_Date2.Checked Then
txtUV_Date.Text = "YYYY-MM"
End If
End Sub
Private Sub rbUV_Date3_CheckedChanged(sender As Object, e As EventArgs) Handles rbUV_Date3.CheckedChanged
If rbUV_Date3.Checked Then
txtUV_Date.Text = "YYYY"
End If
End Sub
Private Sub rbUV_Date1_CheckedChanged(sender As Object, e As EventArgs) Handles rbUV_Date1.CheckedChanged
If rbUV_Date1.Checked Then
txtUV_Date.Text = "YYYY-MM-DD"
End If
End Sub
Private Sub txtUV_Date_TextChanged(sender As Object, e As EventArgs) Handles txtUV_Date.TextChanged
If Me.selectedProfile IsNot Nothing Then
Me.selectedProfile.Date_UV = Me.txtUV_Date.Text
If Not Me.txtUV_Date.Text = Me.selectedProfile.OriginalDate_UV Then
Me.btnSpeichern.Enabled = True
Else
Me.btnSpeichern.Enabled = False
End If
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If CURRENT_PROFILENAME = "" Then
MsgBox("Please choose a Profile!", MsgBoxStyle.Exclamation)
Exit Sub
End If
frmDIRegex.ShowDialog()
End Sub
End Class