Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports C1.Win.C1TrueDBGrid
'''Vertragsaprtner
'''TKB.VV.Utils.Tabellenspalte
'''TKB.VV.Utils.MySecurity
'''TKB.VV.Utils.MyMessage
'''TKB.VV.Sysadmin.DomainTable
'''TKB.VV.SLA.clsServiceKatalogTree
'''TKB.VV.SLA
'''TKB.VV.Sysadmin
'''TKB.VV.Utils
'''
Public Class frmVertragspartner
#Region "Deklarationen"
Dim Vertragspartnerdata As New TKB.VV.Vertrag.clsVertragspartner
Dim Kontaktperson As New TKB.VV.Vertrag.clsPersonen
Dim sec As New TKB.VV.Utils.MySecurity
Dim msg As New TKB.VV.Utils.MyMessage
Dim FormReadonly As Boolean = False
Dim FormDataChanged As Boolean = False
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
Private vpnr As Integer
Private Anzeige As Boolean
Dim Neuer_Datensatz As Boolean = False
Friend selectPoint As New System.Drawing.Point()
Dim IsOnLoad As Boolean = True
#End Region
#Region "Closing / Check_Changes"
'''
''' Schliessen des Formulars
'''
'''
'''
'''
Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Me.FormReadonly = True Then Exit Sub
If check_changes() = False Then
e.Cancel = True
Else
If Me.Vertragspartnerdata.Neuer_Datensatz = True Then Me.Vertragspartnerdata.Delete(Me.Vertragspartnerdata.iVertragspartnerNr.Value)
Globals.MyEventHanlder.Vertragspartner_Closed(Me.Vertragspartnerdata.iVertragspartnerNr.Value)
Me.dispose()
End If
End Sub
'''
''' Prüfung, ob Datenänderungen vorgenommen wurden.
'''
'''
Private Function Check_Changes() As Boolean
If Me.FormReadonly Then Return True
If Me.IsOnLoad = True Then Return True
Dim msgres As MsgBoxResult
If Me.FormDataChanged Then
msgres = msg.Show_MessageYesNoCancel(3)
Select Case msgres
Case MsgBoxResult.Yes
Save_data()
Return True
Case MsgBoxResult.Cancel
Return False
Case MsgBoxResult.No
Return True
End Select
Else
Return True
End If
End Function
#End Region
#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 CheckBox Then
Dim ctl As CheckBox = c
AddHandler ctl.CheckedChanged, evh
End If
Next
End Sub
'''
''' Envent-Handler für Change-Ereignisse
'''
'''
'''
'''
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
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
#Region "Formular"
'''
''' Constructor New
'''
'''
Sub New()
MyBase.New()
Me.InitializeComponent()
Me.vpnr = -1
End Sub
'''
''' Formualr mit Vertragspartnernr und Anzeigestatus öffnen
'''
''' Nr des Vertragspartners
''' True=Readonly, False=normal
'''
Sub New(ByVal vertragspartnernr As Integer, ByVal Anzeige As Boolean, Optional ByVal CreateNew As Boolean = False)
MyBase.New()
Me.InitializeComponent()
Me.Anzeige = Anzeige
If CreateNew Then
Me.vpnr = Me.Vertragspartnerdata.Add_New
Me.txtName_Firma1.Text = "*** Neuer Vertragspartner ***"
Me.txtName_Firma1.SelectAll()
Else
Me.vpnr = vertragspartnernr
End If
End Sub
'''
''' destruction Dispose
'''
'''
Overloads Sub dispose()
Vertragspartnerdata.dispose()
Kontaktperson.Dispose()
sec = Nothing
msg = Nothing
SpaltenTitel = Nothing
MyBase.Dispose()
End Sub
'''
''' Formular laden
'''
'''
'''
'''
Private Sub frmVertragspartner_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Anzeige = True Then
Me.TSBtnSuche.Enabled = False
Me.TSBtnSave.Enabled = False
Else
Me.TSBtnSuche.Enabled = True
End If
sec.Set_Form_Security(Me)
If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then
Me.FormReadonly = True
Me.TSBtnCopy.Enabled = False
Me.TSBtnNew.Enabled = False
Me.TSBtnDelete.Enabled = False
Me.TS2BtnNew.Enabled = False
Me.TS2BtnCopy.Enabled = False
Me.TS2BtnDelete.Enabled = False
Me.KontaktAnzeigenToolStripMenuItem.Enabled = False
Me.KontaktKopierenToolStripMenuItem.Enabled = False
Me.KontaktNeuToolStripMenuItem.Enabled = False
Me.KontaktInaktivierenToolStripMenuItem.Enabled = False
Else
Me.FormReadonly = False
End If
Me.Refresh_Vertragspartnerliste()
If Me.vpnr <> -1 Then
Me.TreeVertragspartner.SelectedNode = Me.FindNode(Me.TreeVertragspartner.Nodes, Me.vpnr, "")
Else
Me.TreeVertragspartner.SelectedNode = Me.TreeVertragspartner.Nodes(0)
End If
Load_Securitylevel()
Get_Data(Me.vpnr)
If Me.Neuer_Datensatz = True Then
Me.Vertragspartnerdata.Neuer_Datensatz = True
Me.Neuer_Datensatz = False
End If
Me.AddChanges(Me)
If Me.FormReadonly Then sec.Set_Form_Readonly(Me)
End Sub
'''
''' Anzeige des Suchformulars, wenn keine Vertragspartnernummer vorhanden ist
'''
'''
'''
'''
Private Sub frmVertragspartner_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
'If Me.vpnr = -1 Then Me.TSBtnSuche_Click(sender, e)
Me.IsOnLoad = False
End Sub
#End Region
#Region "Buttons/Menu"
'''
''' Formular schliessen
'''
'''
'''
'''
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
'''
''' Sicherungs-Button betätigt
'''
'''
'''
'''
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
Me.Save_Data()
Me.txtMutiert_am.Text = Me.Vertragspartnerdata.daMutiert_am.ToString
End Sub
'''
''' Datensatz kopieren
'''
'''
'''
'''
Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click
If Me.Check_Changes = False Then Exit Sub
Me.Get_Data(Vertragspartnerdata.Create_Copy(Me.Vertragspartnerdata.iVertragspartnerNr.Value))
Me.Vertragspartnerdata.Neuer_Datensatz = True
End Sub
'''
''' Neuer Datensatz erstellen
'''
'''
'''
'''
Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click
If Me.Check_Changes = False Then Exit Sub
Me.Get_Data(Me.Vertragspartnerdata.Add_New)
Me.Vertragspartnerdata.Neuer_Datensatz = True
End Sub
'''
''' Aktueller Datensatz inaktivieren
'''
'''
'''
'''
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
If msg.Show_MessageYesNo(250) = MsgBoxResult.Yes Then
Dim v As New TKB.VV.Vertrag.clsVertragselement
If v.Generate_Pendenz(0, Me.Vertragspartnerdata.sNameZ1.Value.ToString + "," + Me.Vertragspartnerdata.sOrt.Value.ToString, False, Me.Vertragspartnerdata.iVertragspartnerNr) = MsgBoxResult.Cancel Then
Exit Sub
End If
Me.Vertragspartnerdata.Delete_Partner(Me.Vertragspartnerdata.iVertragspartnerNr.Value)
Me.Close()
End If
End Sub
'''
''' Menu Beenden
'''
'''
'''
'''
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Me.TSBtnQuit_Click(sender, e)
End Sub
'''
''' Vertragspartner suchen
'''
'''
'''
'''
Private Sub TSBtnSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSuche.Click
Me.Refresh_Vertragspartnerliste()
'If Not Me.FormReadonly Then Check_Changes()
'Dim i As Integer
'If Me.Vertragspartnerdata.Vertragspartner_Suchen(i) = True Then
' Me.Get_Data(i)
'End If
End Sub
#End Region
#Region "Daten"
'''
''' Vertragspartner laden
'''
'''
'''
Private Sub Get_Data(ByVal Nr As Integer)
Try
Me.Vertragspartnerdata.Get_Partner(Nr)
Me.txtName_Firma1.Text = Me.Vertragspartnerdata.sNameZ1.Value
Me.txtVorname_Firma2.Text = Me.Vertragspartnerdata.sNameZ2.Value
Me.txtStrasse.Text = Me.Vertragspartnerdata.sStrasse.Value
Me.txtPostfach.Text = Me.Vertragspartnerdata.sPostfach.Value
Me.txtPlz.Text = Me.Vertragspartnerdata.sPLZ.Value
Me.txtOrt.Text = Me.Vertragspartnerdata.sOrt.Value
Me.txtTelefon.Text = Me.Vertragspartnerdata.sTelefon.Value
Me.txtTelefax.Text = Me.Vertragspartnerdata.sTelefax.Value
Me.txtEmail.Text = Me.Vertragspartnerdata.sEMail.Value
Me.txtInternet.Text = Me.Vertragspartnerdata.sInternet.Value
Me.txtBemerkung.Text = Me.Vertragspartnerdata.sBemerkung.Value
Me.txtErstellt_am.Text = Me.Vertragspartnerdata.daErstellt_am.ToString
Me.txtMutiert_am.Text = Me.Vertragspartnerdata.daMutiert_am.ToString
Me.txtMutierer.Text = Me.Vertragspartnerdata.iMutierer.Value
Me.cbAktiv.Checked = Me.Vertragspartnerdata.bAktiv.Value = True
Me.cboxSecurityLevel.SelectedValue = Me.Vertragspartnerdata.iSecurityLevelNr.Value
Me.txtSuchbegriffe.Text = Me.Vertragspartnerdata.sSuchbegriffe.ToString
Set_Titel()
Me.FormDataChanged = False
Refresh_Personen()
'If Not Anzeige Then
' Me.PnlDetails.Enabled = True
' Me.GrpKontakte.Enabled = True
' Me.TSBtnSave.Enabled = True
' Me.TSBtnCopy.Enabled = True
' Me.TSBtnNew.Enabled = True
' Me.TSBtnDelete.Enabled = True
'End If
sec.Set_Form_Security(Me)
Catch ex As Exception
FormDataChanged = False
Me.PnlDetails.Enabled = False
Me.GrpKontakte.Enabled = False
Me.TSBtnSave.Enabled = False
Me.TSBtnCopy.Enabled = False
Me.TSBtnNew.Enabled = True
Me.TSBtnDelete.Enabled = False
sec.Set_Form_Security(Me)
End Try
End Sub
'''
''' Vertragspartner sichern, sofern Änderungen vorgenommen wurden, anschliessend erneut laden
'''
'''
Private Sub Save_Data()
If Me.FormDataChanged Then
Me.Vertragspartnerdata.sNameZ1 = New SqlString(CType(Me.txtName_Firma1.Text, String))
Me.Vertragspartnerdata.sNameZ2 = New SqlString(CType(Me.txtVorname_Firma2.Text, String))
Me.Vertragspartnerdata.sStrasse = New SqlString(CType(Me.txtStrasse.Text, String))
Me.Vertragspartnerdata.sPostfach = New SqlString(CType(Me.txtPostfach.Text, String))
Me.Vertragspartnerdata.sPLZ = New SqlString(CType(Me.txtPlz.Text, String))
Me.Vertragspartnerdata.sOrt = New SqlString(CType(Me.txtOrt.Text, String))
Me.Vertragspartnerdata.sTelefon = New SqlString(CType(Me.txtTelefon.Text, String))
Me.Vertragspartnerdata.sTelefax = New SqlString(CType(Me.txtTelefax.Text, String))
Me.Vertragspartnerdata.sEMail = New SqlString(CType(Me.txtEmail.Text, String))
Me.Vertragspartnerdata.sInternet = New SqlString(CType(Me.txtInternet.Text, String))
Me.Vertragspartnerdata.sBemerkung = New SqlString(CType(Me.txtBemerkung.Text, String))
Me.Vertragspartnerdata.sSuchbegriffe = New SqlString(CType(Me.txtSuchbegriffe.Text, String))
Dim save_aktiv As Boolean = Vertragspartnerdata.bAktiv.Value
Me.Vertragspartnerdata.bAktiv = New SqlBoolean(CType(Me.cbAktiv.Checked, Boolean))
Me.Vertragspartnerdata.iSecurityLevelNr = New SqlInt32(CType(Me.cboxSecurityLevel.SelectedValue, Int32))
If save_aktiv <> Vertragspartnerdata.bAktiv.Value And Vertragspartnerdata.bAktiv.Value = False Then
If msg.Show_MessageYesNo(250) = MsgBoxResult.Yes Then
Dim v As New TKB.VV.Vertrag.clsVertragselement
If v.Generate_Pendenz(0, Me.Vertragspartnerdata.sNameZ1.Value.ToString + "," + Me.Vertragspartnerdata.sOrt.Value.ToString, False, Me.Vertragspartnerdata.iVertragspartnerNr) = MsgBoxResult.Cancel Then
Me.cbAktiv.Checked = save_aktiv
Exit Sub
End If
Else
Exit Sub
End If
End If
Get_Data(Me.Vertragspartnerdata.Save_Data)
If save_aktiv <> Vertragspartnerdata.bAktiv.Value And Vertragspartnerdata.bAktiv.Value = False Then
Me.Vertragspartnerdata.Delete_Partner(Me.Vertragspartnerdata.iVertragspartnerNr.Value)
End If
Me.FormDataChanged = False
End If
End Sub
'''
''' Personenliste aktualisieren
'''
'''
Private Sub Refresh_Personen()
Try
If check_changes = False Then Exit Sub
Catch ex As Exception
End Try
Me.C1Kontakte.Enabled = True
Me.Vertragspartnerdata.Get_Kontaktpersonen(Me.C1Kontakte)
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kontakte, "Person", Me.Vertragspartnerdata.Kontaktpersonen.Tabledata)
sec.Set_Form_Security(Me)
Me.C1Kontakte.Enabled = True
Me.Set_KontaktButtons()
End Sub
'''
''' Änderungsvermerk sofern Änderungen vorgenommen wurden
'''
'''
'''
'''
Private Sub txtBemerkung_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBemerkung.TextChanged, cboxSecurityLevel.SelectedIndexChanged, txtTelefon.TextChanged, _
txtTelefax.TextChanged, txtEmail.TextChanged, txtInternet.TextChanged, cbAktiv.CheckedChanged, txtOrt.TextChanged, txtPlz.TextChanged, txtPostfach.TextChanged, _
txtStrasse.TextChanged, txtVorname_Firma2.TextChanged, txtName_Firma1.TextChanged
Me.FormDataChanged = True
Set_Titel()
'If sender.name = "cbAktiv" Then
' If Not Me.IsOnLoad Then
' If Me.cbAktiv.Checked = False Then
' msg.show_standardmessage(851, MsgBoxStyle.Critical)
' End If
' End If
'End If
End Sub
#End Region
#Region "Security"
'''
''' Laden der Securitylevel-Daten in die Combobox
'''
'''
Private Sub Load_Securitylevel()
Dim seclevel As New TKB.VV.DB.clsSecurityLevel
Dim secleveldata As New DataTable
seclevel.cpMainConnectionProvider = Globals.conn
Globals.conn.OpenConnection()
secleveldata = seclevel.SelectAll
Globals.conn.CloseConnection(True)
Me.cboxSecurityLevel.DataSource = secleveldata
Me.cboxSecurityLevel.DisplayMember = "Bezeichnung"
Me.cboxSecurityLevel.ValueMember = "SecurityLevelNr"
seclevel.Dispose()
End Sub
#End Region
#Region "Kontakte"
Private Sub C1Kontakte_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Kontakte.Click
Me.Set_KontaktButtons()
End Sub
'''
''' Doubleclick in der Kontaktliste
'''
'''
'''
'''
Private Sub C1Kontakte_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C1Kontakte.DoubleClick
Try
Dim f As New frmPerson(Me.C1Kontakte.Columns("Personnr").Value, Me.Vertragspartnerdata.iVertragspartnerNr.Value, Me.FormReadonly)
f.ShowDialog()
Me.Refresh_Personen()
Catch
End Try
End Sub
'''
''' Mousedown Kontakte
'''
'''
'''
'''
Private Sub C1Kontakte_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Kontakte.MouseDown
Me.C1Kontakte.Bookmark = Me.C1Kontakte.RowContaining(e.Y)
End Sub
#Region "Kontextmenu Kontakte"
Private Sub KontaktMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles KontaktMenuStrip.Opening
Disable_Enable_Menu(Me.KontaktMenuStrip, Me.C1Kontakte)
End Sub
'''
''' Enabling bzw. Disabling der Menu-Einträge aufgrund der angezeigten Rows im Truedbgrind
'''
''' Zu bearbeitendes Menu
''' Betroffenes Grid
'''
''' Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allfällig standardmössig aktivierte Menueinträge
''' aufgrund der Security-Einstellung wieder deaktiviert werden
'''
''' Enabling bzw. Disabling der Menu-Einträge aufgrund der angezeigten Rows im Truedbgrind
'''
''' Zu bearbeitendes Menu
''' Betroffenes Grid
'''
''' Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allfällig standardmössig aktivierte Menueinträge
''' aufgrund der Security-Einstellung wieder deaktiviert werden
Private Function Disable_Enable_Menu(ByRef menu As ContextMenuStrip, ByRef c1data As C1TrueDBGrid)
If Me.FormReadonly Then
For Each obj As Object In menu.Items
Dim objtype As System.Type = obj.GetType
If LCase(objtype.Name) = "toolstripmenuitem" Then
Dim mnu As ToolStripMenuItem = obj
If (mnu.Text.IndexOf("Anzeigen") > 0 Or mnu.Text.IndexOf("anzeigen") > 0) And c1data.Splits(0).Rows.Count > 0 Then
mnu.Enabled = True
Else
mnu.Enabled = False
End If
End If
Next
sec.Set_Form_Security(Me)
Exit Function
End If
If c1data.Splits(0).Rows.Count = 0 Then
For Each obj As Object In menu.Items
Dim objtype As System.Type = obj.GetType
If LCase(objtype.Name) = "toolstripmenuitem" Then
Dim mnu As ToolStripMenuItem = obj
If mnu.Text.IndexOf("Neu") > 0 Then
mnu.Enabled = True
Else
mnu.Enabled = False
End If
End If
Next
Else
For Each obj As Object In menu.Items
Dim objtype As System.Type = obj.GetType
If LCase(objtype.Name) = "toolstripmenuitem" Then
Dim mnu As ToolStripMenuItem = obj
mnu.Enabled = True
End If
Next
End If
sec.Set_Form_Security(Me)
End Function
'Private Function Disable_Enable_Menu(ByRef menu As ContextMenuStrip, ByRef c1data As C1TrueDBGrid)
' If c1data.Splits(0).Rows.Count = 0 Then
' For Each obj As Object In menu.Items
' Dim objtype As System.Type = obj.GetType
' If LCase(objtype.Name) = "toolstripmenuitem" Then
' Dim mnu As ToolStripMenuItem = obj
' If mnu.Text.IndexOf("Neu") > 0 Then
' mnu.Enabled = True
' Else
' mnu.Enabled = False
' End If
' End If
' Next
' Else
' For Each obj As Object In menu.Items
' Dim objtype As System.Type = obj.GetType
' If LCase(objtype.Name) = "toolstripmenuitem" Then
' Dim mnu As ToolStripMenuItem = obj
' mnu.Enabled = True
' End If
' Next
' End If
' sec.Set_Form_Security(Me)
'End Function
'''
''' Buttons für das Kontakt-Grid abhängig der angezeigten Datensätze enablen bzw. disablen
'''
'''
'''
Private Function Set_KontaktButtons()
If Me.C1Kontakte.Splits(0).Rows.Count = 0 Then
Me.TS2BtnNew.Enabled = True
Me.TS2BtnView.Enabled = False
Me.TS2BtnCopy.Enabled = False
Me.TS2BtnDelete.Enabled = False
Else
Me.TS2BtnNew.Enabled = True
Me.TS2BtnView.Enabled = True
Me.TS2BtnCopy.Enabled = True
Me.TS2BtnDelete.Enabled = True
End If
sec.Set_Form_Security(Me)
End Function
'''
''' KontextMenu anzeigen
'''
'''
'''
'''
Private Sub AnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KontaktAnzeigenToolStripMenuItem.Click
Try
Me.TS2BtnView_Click(sender, e)
Catch
End Try
End Sub
'''
''' Kontextmenu Kopieren
'''
'''
'''
'''
Private Sub KontaktKopierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KontaktKopierenToolStripMenuItem.Click
Try
Me.TS2BtnCopy_Click(sender, e)
Catch
End Try
End Sub
'''
''' Kontextmenu Neu
'''
'''
'''
'''
Private Sub KontaktNeuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KontaktNeuToolStripMenuItem.Click
Try
Me.TS2BtnNew_Click(sender, e)
Catch
End Try
End Sub
'''
''' Kontextmenu Delete
'''
'''
'''
'''
Private Sub KontaktInaktivierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KontaktInaktivierenToolStripMenuItem.Click
Try
Me.TS2BtnDelete_Click(sender, e)
Catch
End Try
End Sub
'''
''' Rowstyle von inaktiven Personen
'''
'''
'''
'''
Private Sub C1Kuendigungsfristen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Kontakte.FetchRowStyle
Try
If Me.C1Kontakte.Columns("aktiv").CellValue(e.Row) = False Then
Dim FNT As Font = e.CellStyle.Font
e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout)
e.CellStyle.ForeColor = Color.Gray
End If
Catch
End Try
End Sub
#End Region
#Region "Toolbar2 Kontaktpersonen"
'''
''' Personendetails anzeigen bzw. bearbeiten
'''
'''
'''
'''
Private Sub TS2BtnView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TS2BtnView.Click
Try
Dim f As New frmPerson(Me.C1Kontakte.Columns("Personnr").Value, Me.Vertragspartnerdata.iVertragspartnerNr.Value, Me.FormReadonly)
f.ShowDialog()
Me.Refresh_Personen()
Catch ex As Exception
End Try
End Sub
'''
''' Kopie eines Datensatzen erstellen
'''
'''
'''
'''
Private Sub TS2BtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TS2BtnCopy.Click
Try
Me.Vertragspartnerdata.Kontaktperson.Create_Copy(Me.C1Kontakte.Columns("Personnr").Value)
Me.Refresh_Personen()
Catch
End Try
End Sub
'''
''' Neuer Kontakt hinzufügen
'''
'''
'''
'''
Private Sub TS2BtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TS2BtnNew.Click
Dim f As New frmPerson(0, Me.Vertragspartnerdata.iVertragspartnerNr.Value, Me.FormReadonly, True)
f.ShowDialog()
Me.Refresh_Personen()
End Sub
'''
''' Kontakt löschen (inaktivieren)
'''
'''
'''
'''
Private Sub TS2BtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TS2BtnDelete.Click
If msg.Show_MessageYesNo(200) = MsgBoxResult.Yes Then
Me.Vertragspartnerdata.Kontaktperson.Delete_Kontakt(Me.C1Kontakte.Columns("Personnr").Value)
Me.Refresh_Personen()
End If
End Sub
#End Region
#End Region
Private Sub TStxtFilter_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TStxtFilter.KeyDown
If e.KeyCode = Keys.Enter Then
refresh_vertragspartnerliste()
End If
If Me.TreeVertragspartner.Nodes.Count = 1 Then
Me.TreeVertragspartner.SelectedNode = Me.TreeVertragspartner.Nodes(0)
End If
End Sub
Private Sub Refresh_Vertragspartnerliste()
Me.Vertragspartnerdata.Get_Vertragspartnerliste(Me.TStxtFilter.Text, Me.TreeVertragspartner)
If Me.vpnr = -1 Then
Me.TreeVertragspartner.SelectedNode = Me.TreeVertragspartner.Nodes(0)
Me.vpnr = Me.TreeVertragspartner.SelectedNode.Tag
Else
Me.TreeVertragspartner.SelectedNode = FindNode(Me.TreeVertragspartner.Nodes, Me.vpnr, "")
End If
End Sub
'''
''' Suchen eines Knoten Treeview
'''
''' Nodes des TreeView
''' Tag.Keyvalue
''' Node.Text als Suchbegriff
'''
'''
Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode
Dim tmpNode As TreeNode
For Each _child As TreeNode In _nodeCollection
If _child.Tag = SearchVal Then
Return _child
End If
Next
Return Nothing
End Function
Private Sub TSBtnFilterAufheben_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnFilterAufheben.Click
Me.TStxtFilter.Text = ""
Refresh_Vertragspartnerliste()
End Sub
Private Sub TreeVertragspartner_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeVertragspartner.AfterSelect
If Me.Check_Changes = False Then Exit Sub
Me.vpnr = Me.TreeVertragspartner.SelectedNode.Tag
Me.IsOnLoad = True
Me.Get_Data(Me.vpnr)
Me.IsOnLoad = False
End Sub
Private Sub TreeVertragspartner_BackColorChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeVertragspartner.BackColorChanged
End Sub
'''
''' Mousedown-Ereignis auf dem Tree
'''
'''
'''
'''
Private Sub TreeStruktur_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeVertragspartner.MouseDown
Try
Dim mouseEvents As MouseEventArgs
mouseEvents = e
selectPoint.Y = mouseEvents.Y
selectPoint.X = mouseEvents.X
Me.TreeVertragspartner.SelectedNode = Me.TreeVertragspartner.GetNodeAt(selectPoint)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Set_Titel()
Me.Text = "Vertragspartner - " + Me.txtName_Firma1.Text
End Sub
End Class