Imports System.ComponentModel Imports System.Data.SqlClient Imports System.Data.SqlTypes Imports System.Reflection Imports _Generic_Event_Handler Imports DevComponents Public Class AllgMainObjekte #Region "Properties" Dim OnAddNew As Boolean = False Property isDirty As Boolean Get If Me.OnAddNew = True Then Return False Return Me.FormDataChanged End Get Set(value As Boolean) Me.FormDataChanged = value If Me.NewEntry = True And value = False Then Me.Delete_Entry(Me.KeyValue, Me.KeyValue, Me.ParentForm, False) End If End Set End Property Dim m_ConnectionFilename As String _ Public Property ConnectionFilename() As String Get ConnectionFilename = m_ConnectionFilename End Get Set(ByVal Value As String) If m_ConnectionFilename <> Value Then m_ConnectionFilename = Value Globals.ConnectionFileName = Value Init_Comp() End If End Set End Property Dim m_ConnectionString As String _ Public Property ConnectionString() As String Get ConnectionString = m_ConnectionString End Get Set(ByVal Value As String) If m_ConnectionString <> Value Then m_ConnectionString = Value Globals.conn.sConnectionString = m_ConnectionString Datenklasse.ConnectionString = m_ConnectionString End If End Set End Property Dim m_Mitarbeiternr As Integer _ Public Property Mitarbeiternr As Integer Get Mitarbeiternr = m_Mitarbeiternr End Get Set(value As Integer) If m_Mitarbeiternr <> value Then m_Mitarbeiternr = value Globals.Mitarbeiternr = m_Mitarbeiternr Datenklasse.Mitarbeiternr = m_Mitarbeiternr End If End Set End Property Dim m_TempFilePath As String _ Public Property TempFilePath As String Get TempFilePath = m_TempFilePath End Get Set(value As String) If m_TempFilePath <> value Then m_TempFilePath = value Globals.TmpFilepath = m_TempFilePath End If End Set End Property Dim m_keyvalue As Integer _ Public Property KeyValue As Integer Get KeyValue = m_keyvalue End Get Set(value As Integer) If m_keyvalue <> value Then m_keyvalue = value Refresh_Details() End If End Set End Property Dim m_TargetObjekt As String _ Public Property TargetObjekt As Integer Get TargetObjekt = m_TargetObjekt End Get Set(value As Integer) If m_TargetObjekt <> value Then m_TargetObjekt = value End If End Set End Property Dim m_Type As String _ Public Property Type As String Get Type = m_Type End Get Set(value As String) If m_Type <> value Then m_Type = value 'Refresh_Details() End If End Set End Property Dim m_treehandle As Integer Property TreeHandle As Integer Get TreeHandle = m_treehandle End Get Set(value As Integer) m_treehandle = value End Set End Property Dim m_Generic_Event_Handler As _Generic_Event_Handler.Generic_Event_Handler _ Public Property Generic_Event_Handler Get Generic_Event_Handler = m_Generic_Event_Handler End Get Set(value) m_Generic_Event_Handler = value Globals.Generic_Event_Handler = m_Generic_Event_Handler evh = Globals.Generic_Event_Handler End Set End Property Dim M_NewEntry As Boolean = False Property NewEntry As Boolean Get Return M_NewEntry End Get Set(value As Boolean) M_NewEntry = value End Set End Property Dim m_tag_externe_ma As String Property tag_externe_ma As String Get Return m_tag_externe_ma End Get Set(value As String) m_tag_externe_ma = value End Set End Property #End Region #Region "Deklarationen" Event Beziehungen_DoubleClicked(ByVal keyvalue As Integer, ByVal Typ As String, ByVal NewWindows As Boolean) Event MainObject_Saved(ByVal KeyValue As Integer) Dim DBObject As New Object Dim Mymsg As New Utils.MyMessage Dim TargetDBObject As String Dim Change_Keys As Boolean Dim WithEvents evh As Generic_Event_Handler = Globals.Generic_Event_Handler Dim sec As New Utils.MySecurity Dim Datenklasse As New _DataClass.DataClass Dim Verwaltung_mit As New DataTable Dim Verwaltung_durch As New DataTable Dim Dateneigentuemer As New DataTable Dim VerantwTKBMa As New DataTable Dim Save_Verwaltung_Durch As Integer Dim Save_Verwaltung_mit As Integer Dim Save_Dateneigentuemer As Integer #End Region Dim FormReadonly As Boolean = False Dim FormDataChanged As Boolean = False #Region "Eventhandler ChangeEreignisse" ''' ''' Allg Eventhandler für Chanage-Ereignise festlegen ''' ''' ''' Private Sub AddChanges(ByVal Container As Control) Dim l As New List(Of Control) Me.GetControl(Me, "*", l) Dim evh As EventHandler = AddressOf ChangesMade For Each c As Control In l If TypeOf c Is TextBox Then Dim ctl As TextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is MaskedTextBox Then Dim ctl As MaskedTextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is ComboBox Then Dim ctl As ComboBox = c AddHandler ctl.SelectedValueChanged, evh End If If TypeOf c Is NumericUpDown Then Dim ctl As NumericUpDown = c AddHandler ctl.ValueChanged, evh End If If TypeOf c Is RichTextBox Then Dim ctl As RichTextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is CheckBox Then If c.Name = "cbCID" And c.Enabled = False Then Else If c.Name <> "cboxNurAktive" Then Dim ctl As CheckBox = c AddHandler ctl.CheckedChanged, evh End If End If End If If TypeOf c Is CheckedListBox Then Dim ctl As CheckedListBox = c AddHandler ctl.ItemCheck, AddressOf ChecketListBoxChange End If Next End Sub ''' ''' Envent-Handler für Change-Ereignisse ''' ''' ''' ''' Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) Dim objtype As System.Type = sender.GetType If objtype.Name = "CheckBox" Then Dim c As CheckBox = sender If c.Name = "cbCID" And c.Enabled = False Then Exit Sub End If Me.FormDataChanged = True If objtype.Name = "MaskedTextBox" Then Dim o As MaskedTextBox = sender If o.Text = "01.01.1900" Then o.Text = " . . " End If End Sub Private Sub ChecketListBoxChange(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Me.FormDataChanged = True End Sub ''' ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung ''' ''' Base-Contrlo (z.B. aktuelles Formular ''' Schlüssel welcher gesucht werden soll ''' Liste der gefundenen Objekte ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. ''' ''' Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean If L Is Nothing Then L = New List(Of Control) Dim Gut As Boolean Dim ReturnFlag As Boolean = False If Key IsNot Nothing Then Key = Key.ToLower If BaseControl.HasChildren = True Then For Each ctl As Control In BaseControl.Controls Gut = False If Key Is Nothing Then Gut = True Else If ctl.Name.Length >= Key.Length Then Key = Key.ToLower If Key.StartsWith("*") Then If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True ElseIf Key.EndsWith("*") Then If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True Else If Key = ctl.Name.ToLower Then Gut = True End If End If End If If Gut = True Then L.Add(ctl) If ReturnAtFirstElement = True Then ReturnFlag = True End If If ReturnFlag = False Then Call GetControl(ctl, Key, L) End If Next End If If L.Count - 1 > -1 Then Return True Else Return False End If End Function #End Region Sub Refresh_Details() Try Me.lblBeschreibung.Text = "Beschreibung" Me.lblBezeichnung.Text = "Bezeichnung" Me.lblName.Visible = False Me.txtName.Visible = False Me.lblTGNummer.Visible = False Me.txtTGNummer.Visible = False Me.lblFunktionsnummer.Visible = False Me.txtFunktionsnummer.Visible = False Me.lblFunktionsstelle.Visible = False Me.txtFunktionsstelle.Visible = False Me.tsbtncopy1.Visible = False Me.tsbtncopy1.Visible = False Me.lblVerwaltungDurch.Visible = False Me.lblVerwaltungMit.Visible = False Me.lblDateneigentuemer.Visible = False Me.cbboxVerwaltungDurch.Visible = False Me.cbboxVerwaltungMit.Visible = False Me.cbboxDateneigentuemer.Visible = False Me.lblCID.Visible = False Me.cbCID.Visible = False Me.lblEmail.Visible = False Me.txtMail.Visible = False '20200114 - Erweiterungen Me.lblVerantwTKBMA.Visible = False Me.txtVerantwTKBMa.Visible = False Me.lblnaechstepruefung.Visible = False Me.txtnaechstePruefung.Visible = False Me.dtPickernaechstePruefung.Visible = False Me.cbboxVerantwTKBMA.Visible = False Try Datenklasse.CreateNew("_DataClass.db." + Me.Type, DBObject) ' DBObject = Datenklasse.crc CreateNew("_DataClass.db.Personal") 'DBObject = CreateNew("_AllgMainObjekte.db." + Me.Type) DBObject.get_data(Me.KeyValue) Me.txtPrimaryKey.Text = Me.KeyValue Me.GroupBox2.Visible = True Catch ex As Exception Me.GroupBox2.Visible = False End Try Select Case Datenklasse.Get_Selectiontype(Me.Type) Case 1 'Organisation Me.tsbtncopy1.Visible = True Me.tsbtncopy1.Visible = True Me.lblFunktionsnummer.Visible = True 'Me.txtFunktionsnummer.Visible = True 'Me.lblFunktionsstelle.Visible = True Me.txtFunktionsstelle.Visible = True Me.lblCID.Visible = True Me.cbCID.Visible = True Me.cbCID.Enabled = False Try Me.cbCID.Checked = DBObject.icid.value = 1 Catch ex As Exception Me.cbCID.Checked = False End Try Try Me.txtFunktionsstelle.Text = DBObject.sfunktionsstelle.value.ToString Me.txtFunktionsnummer.Text = DBObject.sfunktionsnummer.value.ToString Catch Me.txtFunktionsnummer.Text = "" Me.txtFunktionsstelle.Text = "" End Try Case 0, 3, 4 'BERECHTIGUNG Me.lblVerwaltungDurch.Visible = True Me.lblVerwaltungMit.Visible = True Me.lblDateneigentuemer.Visible = True Me.cbboxDateneigentuemer.Visible = True Me.cbboxVerwaltungDurch.Visible = True Me.cbboxVerwaltungMit.Visible = True Verwaltung_durch = Datenklasse.Get_Stammdaten("Verwaltung_durch", "bezeichnung") Verwaltung_mit = Datenklasse.Get_Stammdaten("Verwaltung_mit", "Bezeichnung") Dateneigentuemer = Datenklasse.Get_Stammdaten("Personal", "Bezeichnung") Me.cbboxVerwaltungDurch.DataSource = Verwaltung_durch Me.cbboxVerwaltungDurch.DisplayMember = "Bezeichnung" Me.cbboxVerwaltungDurch.ValueMember = "Keyvalue" Me.cbboxVerwaltungMit.DataSource = Verwaltung_mit Me.cbboxVerwaltungMit.DisplayMember = "Bezeichnung" Me.cbboxVerwaltungMit.ValueMember = "Keyvalue" Me.cbboxDateneigentuemer.DataSource = Dateneigentuemer Me.cbboxDateneigentuemer.DisplayMember = "Bezeichnung" Me.cbboxDateneigentuemer.ValueMember = "Keyvalue" ' = Datenklasse.Get_Selectiontype(Me.Type) 'If Datenklasse.Get_Selectiontype(Me.Type) = 0 Then Me.cbCID.Visible = True Me.lblCID.Visible = True Me.cbCID.Enabled = True Try Me.cbCID.Checked = DBObject.icid.value = 1 Catch ex As Exception Me.cbCID.Checked = False End Try 'End If Dim i As Integer i = DBObject.get_verwaltung_mit If i < 0 Then Me.cbboxVerwaltungMit.SelectedValue = i Me.cbboxVerwaltungMit.Text = "" Else Me.cbboxVerwaltungMit.SelectedValue = i End If Me.Save_Verwaltung_mit = i i = DBObject.get_verwaltung_durch If i < 0 Then Me.cbboxVerwaltungDurch.SelectedValue = i Me.cbboxVerwaltungDurch.Text = "" Else Me.cbboxVerwaltungDurch.SelectedValue = i End If Me.Save_Verwaltung_Durch = i i = DBObject.Get_Dateneigentuemer If i < 0 Then Me.cbboxDateneigentuemer.SelectedValue = 0 Me.cbboxDateneigentuemer.Text = "" Else Me.cbboxDateneigentuemer.SelectedValue = i End If Me.Save_Dateneigentuemer = i Case 0 Case 3 Case 4 'Case 3 'PLATTFORM Case 2 'PERSONAL If Globals.VerantwTKBMA_Data.Rows.Count = 0 Then VerantwTKBMA_Data = Datenklasse.Get_Stammdaten("Personal", "Bezeichnung") VerantwTKBMa = VerantwTKBMA_Data.Copy 'VerantwTKBMa = Datenklasse.Get_Stammdaten("Personal", "Bezeichznung") Me.lblEmail.Visible = True Me.txtMail.Visible = True Me.tsbtncopy1.Visible = True Me.tsbtncopy1.Visible = True Me.lblName.Visible = True Me.txtName.Visible = True Me.lblTGNummer.Visible = True Me.txtTGNummer.Visible = True Me.txtName.Text = DBObject.sname.value Me.txtTGNummer.Text = DBObject.stgnummer.value Me.lblVerantwTKBMA.Visible = True 'Me.txtVerantwTKBMa.Visible = True Me.cbboxVerantwTKBMA.Visible = True Me.lblnaechstepruefung.Visible = True Me.txtnaechstePruefung.Visible = True Me.dtPickernaechstePruefung.Visible = True Me.txtnaechstePruefung.Text = DBObject.snextcontroldate.ToString Me.txtMail.Text = DBObject.semail.ToString Me.txtVerantwTKBMa.Text = DBObject.sverantwTKBma.ToString Me.cbboxVerantwTKBMA.DataSource = VerantwTKBMa Me.cbboxVerantwTKBMA.DisplayMember = "Bezeichnung" Me.cbboxVerantwTKBMA.ValueMember = "Keyvalue" If DBObject.sverantwTKBma.ToString = "" Then Me.cbboxVerantwTKBMA.SelectedValue = 0 Me.cbboxVerantwTKBMA.Text = "" Else Me.cbboxVerantwTKBMA.SelectedValue = DBObject.sverantwTKBma.ToString End If 'Case 4 'SERVER Case 5 'VERWALTUNGDURCH Case 6 'VERWALTUNGMIT End Select Try Me.txtBezeichnung.Text = DBObject.sbezeichnung.value Me.txtBeschreibung.Text = DBObject.sbeschreibung.value Me.txtErstelltam.Text = DBObject.daerstellt_am.value Me.txtMutiertam.Text = DBObject.damutiert_am.value Me.cbAktiv.Checked = DBObject.baktiv.value = True Me.txtMutierer.Text = DBObject.MutiererText Me.txtSequenz.Value = DBObject.isequenz.value Catch ex As Exception End Try Refresh_Beziehungen() Try Me.ParentForm.Text = Me.Type Catch End Try Try Me.ParentForm.Text = Me.ParentForm.Text + ": " + Me.txtBezeichnung.Text Catch End Try Me.tsbtnReport.Visible = False For Each r As DataRow In Globals.Objekt.Rows If r("Standardauswertung").ToString <> "" Then If r("Standardauswertung") > 0 And Datenklasse.Get_SelectionTypeText(r("Objektnr")) = Me.Type Then Me.tsbtnReport.Visible = True End If Next sec.Set_Form_Security(Me) If sec.Check_DataObjectReadonly(Me.Type) = True Then Me.TSBtnSave.Enabled = False Me.TSBtnAddNew.Enabled = False Me.TSBtnDelete.Enabled = False Else Me.TSBtnSave.Enabled = True Me.TSBtnAddNew.Enabled = True Me.TSBtnDelete.Enabled = True End If If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then Me.AllowDrop = False End If Check_ParentValues() Catch ex As Exception MsgBox(ex.Message) End Try AddChanges(Me) Me.FormDataChanged = False End Sub Sub Refresh_Beziehungen(Optional Position As Integer = 0) Cursor = Cursors.WaitCursor Me.Beziehungen1.SuspendLayout() 'Me.Beziehungen1.Visible = False Me.Beziehungen1.ConnectionString = Me.ConnectionString Me.Beziehungen1.Generic_Event_Handler = Globals.Generic_Event_Handler Me.Beziehungen1.Mitarbeiternr = Me.Mitarbeiternr Me.Beziehungen1.TempFilePath = Me.TempFilePath Me.Beziehungen1.KeyValue = Me.KeyValue Me.Beziehungen1.Type = Me.Type Me.lblcid_a.Visible = False If Datenklasse.Get_Selectiontype(Me.Type) = 1 Then Me.cbCID.Checked = Me.Beziehungen1.Refresh_Details(Position) If Datenklasse.Get_Selectiontype(Me.Type) <> 1 Then Dim cd As Boolean = Me.Beziehungen1.Refresh_Details(Position) If cd = True Then If Me.cbCID.Checked = False Then lblcid_a.Visible = True Else lblcid_a.Visible = False End If End If 'Me.Beziehungen1.Visible = True Me.Beziehungen1.ResumeLayout() Cursor = Cursors.Default End Sub Sub New() InitializeComponent() Init_Comp() End Sub Sub Init_Comp() Try Dim db As New DB.DB_Connection db = Nothing Me.ConnectionString = Globals.sConnectionString 'Me.ConnectionString = "data source=shu00;initial catalog=BEA;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29" 'Me.Mitarbeiternr = 1 'Me.TempFilePath = "h:\tssettings\bea" Globals.conn.sConnectionString = Me.ConnectionString Globals.sConnectionString = Me.ConnectionString Globals.Mitarbeiternr = Mitarbeiternr Globals.TmpFilepath = TempFilePath Me.Beziehungen1.ConnectionString = Me.ConnectionString Me.Beziehungen1.Mitarbeiternr = Me.Mitarbeiternr Me.Beziehungen1.TempFilePath = Me.TempFilePath Dim ob As New DB.clsObjekt Dim obb As New DB.clsObjektBeziehung ob.cpMainConnectionProvider = Globals.conn obb.cpMainConnectionProvider = Globals.conn Try Globals.Objekt = ob.SelectAll Globals.Objekt_Beziehung = obb.SelectAll ob.Dispose() obb.Dispose() Catch ex As Exception End Try Catch End Try End Sub Private Sub Beziehungen1_C1Beziehungen_DoubleClicked(keyvalue As Integer, Typ As String, NewWindows As Boolean) Handles Beziehungen1.C1Beziehungen_DoubleClicked RaiseEvent Beziehungen_DoubleClicked(keyvalue, Type, NewWindows) End Sub Public Function Add_New_Beziehung(ByVal Sourceid As String, sourcetype As _DataClass.DataClass.Struktur_Selectiontype, Bezeichnung As String, ByVal DBObjektname As String, ByVal Change_Keys As Boolean, Optional Sequenznr As Integer = 0, Optional get_dataobject As Boolean = False) Dim f As New frmNeueBeziehung f.txtObjekt1.Text = Bezeichnung f.txtObjekt2.Text = Me.txtBezeichnung.Text f.txtSeqeunz.Value = Sequenznr f.txtBemerkung.Text = "" f.cbTemporaer.Visible = False If DBObjektname = "_DataClass.db.Personal_FunktionStelle" Then f.cbTemporaer.Visible = True If DBObjektname = "_DataClass.db.Personal_Berechtigung" Then f.cbTemporaer.Visible = True If DBObjektname = "_DataClass.db.Personal_Plattform" Then f.cbTemporaer.Visible = True f.ShowDialog() If f.DialogResult = DialogResult.Abort Then Exit Function If get_dataobject = True Then Datenklasse.CreateNew("_DataClass.db." + Me.Type, DBObject) ' DBObject = Datenklasse.crc CreateNew("_DataClass.db.Personal") 'DBObject = CreateNew("_AllgMainObjekte.db." + Me.Type) DBObject.get_data(Me.KeyValue) End If Dim DBObjekt As New Object Datenklasse.CreateNew(DBObjektname, DBObjekt) Dim i As Integer i = DBObjekt.add_new() If Change_Keys Then DBObjekt.set_ObjektNr1(DBObject.get_keyvalue) DBObjekt.set_ObjektNr2(Sourceid) Else DBObjekt.set_ObjektNr1(Sourceid) DBObjekt.set_ObjektNr2(DBObject.get_keyvalue) End If DBObjekt.sbeschreibung = New SqlString(CType(f.txtBemerkung.Text, String)) DBObjekt.isequenz = New SqlInt32(CType(f.txtSeqeunz.Value, Int32)) DBObjekt.ibeziehungstypnr = New SqlInt32(CType(f.cbbeziehungstyp.SelectedValue, Int32)) DBObjekt.save_data() DBObjekt.dispose() If f.cbTemporaer.Checked = True Then If DBObjektname = "_DataClass.db.Personal_FunktionStelle" Then Datenklasse.Update_Temporaer_Berechtigung(f.TextBox1.Text, f.TextBox2.Text, f.TextBox3.Text, f.TextBox4.Text, f.DateTimePicker1.Value, i, 0, f.cbboxKontaktFB.SelectedValue, f.cbboxKontaktSD.SelectedValue) End If If DBObjektname = "_DataClass.db.Personal_Berechtigung" Then Datenklasse.Update_Temporaer_Berechtigung(f.TextBox1.Text, f.TextBox2.Text, f.TextBox3.Text, f.TextBox4.Text, f.DateTimePicker1.Value, i, 1, f.cbboxKontaktFB.SelectedValue, f.cbboxKontaktSD.SelectedValue) End If If DBObjektname = "_DataClass.db.Personal_Plattform" Then Datenklasse.Update_Temporaer_Berechtigung(f.TextBox1.Text, f.TextBox2.Text, f.TextBox3.Text, f.TextBox4.Text, f.DateTimePicker1.Value, i, 2, f.cbboxKontaktFB.SelectedValue, f.cbboxKontaktSD.SelectedValue) End If End If Refresh_Beziehungen(DBObjekt.Get_KeyValue) evh.Fire_MainObject_Saved(Me.KeyValue, DBObject.iparentid.value) evh.Fire_Object_saved(Me.KeyValue, DBObject.iparentid.value, Me.ParentForm) End Function Private Sub Beziehungen1_CausesValidationChanged(sender As Object, e As EventArgs) Handles Beziehungen1.CausesValidationChanged End Sub Private Sub Beziehungen1_Delete_Entries(grid As C1.Win.C1TrueDBGrid.C1TrueDBGrid) Handles Beziehungen1.Delete_Entries If Me.Mymsg.Show_MessageYesNo(5) <> MsgBoxResult.Yes Then Exit Sub Dim type1 As Integer Dim type2 As Integer Dim dt As New DataTable Dim i As Integer Dim colRows As C1.Win.C1TrueDBGrid.SelectedRowCollection colRows = grid.SelectedRows For i = 0 To colRows.Count - 1 type2 = Datenklasse.Get_Selectiontype(Me.Type) type1 = Datenklasse.Get_Selectiontype(grid.Columns("Typ").CellValue(colRows(i))) If Globals.Check_Beziehung(TargetDBObject, type1, type2, Me.Change_Keys) = True Then Dim DBObjekt As New Object Datenklasse.CreateNew(TargetDBObject, DBObjekt) DBObjekt.get_data(grid.Columns("id").CellValue(colRows(i))) DBObjekt.delete_data() DBObjekt.dispose() End If Next Refresh_Beziehungen() evh.Fire_MainObject_Saved(Me.KeyValue, DBObject.iparentid.value) evh.Fire_Object_saved(Me.KeyValue, DBObject.iparentid.value, Me.ParentForm) End Sub Private Sub Beziehungen1_Delete_Entry(Keyvalue As Integer, ByVal typ As String) Handles Beziehungen1.Delete_Entry If Me.Mymsg.Show_MessageYesNo(4) <> MsgBoxResult.Yes Then Exit Sub Dim type1 As Integer Dim type2 As Integer type2 = Datenklasse.Get_Selectiontype(Me.Type) type1 = Datenklasse.Get_Selectiontype(typ) If Globals.Check_Beziehung(TargetDBObject, type1, type2, Me.Change_Keys) = True Then Dim DBObjekt As New Object Datenklasse.CreateNew(TargetDBObject, DBObjekt) DBObjekt.get_data(Keyvalue) DBObjekt.delete_data() DBObjekt.dispose() Refresh_Beziehungen(DBObjekt.Get_KeyValue) evh.Fire_MainObject_Saved(Me.KeyValue, DBObject.iparentid.value) evh.Fire_Object_saved(Me.KeyValue, DBObject.iparentid.value, Me.ParentForm) Me.FormDataChanged = False End If End Sub Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles TSBtnAddNew.Click If Me.isDirty = True Then If Mymsg.Show_MessageYesNo(3) = MsgBoxResult.Yes Then Me.Save_Data() End If Dim parentid As Integer = DBObject.iparentid.value Add_New(Me.KeyValue, Me.txtSequenz.Value) Try Dim pb As New DataTable If Me.Type = "Berechtigung" Or Me.Type = "Plattform" Or Me.Type = "Server" Then pb = Get_Parentvalues() Me.cbboxDateneigentuemer.SelectedValue = pb.Rows(0).Item(2) Me.cbboxVerwaltungDurch.SelectedValue = pb.Rows(0).Item(1) Me.cbboxVerwaltungMit.SelectedValue = pb.Rows(0).Item(0) End If evh.Fire_Update_Treesearch(Me.ParentForm) Catch End Try End Sub Private Sub Add_New(ByVal parentid As Integer, ByVal sequenz As Integer) Me.KeyValue = DBObject.add_new DBObject.iparentid = New SqlInt32(CType(parentid, Int32)) DBObject.save_data() Me.txtBezeichnung.Text = "" Me.txtBeschreibung.Text = "" Me.txtName.Text = "" Me.txtTGNummer.Text = "" Me.txtFunktionsnummer.Text = "" Me.txtFunktionsstelle.Text = "" Me.txtVerantwTKBMa.Text = "" Me.txtnaechstePruefung.Text = "" Me.txtSequenz.Value = sequenz Me.txtBezeichnung.Focus() Try Me.cbboxVerantwTKBMA.SelectedValue = 0 Me.cbboxVerantwTKBMA.Text = "" Catch ex As Exception End Try Try Dim pb As New DataTable If Me.Type = "Berechtigung" Or Me.Type = "Plattform" Or Me.Type = "Server" Then pb = Get_Parentvalues() Me.cbboxDateneigentuemer.SelectedValue = pb.Rows(0).Item(2) Me.cbboxVerwaltungDurch.SelectedValue = pb.Rows(0).Item(1) Me.cbboxVerwaltungMit.SelectedValue = pb.Rows(0).Item(0) End If Catch End Try onaddnew = True evh.Fire_MainObject_Created(Me.KeyValue, DBObject.iparentid.value, Me.ParentForm) Me.NewEntry = True onaddnew = False End Sub Public Function Add_Entry(ByVal parentid As Integer) Add_New(parentid, Me.txtSequenz.Value) End Function Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click If Check_Zwingende_Felder() = True Then Save_Data() evh.Fire_Update_Treesearch(Me.ParentForm) End If End Sub Public Function Check_Zwingende_Felder() As Boolean If Datenklasse.Get_Selectiontype(Me.Type) = _DataClass.DataClass.Struktur_Selectiontype.Personal Then If Me.isDirty = False Then Return True Dim s() As String s = Me.tag_externe_ma.Split(";") If Trim(Me.cbboxVerantwTKBMA.Text = "") Then For i As Integer = 0 To s.Length - 1 If UCase(Me.txtBezeichnung.Text).IndexOf(UCase(s(i))) > -1 Or UCase(Me.txtTGNummer.Text).IndexOf(UCase(s(i))) > -1 Then Mymsg.show_standardmessage(7, MsgBoxStyle.Critical) 'MsgBox("Bei TGE-Benutzern ist der verantwortliche TKB-Mitarbeiter einzutragen.", vbExclamation) Me.txtVerantwTKBMa.Select() Return False End If Next End If End If Return True End Function Public Function Save_Data(Optional refresh As Boolean = True) As Boolean DBObject.sbezeichnung = New SqlString(CType(Me.txtBezeichnung.Text, String)) DBObject.sbeschreibung = New SqlString(CType(Me.txtBeschreibung.Text, String)) DBObject.isequenz = New SqlInt32(CType(Me.txtSequenz.Value, Int32)) Select Case Datenklasse.Get_Selectiontype(Me.Type) Case 1 'Organisation DBObject.sfunktionsnummer = New SqlString(CType(txtFunktionsnummer.Text, String)) DBObject.sfunktionsstelle = New SqlString(CType(txtFunktionsstelle.Text, String)) 'If Me.cbCID.Checked = True Then ' DBObject.icid = New SqlInt32(CType(1, Int32)) 'Else ' DBObject.icid = New SqlInt32(CType(0, Int32)) 'End If Case 2 'Personal DBObject.sname = New SqlString(CType(Me.txtName.Text, String)) DBObject.stgnummer = New SqlString(CType(Me.txtTGNummer.Text, String)) DBObject.sVerantwTKBMA = New SqlString(CType(Me.txtVerantwTKBMa.Text, String)) DBObject.sNextControlDate = New SqlString(CType(Me.txtnaechstePruefung.Text, String)) DBObject.sEMail = New SqlString(CType(Me.txtMail.Text, String)) If Me.cbboxVerantwTKBMA.SelectedValue = 0 Then DBObject.sVerantwTKBMA = New SqlString(CType("", String)) Else DBObject.sVerantwTKBMA = New SqlString(CType(Me.cbboxVerantwTKBMA.SelectedValue, String)) End If Case 3, 4 If Save_Verwaltung_mit <> Me.cbboxVerwaltungMit.SelectedValue Then DBObject.set_verwaltung_mit(Me.cbboxVerwaltungMit.SelectedValue, Me.Save_Verwaltung_mit) Me.Save_Verwaltung_mit = Me.cbboxVerwaltungMit.SelectedValue End If If Save_Verwaltung_Durch <> Me.cbboxVerwaltungDurch.SelectedValue Then DBObject.set_verwaltung_durch(Me.cbboxVerwaltungDurch.SelectedValue, Me.Save_Verwaltung_Durch) Me.Save_Verwaltung_Durch = Me.cbboxVerwaltungDurch.SelectedValue End If If Save_Dateneigentuemer <> Me.cbboxDateneigentuemer.SelectedValue Then DBObject.set_Dateneigentuemer(Me.cbboxDateneigentuemer.SelectedValue, Me.Save_Dateneigentuemer) Me.Save_Dateneigentuemer = Me.cbboxDateneigentuemer.SelectedValue End If If Me.cbCID.Checked = True Then DBObject.icid = New SqlInt32(CType(1, Int32)) Else DBObject.icid = New SqlInt32(CType(0, Int32)) End If Case 0 If Save_Verwaltung_mit <> Me.cbboxVerwaltungMit.SelectedValue Then DBObject.set_verwaltung_mit(Me.cbboxVerwaltungMit.SelectedValue, Me.Save_Verwaltung_mit) Me.Save_Verwaltung_mit = Me.cbboxVerwaltungMit.SelectedValue End If If Save_Verwaltung_Durch <> Me.cbboxVerwaltungDurch.SelectedValue Then DBObject.set_verwaltung_durch(Me.cbboxVerwaltungDurch.SelectedValue, Me.Save_Verwaltung_Durch) Me.Save_Verwaltung_Durch = Me.cbboxVerwaltungDurch.SelectedValue End If If Save_Dateneigentuemer <> Me.cbboxDateneigentuemer.SelectedValue Then DBObject.set_Dateneigentuemer(Me.cbboxDateneigentuemer.SelectedValue, Me.Save_Dateneigentuemer) Me.Save_Dateneigentuemer = Me.cbboxDateneigentuemer.SelectedValue End If If Me.cbCID.Checked = True Then DBObject.icid = New SqlInt32(CType(1, Int32)) Else DBObject.icid = New SqlInt32(CType(0, Int32)) End If Case Else End Select Me.NewEntry = False DBObject.save_data() Me.FormDataChanged = False evh.Fire_MainObject_Saved(DBObject.get_keyvalue, DBObject.iparentid.value) evh.Fire_Object_saved(Me.KeyValue, DBObject.iparentid.value, Me.ParentForm) Return True End Function Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles TSBtnDelete.Click 'If Me.isDirty = True Then ' Select Case Mymsg.Show_MessageYesNoCancel(3) ' Case MsgBoxResult.Yes ' Me.Save_Data() ' Case MsgBoxResult.No ' Me.isDirty = False ' Case MsgBoxResult.Cancel ' Exit Sub ' End Select 'End If If Mymsg.Show_MessageYesNo(4) = MsgBoxResult.Yes Then Dim Keyvalueparent As Integer = DBObject.iparentid.value evh.Fire_Object_Delete(KeyValue, Keyvalueparent, ParentForm) evh.Fire_Update_Treesearch(Me.ParentForm) End If 'evh.Fire_MainObjectDeleted(KeyValue, Keyvalueparent) ' evh.fire_object_Deleted(KeyValue, Keyvalueparent, ParentForm) End Sub Private Function Delete_Entry(ByVal Keyvalue As Integer, Optional doQuestion As Boolean = True) As Boolean If doQuestion Then If Mymsg.Show_MessageYesNo(4) = MsgBoxResult.Yes Then DBObject.delete_data() Return True Else Return False End If Exit Function Else DBObject.delete_data() 'evh.Fire_MainObjectDeleted(Keyvalue, DBObject.iparentid.value) 'evh.Fire_Object_Deleted(Keyvalue, DBObject.iparentid.value, ParentForm) Return True End If End Function Public Sub Delete_Entry(ByVal keyvalue As Integer, ByVal parentid As Integer, Optional parentform As Object = Nothing, Optional DoQuestion As Boolean = True) DBObject.get_data(keyvalue) If Delete_Entry(keyvalue, DoQuestion) Then Me.NewEntry = False Me.isDirty = False evh.Fire_MainObjectDeleted(keyvalue, parentid) evh.Fire_Object_Deleted(keyvalue, DBObject.iparentid.value, parentform) End If End Sub Private Sub Beziehungen1_Edit_Entry(Keyvalue As Integer, typ As String) Handles Beziehungen1.Edit_Entry Dim type1 As Integer Dim type2 As Integer type2 = Datenklasse.Get_Selectiontype(Me.Type) type1 = Datenklasse.Get_Selectiontype(typ) If Globals.Check_Beziehung(Me.TargetDBObject, type1, type2, Me.Change_Keys) = True Then Dim DBObjekt As New Object Datenklasse.CreateNew(TargetDBObject, DBObjekt) DBObjekt.get_data(Keyvalue) Dim f As New frmBeziehungEdit f.txtBemerkung.Text = DBObjekt.sbeschreibung.value f.txtSeqeunz.Value = DBObjekt.isequenz.value f.cbAktiv.Checked = DBObjekt.baktiv.value = True f.cbbeziehungstyp.SelectedValue = DBObjekt.ibeziehungstypnr.value Dim dt As New DataTable Dim is_temporaer As Boolean = False dt = Datenklasse.Get_Temporaer_Berechtigung(Keyvalue) If dt.Rows.Count > 0 Then f.Panel2.Height = 227 is_temporaer = True f.TextBox1.Text = dt.Rows(0).Item("Beschreibung") f.TextBox2.Text = dt.Rows(0).Item("Unterlagen") f.TextBox3.Text = dt.Rows(0).Item("Bearbeiter_Isi") f.TextBox4.Text = dt.Rows(0).Item("Kontaktperson_FB").ToString Try f.Kontaktid = dt.Rows(0).Item("KontaktID") Catch f.Kontaktid = 0 End Try Try f.KontaktidSD = dt.Rows(0).Item("KontaktIDSD") Catch ex As Exception f.KontaktidSD = 0 End Try f.DateTimePicker1.Value = dt.Rows(0).Item("termin") Else f.Panel2.Height = 1 f.Height = f.Height - 227 End If f.ShowDialog() If f.DialogResult = DialogResult.OK Then DBObjekt.sbeschreibung = New SqlString(CType(f.txtBemerkung.Text, String)) DBObjekt.isequenz = New SqlInt32(CType(f.txtSeqeunz.Value, Int32)) DBObjekt.baktiv = New SqlBoolean(CType(f.cbAktiv.Checked, Boolean)) DBObjekt.ibeziehungstypnr = New SqlInt32(CType(f.cbbeziehungstyp.SelectedValue, Int32)) DBObjekt.save_data() If is_temporaer = True And f.cbAktiv.Checked = True Then Datenklasse.Update_Temporaer_Berechtigung(f.TextBox1.Text, f.TextBox2.Text, f.TextBox3.Text, f.TextBox4.Text, f.DateTimePicker1.Value, Keyvalue, 0, f.cbboxKontaktFB.SelectedValue, f.cbboxKontaktSD.SelectedValue) End If End If DBObjekt.dispose() Refresh_Beziehungen(DBObjekt.Get_KeyValue) 'evh.Fire_MainObject_Saved(Me.KeyValue, DBObject.iparentid.value) 'evh.Fire_MainObject_Created(Me.KeyValue, DBObject.iparentid.value, Me.ParentForm) Exit Sub End If End Sub Public Function Update_Beziehung(ByVal DestKey As Integer, DestType As Integer, ByVal Grid As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal movecopy As Integer) Dim type1 As Integer Dim type2 As Integer 'Dim msgboxres As MsgBoxResult 'msgboxres = Mymsg.Show_MessageYesNoCancel(6) 'If msgboxres = MsgBoxResult.Cancel Then Exit Function Dim i As Integer Dim colRows As C1.Win.C1TrueDBGrid.SelectedRowCollection colRows = Grid.SelectedRows For i = 0 To colRows.Count - 1 type2 = DestType type1 = Datenklasse.Get_Selectiontype(Grid.Columns("Typ").CellValue(colRows(i))) If Globals.Check_Beziehung(TargetDBObject, type1, type2, Me.Change_Keys) = True Then Dim DBObjekt As New Object Datenklasse.CreateNew(TargetDBObject, DBObjekt) If Me.Change_Keys Then If movecopy = 1 Then DBObjekt.get_data(Grid.Columns("id").CellValue(colRows(i))) DBObjekt.set_ObjektNr1(DestKey) DBObjekt.save_data() Else DBObjekt.get_data(Grid.Columns("id").CellValue(colRows(i))) Dim beztyp As Integer = DBObjekt.ibeziehungstypnr.value DBObjekt.add_new() DBObjekt.set_objektnr1(DestKey) DBObjekt.set_objektnr2(Grid.Columns("mkey").CellValue(colRows(i))) DBObjekt.sbeschreibung = New SqlString(CType(Grid.Columns("Beschreibung").CellValue(colRows(i)).ToString, String)) DBObjekt.isequenz = New SqlInt32(CType(Grid.Columns("sequenz").CellValue(colRows(i)), Int32)) DBObjekt.ibeziehungstypnr = New SqlInt32(CType(beztyp, Int32)) DBObjekt.save_data() End If Else If movecopy = 1 Then DBObjekt.get_data(Grid.Columns("id").CellValue(colRows(i))) DBObjekt.set_ObjektNr2(DestKey) DBObjekt.save_data() Else DBObjekt.get_data(Grid.Columns("id").CellValue(colRows(i))) Dim beztyp As Integer = DBObjekt.ibeziehungstypnr.value DBObjekt.add_new() DBObjekt.set_objektnr2(DestKey) DBObjekt.set_objektnr1(Grid.Columns("mkey").CellValue(colRows(i))) DBObjekt.sbeschreibung = New SqlString(CType(Grid.Columns("Beschreibung").CellValue(colRows(i)).ToString, String)) DBObjekt.isequenz = New SqlInt32(CType(Grid.Columns("sequenz").CellValue(colRows(i)), Int32)) DBObjekt.ibeziehungstypnr = New SqlInt32(CType(beztyp, Int32)) DBObjekt.save_data() End If DBObjekt.dispose() End If End If Next Refresh_Beziehungen() End Function Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles TSBtnSetSecurityObject.Click If InputBox("Passwort:") <> "341211" Then Exit Sub sec.List_Form_Controls(Me) sec.Print_Screen(Me) End Sub Private Sub AllgMainObjekte_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint Me.cbAktiv.Left = Me.txtMutierer.Left End Sub Private Sub AllgMainObjekte_Resize(sender As Object, e As EventArgs) Handles Me.Resize Me.cbAktiv.Left = Me.txtMutierer.Left End Sub Private Sub AllgMainObjekte_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged Me.cbAktiv.Left = Me.txtMutierer.Left End Sub Private Sub ToolStripButton1_Click_1(sender As Object, e As EventArgs) Handles tsbtnReport.Click For Each r As DataRow In Globals.Objekt.Rows If r("Standardauswertung").ToString <> "" Then If r("Standardauswertung") > 0 And Datenklasse.Get_SelectionTypeText(r("Objektnr")) = Me.Type Then Dim rpt As New _FRReporting._FRReporting rpt.ConnectionString = Globals.sConnectionString rpt.Mitarbeiternr = Globals.Mitarbeiternr rpt.TempFilePath = Globals.TmpFilepath Dim ctr As New TextBox ctr = getControlFromName(Me.GroupBox2, r("Paramobject")) Dim param As String = r("Parameter").ToString param = param + "'" + ctr.Text + "'" rpt.DefaultReport(r("Standardauswertung").ToString, r("Parameter").ToString, ctr.Text.ToString, Me.ParentForm.MdiParent) 'DirectCast(FindControl("btnBla", Me), Button).Enabled = False End If End If Next End Sub Function getControlFromName(ByRef containerObj As Object, _ ByVal name As String) As Control Try Dim tempCtrl As Control For Each tempCtrl In containerObj.Controls If tempCtrl.Name.ToUpper.Trim = name.ToUpper.Trim Then Return tempCtrl End If Next tempCtrl Catch ex As Exception End Try End Function Private Function FindControl(ByVal ControlName As String, ByVal CurrentControl As Control) As Control Dim ctr As Control For Each ctr In CurrentControl.Controls If ctr.Name = ControlName Then Return ctr Else ctr = FindControl(ControlName, ctr) If Not ctr Is Nothing Then Return ctr End If End If Next ctr End Function Private Sub tsbtncopy1_Click(sender As Object, e As EventArgs) Handles tsbtncopy1.Click Select Case Datenklasse.Get_Selectiontype(Me.Type) Case 1 Dim s As String s = Me.txtFunktionsstelle.Text Clipboard.SetText(s) Case 2 Dim s As String s = Me.txtTGNummer.Text Clipboard.SetText(s) End Select End Sub Private Sub ToolStripButton1_Click_2(sender As Object, e As EventArgs) Handles tsbtnCopy2.Click Select Case Datenklasse.Get_Selectiontype(Me.Type) Case 1 Dim s As String s = Me.txtFunktionsstelle.Text + " " + Me.txtBezeichnung.Text Clipboard.SetText(s) Case 2 Dim s As String s = Me.txtTGNummer.Text + " " + Me.txtName.Text Clipboard.SetText(s) End Select End Sub Private Sub cbboxVerwaltungMit_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbboxVerwaltungMit.SelectedIndexChanged Check_ParentValues() End Sub Public Function Get_Parentvalues() As DataTable Dim DBObject_Parent As New Object Dim parentid As Integer = DBObject.iparentid.value Try Datenklasse.CreateNew("_DataClass.db." + Me.Type, DBObject_Parent) DBObject_Parent.get_data(parentid) Catch ex As Exception End Try Try Dim dt As New DataTable dt = DBObject_Parent.Get_ParentValues(parentid) Return dt dt.Dispose() Catch ex As Exception Finally End Try End Function Sub Check_ParentValues() Me.lblDateneigentuemer.ForeColor = Color.Black Me.lblVerwaltungDurch.ForeColor = Color.Black Me.lblVerwaltungMit.ForeColor = Color.Black Me.lblSequenz.ForeColor = Color.Black Dim DBObject_Parent As New Object Dim parentid As Integer = DBObject.iparentid.value Try Datenklasse.CreateNew("_DataClass.db." + Me.Type, DBObject_Parent) DBObject_Parent.get_data(parentid) If Me.txtSequenz.Value <> DBObject_Parent.isequenz.value Then Me.lblSequenz.ForeColor = Color.Red Else Me.lblSequenz.ForeColor = Color.Black End If Catch ex As Exception End Try Try Dim dt As New DataTable dt = DBObject_Parent.Get_ParentValues(parentid) If Me.cbboxDateneigentuemer.SelectedValue <> dt.Rows(0).Item(2) And Me.cbboxDateneigentuemer.SelectedValue > -1 Then Me.lblDateneigentuemer.ForeColor = Color.Red Else Me.lblDateneigentuemer.ForeColor = Color.Black If Me.cbboxVerwaltungDurch.SelectedValue <> dt.Rows(0).Item(1) Then Me.lblVerwaltungDurch.ForeColor = Color.Red Else Me.lblVerwaltungDurch.ForeColor = Color.Black If Me.cbboxVerwaltungMit.SelectedValue <> dt.Rows(0).Item(0) Then Me.lblVerwaltungMit.ForeColor = Color.Red Else Me.lblVerwaltungMit.ForeColor = Color.Black dt.Dispose() Catch ex As Exception End Try End Sub Private Sub cbboxVerwaltungDurch_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbboxVerwaltungDurch.SelectedIndexChanged Check_ParentValues() End Sub Private Sub cbboxDateneigentuemer_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbboxDateneigentuemer.SelectedIndexChanged Check_ParentValues() End Sub Private Sub txtSequenz_ValueChanged(sender As Object, e As EventArgs) Handles txtSequenz.ValueChanged Check_ParentValues() End Sub Public Sub Sync_Beziehungen(ByVal RootElement As Integer, ByVal type As String, ByRef tree As DevComponents.AdvTree.AdvTree) Dim Allnodes As List(Of String) = New List(Of String) Dim subnodes As List(Of String) = New List(Of String) Dim dn As DevComponents.AdvTree.Node For Each n As DevComponents.AdvTree.Node In tree.SelectedNodes subnodes = GetChildren(n) For i = 0 To subnodes.Count - 1 Allnodes.Add(subnodes(i)) Next Allnodes.Add(n.Tag) Next Dim vd As Integer Dim vm As Integer Dim de As Integer Dim vda As Integer Dim vma As Integer Dim dea As Integer Select Case UCase(type) Case "BERECHTIGUNG" Dim ob As New _DataClass.db.Berechtigung ob.Get_Data(RootElement) vd = ob.Get_Verwaltung_Durch() vm = ob.Get_Verwaltung_mit de = ob.Get_Dateneigentuemer For Each i As Integer In Allnodes ob.Get_Data(i) vda = ob.Get_Verwaltung_Durch() vma = ob.Get_Verwaltung_mit dea = ob.Get_Dateneigentuemer ob.Set_Verwaltung_Durch(vd, vda) ob.Set_Verwaltung_mit(vm, vma) ob.Set_Dateneigentuemer(de, dea) Next Case "PLATTFORM" Dim ob As New _DataClass.db.Plattform ob.Get_Data(RootElement) vd = ob.Get_Verwaltung_Durch() vm = ob.Get_Verwaltung_mit de = ob.Get_Dateneigentuemer For Each i As Integer In Allnodes ob.Get_Data(i) vda = ob.Get_Verwaltung_Durch() vma = ob.Get_Verwaltung_mit dea = ob.Get_Dateneigentuemer ob.Set_Verwaltung_Durch(vd, vda) ob.Set_Verwaltung_mit(vm, vma) ob.Set_Dateneigentuemer(de, dea) Next Case "SERVER" Dim ob As New _DataClass.db.Server ob.Get_Data(RootElement) vd = ob.Get_Verwaltung_Durch() vm = ob.Get_Verwaltung_mit de = ob.Get_Dateneigentuemer For Each i As Integer In Allnodes ob.Get_Data(i) vda = ob.Get_Verwaltung_Durch() vma = ob.Get_Verwaltung_mit dea = ob.Get_Dateneigentuemer ob.Set_Verwaltung_Durch(vd, vda) ob.Set_Verwaltung_mit(vm, vma) ob.Set_Dateneigentuemer(de, dea) Next End Select End Sub Function GetChildren(parentNode As DevComponents.AdvTree.Node) As List(Of String) Dim nodes As List(Of String) = New List(Of String) GetAllChildren(parentNode, nodes) Return nodes End Function Sub GetAllChildren(parentNode As DevComponents.AdvTree.Node, nodes As List(Of String)) For Each childNode As DevComponents.AdvTree.Node In parentNode.Nodes nodes.Add(childNode.Tag) GetAllChildren(childNode, nodes) Next End Sub Sub GetAllChildren(parentNode As TreeNode, nodes As List(Of String)) For Each childNode As TreeNode In parentNode.Nodes nodes.Add(childNode.Tag) GetAllChildren(childNode, nodes) Next End Sub Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked End Sub Private Sub KopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenToolStripMenuItem.Click Clipboard.SetText(txtPrimaryKey.Text) End Sub Private Sub GroupBox2_Enter(sender As Object, e As EventArgs) Handles GroupBox2.Enter End Sub Private Sub dtPickernaechstePruefung_ValueChanged(sender As Object, e As EventArgs) Handles dtPickernaechstePruefung.ValueChanged Me.txtnaechstePruefung.Text = dtPickernaechstePruefung.Value.ToShortDateString End Sub End Class