433 lines
20 KiB
VB.net
433 lines
20 KiB
VB.net
Public Class frmMIProfileigenschaften
|
|
' entspricht dem, über die Toolbar-Combobox ausgewählten, Profil und enthält alle relevanten Informationen darüber
|
|
Private _selectedProfile As ClassMI_Profil
|
|
Dim Formloaded As Boolean = False
|
|
Public Shared _windream As New ClassWindream_allgemein(CURR_LogConfig)
|
|
Private Shared _Instance As frmMIProfileigenschaften = Nothing
|
|
Public Shared Function Instance() As frmMIProfileigenschaften
|
|
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
|
_Instance = New frmMIProfileigenschaften
|
|
End If
|
|
_Instance.BringToFront()
|
|
Return _Instance
|
|
End Function
|
|
''' <summary>
|
|
''' Konstruktor des Panels. Laden der Profilnamen in die Auswahliste.
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Sub New()
|
|
|
|
' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
Me.LoadProfilesInCombobox()
|
|
End Sub
|
|
|
|
|
|
' ++++++++++++++++++++++++++++++++++++++++++++++ Methoden ++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
''' <summary>
|
|
''' Schreibt die Profile in die Combobox in der Toolbar.
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub LoadProfilesInCombobox()
|
|
|
|
Try
|
|
ClassMI_Profile.Init()
|
|
|
|
Me.cmbProfilauswahl.DropDownItems.Clear()
|
|
|
|
If ClassMI_Profile.Profile IsNot Nothing Then
|
|
For Each item As ClassMI_Profil In ClassMI_Profile.Profile
|
|
Me.cmbProfilauswahl.DropDownItems.Add(item.Profilname)
|
|
Next
|
|
End If
|
|
txtConfig.Text = My.Application.Info.DirectoryPath & "\" & My.Settings.vMIConfigDatei
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Laden der Profile in die Auswahlliste")
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
' ''' <summary>
|
|
' ''' Wenn Änderungen am Profil vorgenommen wurden, wird gefragt ob das Profil gespeichert werden soll.
|
|
' ''' Yes : Profil wird gespeichert und anschließend wird das Hauptpanel geschlossen
|
|
' ''' No : das Hauptpanel wird geschlossen (ohne Speichern)
|
|
' ''' Cancel : das Schließen des Hauptpanels wird verhindert (das Profil bleibt erhalten)
|
|
' ''' </summary>
|
|
' ''' <returns>Gibt False zurück, wenn die Aktion abgebrochen wurde, sonst True.</returns>
|
|
' ''' <remarks>Gibt die Funktion True zurück, geht der Vorgang normal weiter. Gibt die Funktion
|
|
' ''' jedoch False zurück, so soll z.B. der Wechsel des Profil NICHT durchgeführt werden.</remarks>
|
|
Private Function Check_Aenderung()
|
|
' wenn ein Profil gewählt ist
|
|
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 vorher speichern?", MsgBoxStyle.YesNoCancel, "Änderungen übernehmen")
|
|
If result = MsgBoxResult.Yes Then ' wenn die Daten gespeichert werden sollen
|
|
If Not Me.txtProfilname.Text = "" And Not Me.txtServername.Text = "" And Not Me.txtWdfSuche.Text = "" Then
|
|
|
|
' die Änderungen speichern
|
|
If Me._selectedProfile.Save() = 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.pnlWindreamsuche.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
|
|
|
|
|
|
End If
|
|
Else
|
|
MsgBox("Es wurde nicht alle notwendigen Angaben gemacht. Bitte überprüfen Sie Ihre Eingaben auf Vollständigkeit.", MsgBoxStyle.Exclamation, "Eingabe erwartet")
|
|
|
|
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.pnlWindreamsuche.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
|
|
|
|
Return "Abbruch"
|
|
|
|
End If
|
|
|
|
Else ' wenn keine Änderungen gemacht wurden
|
|
|
|
' 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.pnlWindreamsuche.Visible = False
|
|
' den Speichern-Button deaktivieren
|
|
Me.btnSpeichern.Enabled = False
|
|
' den Löschen-Button deaktivieren
|
|
Me.btnLöschen.Enabled = False
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
|
|
|
|
' ++++++++++++++++++++++++++++++++++++++++++++++ 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
|
|
End If
|
|
|
|
'' Wenn Änderungen am Profil vorgenommen wurden, wird gefragt ob das Profil gespeichert werden soll.
|
|
'Dim wechselnDesProfilsFortsetzen As Boolean = Me.AskToSaveIfNeccessary(False)
|
|
|
|
'' wenn die Aktion des Profilwechsels ausgeführt werden soll, also nicht über die Messagebox mit
|
|
'' Cancel abgebrochen wurde -> Profilwechsel durchführen
|
|
'If wechselnDesProfilsFortsetzen Then
|
|
|
|
' das ausgewählte Profil in selectedProfile laden
|
|
Me._selectedProfile = ClassMI_Profile.getProfilByName(e.ClickedItem.Text)
|
|
|
|
' 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
|
|
If Me._selectedProfile.Dokumenttyp IsNot Nothing Then
|
|
Me.cmbObjekttyp.Items.Clear()
|
|
Me.cmbObjekttyp.ForeColor = System.Drawing.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 = System.Drawing.Color.Red
|
|
Me.cmbObjekttyp.Items.Add(Me._selectedProfile.DokumenttypString)
|
|
Me.cmbObjekttyp.SelectedItem = Me._selectedProfile.DokumenttypString
|
|
End If
|
|
Me.txtServername.Text = Me._selectedProfile.Servername
|
|
Me.txtWdfSuche.Text = Me._selectedProfile.WdfSuche
|
|
Me.chkSuchmaskeZeigen.Checked = Me._selectedProfile.ZeigeSuchmaske
|
|
|
|
Me.lblProfil.Text = "Profil: " & e.ClickedItem.Text
|
|
|
|
Me.lbxParameter.Items.Clear()
|
|
|
|
If Me._selectedProfile._parameter IsNot Nothing Then
|
|
For Each param As String In Me._selectedProfile._parameter
|
|
Me.lbxParameter.Items.Add(param)
|
|
Next
|
|
End If
|
|
|
|
' 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()
|
|
|
|
' das Panel mit den Profil-Steuerelementen anzeigen
|
|
Me.pnlWindreamsuche.Visible = True
|
|
' den Speichern-Button deaktivieren
|
|
Me.btnSpeichern.Enabled = False
|
|
' den Löschen-Button deaktivieren
|
|
Me.btnLöschen.Enabled = True
|
|
|
|
End If
|
|
|
|
'' die abhängigen Steuerelemente (de-)aktivieren
|
|
'End If
|
|
|
|
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
|
|
Dim frmProfilHinzufügen As New frmMI_Profilhinzufuegen
|
|
frmProfilHinzufügen.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
|
|
If ClassMI_Profile.Delete(Me._selectedProfile.OriginalProfilname) Then
|
|
' Panel mit Profileigenschaften schliessen
|
|
Me.pnlWindreamsuche.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
|
|
' 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
|
|
|
|
' 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 Fald Profilname ein.", MsgBoxStyle.Information, "Eingabe erwartet")
|
|
Exit Sub
|
|
End If
|
|
|
|
' prüfen ob ein Servername angegeben wurde
|
|
If Me.txtServername.Text = "" Then
|
|
MsgBox("Es wurde kein Servername angegeben. Bitte tragen Sie einen Servernamen ein.", MsgBoxStyle.Information, "Eingabe erwartet")
|
|
Exit Sub
|
|
End If
|
|
|
|
' prüfen ob eine windream-Suche angegeben wurde
|
|
If Me.txtWdfSuche.Text = "" Then
|
|
MsgBox("Es wurde keine windream-Suche angegeben. Bitte wählen Sie eine windream-Suche aus.", 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 ClassMI_Profile.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
|
|
End If
|
|
End If
|
|
|
|
' die Änderungen speichern
|
|
If Me._selectedProfile.Save() = 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
|
|
'Dim result As MsgBoxResult = MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden." & vbNewLine & vbNewLine & "Sie können jedoch versuchen das Profil neu anzulegen. Möchten Sie dies versuchen?", MsgBoxStyle.YesNo, "Fehler beim Speichern eines Profils")
|
|
'Dim msg As System.Windows.Forms.MessageBox = System.Windows.Forms.MessageBox("Das Profil konnte nicht erfolgreich gespeichert werden." & vbNewLine & vbNewLine & "Sie können jedoch versuchen das Profil neu anzulegen. Möchten Sie dies versuchen?", MsgBoxStyle.YesNo, "Fehler beim Speichern eines Profils")
|
|
|
|
If System.Windows.Forms.MessageBox.Show("Das Profil konnte nicht erfolgreich gespeichert werden." & vbNewLine & vbNewLine & "Sie können jedoch versuchen das Profil neu anzulegen. Möchten Sie dies versuchen?", "Fehler beim Speichern eines Profils", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Exclamation, Windows.Forms.MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then
|
|
If ClassMI_Profile.Add(Me.txtProfilname.Text, Me.cmbObjekttyp.SelectedItem, Me.txtServername.Text, Me.chkSuchmaskeZeigen.Checked, Me.txtWdfSuche.Text) Then
|
|
MsgBox("Das Profil '" & Me.txtProfilname.Text & "' konnte erfolgreich angelegt werden.", MsgBoxStyle.Information, "Profil wurde angelegt")
|
|
|
|
Me._selectedProfile = ClassMI_Profile.getProfilByName(Me.txtProfilname.Text)
|
|
|
|
Me._selectedProfile.Profilname = Me.txtProfilname.Text
|
|
Me._selectedProfile.Dokumenttyp = _windream.GetObjecttypeByName(Me.cmbObjekttyp.SelectedItem, False)
|
|
Me._selectedProfile.Servername = Me.txtServername.Text
|
|
Me._selectedProfile.WdfSuche = Me.txtWdfSuche.Text
|
|
Me._selectedProfile.ZeigeSuchmaske = Me.chkSuchmaskeZeigen.Checked
|
|
|
|
Me._selectedProfile.ÜbernehmeAktuelleWerte()
|
|
|
|
Me.btnSpeichern.Enabled = False
|
|
|
|
Me.LoadProfilesInCombobox()
|
|
Else
|
|
MsgBox("Das Profil '" & Me.txtProfilname.Text & "' konnte nicht erfolgreich angelegt werden.", MsgBoxStyle.Exclamation, "Profil konnte nicht angelegt werden")
|
|
End If
|
|
ClassMI_Profile.LoadFromXmlFile()
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnWdfSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWdfSuche.Click
|
|
If Me.dlgWindreamSuche.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
|
Me.txtWdfSuche.Text = Me.dlgWindreamSuche.FileName
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnWdfSucheLöschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
Me.txtWdfSuche.Text = ""
|
|
End Sub
|
|
|
|
Private Sub txtWdfSuche_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtWdfSuche.TextChanged
|
|
Me._selectedProfile.WdfSuche = Me.txtWdfSuche.Text
|
|
If Not Me.txtWdfSuche.Text = Me._selectedProfile.OriginalWdfSuche Then
|
|
Me.btnSpeichern.Enabled = True
|
|
Else
|
|
Me.btnSpeichern.Enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub txtServername_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtServername.TextChanged
|
|
If Me._selectedProfile IsNot Nothing Then
|
|
Me._selectedProfile.Servername = Me.txtServername.Text
|
|
If Not Me.txtServername.Text = Me._selectedProfile.OriginalServername Then
|
|
Me.btnSpeichern.Enabled = True
|
|
Else
|
|
Me.btnSpeichern.Enabled = False
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub chkSuchmaskeZeigen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkSuchmaskeZeigen.CheckedChanged
|
|
If Me._selectedProfile IsNot Nothing Then
|
|
Me._selectedProfile.ZeigeSuchmaske = Me.chkSuchmaskeZeigen.Checked
|
|
If Not Me.chkSuchmaskeZeigen.Checked = Me._selectedProfile.OriginalZeigeSuchmaske Then
|
|
Me.btnSpeichern.Enabled = True
|
|
Else
|
|
Me.btnSpeichern.Enabled = False
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
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
|
|
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 btnParameterHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParameterHinzufügen.Click
|
|
Dim frmParameterHinzufügen As New frmMIParameterHinzufügen
|
|
|
|
frmParameterHinzufügen.selectedProfil = Me._selectedProfile
|
|
|
|
frmParameterHinzufügen.ShowDialog()
|
|
|
|
Me.lbxParameter.Items.Clear()
|
|
|
|
If Me._selectedProfile._parameter IsNot Nothing Then
|
|
For Each parameter As String In Me._selectedProfile._parameter
|
|
If Not parameter = "" Then Me.lbxParameter.Items.Add(parameter)
|
|
Next
|
|
End If
|
|
|
|
Me._selectedProfile.SaveParameters()
|
|
End Sub
|
|
|
|
Private Sub btnParameterLöschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParameterLöschen.Click
|
|
Me._selectedProfile.RemoveParameter(Me.lbxParameter.SelectedItem)
|
|
Me.lbxParameter.Items.Remove(Me.lbxParameter.SelectedItem)
|
|
Me._selectedProfile.SaveParameters()
|
|
End Sub
|
|
|
|
Private Sub btnParameterHoch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParameterHoch.Click
|
|
|
|
If Me.lbxParameter.Items.Count > 1 Then
|
|
Dim tempParameter As String = Me.lbxParameter.SelectedItem
|
|
|
|
Me._selectedProfile.ShiftParameterHoch(Me.lbxParameter.SelectedItem)
|
|
|
|
Me.lbxParameter.Items.Clear()
|
|
|
|
If Me._selectedProfile._parameter IsNot Nothing Then
|
|
For Each parameter As String In Me._selectedProfile._parameter
|
|
If Not parameter = "" Then Me.lbxParameter.Items.Add(parameter)
|
|
Next
|
|
End If
|
|
|
|
Me.lbxParameter.SelectedItem = tempParameter
|
|
|
|
Me._selectedProfile.SaveParameters()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnParameterRunter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParameterRunter.Click
|
|
|
|
If Me.lbxParameter.Items.Count > 1 Then
|
|
|
|
Dim tempParameter As String = Me.lbxParameter.SelectedItem
|
|
|
|
Me._selectedProfile.ShiftParameterRunter(Me.lbxParameter.SelectedItem)
|
|
|
|
Me.lbxParameter.Items.Clear()
|
|
|
|
If Me._selectedProfile._parameter IsNot Nothing Then
|
|
For Each parameter As String In Me._selectedProfile._parameter
|
|
If Not parameter = "" Then Me.lbxParameter.Items.Add(parameter)
|
|
Next
|
|
End If
|
|
|
|
Me.lbxParameter.SelectedItem = tempParameter
|
|
|
|
Me._selectedProfile.SaveParameters()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmMIProfileigenschaften_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
|
|
If Check_Aenderung() = "Abbruch" Then
|
|
e.Cancel = True
|
|
End If
|
|
End Sub
|
|
End Class |