Public Class frmGremienverwaltung #Region "Deklarationen" Dim Gremienverwaltung As New clsGremienverwaltung Dim msg As New TKB.VV.Utils.MyMessage Dim Vertragspartner As New TKB.VV.Vertrag.clsVertragspartner Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte Private VertragspartnerNr As Integer #End Region Private Sub frmGremienverwaltung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Me.Cursor = Cursors.WaitCursor Me.C1Gremium.DataSource = Gremienverwaltung.Gremium.Tabledata.Tables(0) Me.C1Gremium.DataMember = Gremienverwaltung.Gremium.Tablename Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Gremium, "Gremium", Me.Gremienverwaltung.Gremium.Tabledata) Me.VertragspartnerNr = 1 Me.Get_Vertragspartner() Catch ex As Exception Finally Me.Cursor = Cursors.Default End Try End Sub Private Sub C1Gremium_AfterFilter(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FilterEventArgs) Handles C1Gremium.AfterFilter Try Me.C1Grp.DataSource = Gremienverwaltung.GremiumGruppe.Tabledata.Tables(0) Me.C1Grp.DataMember = Gremienverwaltung.GremiumGruppe.Tablename Me.C1Grp.Columns("Gremiumnr").FilterText = Me.C1Gremium.Columns("Gremiumnr").Value.ToString Me.C1Grp.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Grp, "GremiumGruppierung", Me.Gremienverwaltung.GremiumGruppe.Tabledata) C1Grp_AfterFilter(sender, e) Catch ex As Exception End Try End Sub Private Sub C1Gremium_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1Gremium.RowColChange Try Me.C1Grp.DataSource = Gremienverwaltung.GremiumGruppe.Tabledata.Tables(0) Me.C1Grp.DataMember = Gremienverwaltung.GremiumGruppe.Tablename Me.C1Grp.Columns("Gremiumnr").FilterText = Me.C1Gremium.Columns("Gremiumnr").Value.ToString Me.C1Grp.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Grp, "GremiumGruppierung", Me.Gremienverwaltung.GremiumGruppe.Tabledata) C1Grp_RowColChange(sender, e) Catch ex As Exception End Try End Sub Private Sub C1Grp_AfterFilter(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FilterEventArgs) Handles C1Grp.AfterFilter Try Me.C1Bereich.DataSource = Gremienverwaltung.GremiumBereich.Tabledata.Tables(0) Me.C1Bereich.DataMember = Gremienverwaltung.GremiumBereich.Tablename If Me.C1Grp.Columns("GremiumGruppierungNr").Value.ToString = "" Then Me.C1Bereich.Columns("GremiumGruppierungNr").FilterText = "-999" Else Me.C1Bereich.Columns("GremiumGruppierungNr").FilterText = Me.C1Grp.Columns("GremiumGruppierungNr").Value.ToString End If Me.C1Bereich.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Bereich, "GremiumBereich", Me.Gremienverwaltung.GremiumBereich.Tabledata) C1Bereich_AfterFilter(sender, e) Catch ex As Exception End Try End Sub Private Sub C1Bereich_AfterFilter(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FilterEventArgs) Handles C1Bereich.AfterFilter Try Me.C1Personen.DataSource = Nothing Me.C1Personen.DataSource = Gremienverwaltung.Gremiumperson.Tabledata.Tables(0) Me.C1Personen.DataMember = Gremienverwaltung.GremiumGruppe.Tablename If Me.C1Bereich.Columns("GremiumBereichnr").Value.ToString = "" Then Me.C1Personen.Columns("GremiumBereichNr").FilterText = "-999" Else Me.C1Personen.Columns("GremiumBereichNr").FilterText = Me.C1Bereich.Columns("GremiumBereichnr").Value.ToString End If Me.C1Personen.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Personen, "GremiumPerson", Me.Gremienverwaltung.Gremiumperson.Tabledata) 'Me.C1RolleDropDown.DataSource = Me.Gremienverwaltung.Rollen.Tabledata.Tables(0) Me.C1RolleDropDown.DataSource = Me.Gremienverwaltung.Rollen Me.C1RolleDropDown.ValueMember = "Kontakttypnr" Me.C1RolleDropDown.DisplayMember = "Bezeichnung" Me.C1Personen.Columns("Rollenr").DropDown = Me.C1RolleDropDown Me.C1RolleDropDown.ValueTranslate = True Me.C1RolleDropDown.DisplayColumns(0).Width = 0 Me.C1RolleDropDown.Columns("ApplikationsbereichNr").FilterText = "3" Me.C1RolleDropDown.DisplayColumns(1).Width = Me.C1RolleDropDown.Width Me.C1Personen.Columns("Rollenr").ValueItems.Translate = True Catch ex As Exception End Try End Sub Private Sub C1Grp_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Grp.Leave, C1Bereich.Leave, C1Gremium.Leave, C1Personen.Leave If Me.Gremienverwaltung.Gremium.Tabledata.HasChanges Or Me.Gremienverwaltung.GremiumGruppe.Tabledata.HasChanges Or _ Me.Gremienverwaltung.GremiumBereich.Tabledata.HasChanges Or Me.Gremienverwaltung.GremiumPerson.Tabledata.HasChanges Then If msg.Show_MessageYesNo(3) = MsgBoxResult.Yes Then TSBtnSave_Click(sender, e) End If End If End Sub Private Sub C1Grp_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1Grp.RowColChange Try Me.C1Bereich.DataSource = Gremienverwaltung.GremiumBereich.Tabledata.Tables(0) Me.C1Bereich.DataMember = Gremienverwaltung.GremiumBereich.Tablename If Me.C1Grp.Columns("GremiumGruppierungNr").Value.ToString = "" Then Me.C1Bereich.Columns("GremiumGruppierungNr").FilterText = "-999" Else Me.C1Bereich.Columns("GremiumGruppierungNr").FilterText = Me.C1Grp.Columns("GremiumGruppierungNr").Value.ToString End If Me.C1Bereich.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Bereich, "GremiumBereich", Me.Gremienverwaltung.GremiumBereich.Tabledata) C1Bereich_RowColChange(sender, e) Catch ex As Exception End Try End Sub Private Sub C1Bereich_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1Bereich.RowColChange Try Me.C1Personen.DataSource = Nothing Me.C1Personen.DataSource = Gremienverwaltung.Gremiumperson.Tabledata.Tables(0) Me.C1Personen.DataMember = Gremienverwaltung.GremiumGruppe.Tablename If Me.C1Bereich.Columns("GremiumBereichnr").Value.ToString = "" Then Me.C1Personen.Columns("GremiumBereichNr").FilterText = "-999" Else Me.C1Personen.Columns("GremiumBereichNr").FilterText = Me.C1Bereich.Columns("GremiumBereichnr").Value.ToString End If Me.C1Personen.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Personen, "GremiumPerson", Me.Gremienverwaltung.Gremiumperson.Tabledata) 'Me.C1RolleDropDown.DataSource = Me.Gremienverwaltung.Rollen.Tabledata.Tables(0) Me.C1RolleDropDown.DataSource = Me.Gremienverwaltung.Rollen Me.C1RolleDropDown.ValueMember = "Kontakttypnr" Me.C1RolleDropDown.DisplayMember = "Bezeichnung" Me.C1Personen.Columns("Rollenr").DropDown = Me.C1RolleDropDown Me.C1RolleDropDown.ValueTranslate = True Me.C1RolleDropDown.DisplayColumns(0).Width = 0 Me.C1RolleDropDown.Columns("ApplikationsbereichNr").FilterText = "3" Me.C1RolleDropDown.DisplayColumns(1).Width = Me.C1RolleDropDown.Width Me.C1Personen.Columns("Rollenr").ValueItems.Translate = True Catch ex As Exception End Try End Sub #Region "C1 Handling" ''' ''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz) ''' wird dieser aus der Keytabelle ausgelesen und zugewiesen. ''' ''' ''' ''' Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig Private Sub C1Gremium_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Gremium.AfterColUpdate 'Aktualisieren von Mutierer und Mutiert_am Dim i As Integer Try For i = 0 To Me.C1Gremium.Columns.Count - 1 If LCase(Me.C1Gremium.Columns(i).DataField) = "mutiert_am" Then Me.C1Gremium.Columns(i).Value = Now If LCase(Me.C1Gremium.Columns(i).DataField) = "mutierer" Then Me.C1Gremium.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Next 'neuer DB-Key auslösen, sofern kein Key vorhanden ist If Me.C1Gremium.Columns(0).Value Is DBNull.Value Then Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle() Dim key As Long dbkey.cpMainConnectionProvider = conn key = dbkey.get_dbkey(Me.Gremienverwaltung.Gremium.Tablename) Me.C1Gremium.Columns(0).Value = key For i = 0 To Me.C1Gremium.Columns.Count - 1 If LCase(Me.C1Gremium.Columns(i).DataField) = "mandantnr" Then Me.C1Gremium.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Gremium.Columns(i).DataField) = "erstellt_am" Then Me.C1Gremium.Columns(i).Value = Now End If If LCase(Me.C1Gremium.Columns(i).DataField) = "aktiv" Then Me.C1Gremium.Columns(i).Value = 1 End If Next dbkey.Dispose() End If Catch End Try End Sub ''' ''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz) ''' wird dieser aus der Keytabelle ausgelesen und zugewiesen. ''' ''' ''' ''' Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig Private Sub C1Grp_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Grp.AfterColUpdate 'Aktualisieren von Mutierer und Mutiert_am Dim i As Integer Try For i = 0 To Me.C1Grp.Columns.Count - 1 If LCase(Me.C1Grp.Columns(i).DataField) = "mutiert_am" Then Me.C1Grp.Columns(i).Value = Now If LCase(Me.C1Grp.Columns(i).DataField) = "mutierer" Then Me.C1Grp.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Next 'neuer DB-Key auslösen, sofern kein Key vorhanden ist If Me.C1Grp.Columns(0).Value Is DBNull.Value Then Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle() Dim key As Long dbkey.cpMainConnectionProvider = conn key = dbkey.get_dbkey(Me.Gremienverwaltung.GremiumGruppe.Tablename) Me.C1Grp.Columns(0).Value = key For i = 0 To Me.C1Grp.Columns.Count - 1 If LCase(Me.C1Grp.Columns(i).DataField) = "mandantnr" Then Me.C1Grp.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Grp.Columns(i).DataField) = "erstellt_am" Then Me.C1Grp.Columns(i).Value = Now End If If LCase(Me.C1Grp.Columns(i).DataField) = "aktiv" Then Me.C1Grp.Columns(i).Value = 1 End If If LCase(Me.C1Grp.Columns(i).DataField) = "gremiumnr" Then Me.C1Grp.Columns(i).Value = Me.C1Gremium.Columns("Gremiumnr").Value End If Next dbkey.Dispose() End If Catch End Try End Sub Private Sub C1Bereich_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Bereich.AfterColUpdate 'Aktualisieren von Mutierer und Mutiert_am Dim i As Integer Try For i = 0 To Me.C1Bereich.Columns.Count - 1 If LCase(Me.C1Bereich.Columns(i).DataField) = "mutiert_am" Then Me.C1Bereich.Columns(i).Value = Now If LCase(Me.C1Bereich.Columns(i).DataField) = "mutierer" Then Me.C1Bereich.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Next 'neuer DB-Key auslösen, sofern kein Key vorhanden ist If Me.C1Bereich.Columns(0).Value Is DBNull.Value Then Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle() Dim key As Long dbkey.cpMainConnectionProvider = conn key = dbkey.get_dbkey(Me.Gremienverwaltung.GremiumBereich.Tablename) Me.C1Bereich.Columns(0).Value = key For i = 0 To Me.C1Bereich.Columns.Count - 1 If LCase(Me.C1Bereich.Columns(i).DataField) = "mandantnr" Then Me.C1Bereich.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Bereich.Columns(i).DataField) = "erstellt_am" Then Me.C1Bereich.Columns(i).Value = Now End If If LCase(Me.C1Bereich.Columns(i).DataField) = "aktiv" Then Me.C1Bereich.Columns(i).Value = 1 End If If LCase(Me.C1Bereich.Columns(i).DataField) = "gremiumgruppierungnr" Then Me.C1Bereich.Columns(i).Value = Me.C1Grp.Columns("Gremiumgruppierungnr").Value End If Next dbkey.Dispose() End If Catch End Try End Sub #End Region Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click If Me.Gremienverwaltung.Gremium.Tabledata.HasChanges Then Me.Gremienverwaltung.Gremium.Save_Data() If Me.Gremienverwaltung.GremiumGruppe.Tabledata.HasChanges Then Me.Gremienverwaltung.GremiumGruppe.Save_Data() If Me.Gremienverwaltung.GremiumBereich.Tabledata.HasChanges Then Me.Gremienverwaltung.GremiumBereich.Save_Data() If Me.Gremienverwaltung.GremiumPerson.Tabledata.HasChanges Then Me.Gremienverwaltung.GremiumPerson.Save_Data() End Sub Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click Me.Close() End Sub #Region "Vertragspartner" #End Region ''' ''' Vertragspartner suchen ''' ''' ''' ''' Private Sub btnVertragspartnersuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVertragspartnersuche.Click Dim f As New frmVertragspartnerSuche f.ShowDialog() If f.Vertragspartnernr <> -1 Then Me.VertragspartnerNr = f.Vertragspartnernr f.Dispose() Me.Get_Vertragspartner() End If End Sub Private Function Get_Vertragspartner() Me.txtVertragspartner.Text = Me.Vertragspartner.Get_Vertragspartnername(Me.VertragspartnerNr) Get_Vertragspartner_Kontakte() End Function Private Function Get_Vertragspartner_Kontakte() Try 'If Check_Changes() = False Then Exit Function Catch ex As Exception End Try Me.C1Kontaktpersonen.Enabled = False Me.Vertragspartner.Get_Kontaktpersonen(Me.C1Kontaktpersonen) Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kontaktpersonen, "Person", Me.Vertragspartner.Kontaktpersonen.Tabledata) Me.C1Kontaktpersonen.Enabled = True End Function Private Sub BtnInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnInsert.Click Me.Gremienverwaltung.Insert_Gremium_Person(Me.C1Kontaktpersonen.Columns("PersonNr").Value, Me.C1Bereich.Columns("Gremiumbereichnr").Value) Me.C1Personen.DataSource = Nothing Me.C1Personen.DataSource = Gremienverwaltung.Gremiumperson.Tabledata.Tables(0) Me.C1Personen.DataMember = Gremienverwaltung.GremiumGruppe.Tablename Me.C1Personen.Columns("GremiumBereichNr").FilterText = Me.C1Bereich.Columns("GremiumBereichnr").Value.ToString Me.C1Personen.Columns("Aktiv").FilterText = "True" Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Personen, "GremiumPerson", Me.Gremienverwaltung.Gremiumperson.Tabledata) ' Me.C1RolleDropDown.DataSource = Me.Gremienverwaltung.Rollen.Tabledata.Tables(0) Me.C1RolleDropDown.DataSource = Me.Gremienverwaltung.Rollen Me.C1RolleDropDown.ValueMember = "Kontakttypnr" Me.C1RolleDropDown.DisplayMember = "Bezeichnung" Me.C1RolleDropDown.ValueTranslate = True Me.C1Personen.Columns("Rollenr").DropDown = Me.C1RolleDropDown Me.C1RolleDropDown.DisplayColumns(0).Width = 0 Me.C1RolleDropDown.DisplayColumns(1).Width = Me.C1RolleDropDown.Width ' Me.C1RolleDropDown.Columns("ApplikationsbereichNr").FilterText = "3" Me.C1Personen.Columns("Rollenr").ValueItems.Translate = True End Sub End Class