You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/20/20a54ea3820853e3c0fd045eb84...

881 lines
33 KiB

Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports C1.Win.C1TrueDBGrid
'''<summary>Vertragsaprtner</summary>
'''<seealso
'''cref="T:Vertragsverwaltung.TKB.VV.Utils.Tabellenspalte">TKB.VV.Utils.Tabellenspalte</seealso>
'''<seealso
'''cref="T:Vertragsverwaltung.TKB.VV.Utils.MySecurity">TKB.VV.Utils.MySecurity</seealso>
'''<seealso
'''cref="T:Vertragsverwaltung.TKB.VV.Utils.MyMessage">TKB.VV.Utils.MyMessage</seealso>
'''<seealso
'''cref="T:Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable">TKB.VV.Sysadmin.DomainTable</seealso>
'''<seealso
'''cref="T:Vertragsverwaltung.TKB.VV.SLA.clsServiceKatalogTree">TKB.VV.SLA.clsServiceKatalogTree</seealso>
'''<seealso cref="N:Vertragsverwaltung.TKB.VV.SLA">TKB.VV.SLA</seealso>
'''<seealso cref="N:Vertragsverwaltung.TKB.VV.Sysadmin">TKB.VV.Sysadmin</seealso>
'''<seealso cref="N:Vertragsverwaltung.TKB.VV.Utils">TKB.VV.Utils</seealso>
'''
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"
''' <summary>
''' Schliessen des Formulars
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Pr<50>fung, ob Daten<65>nderungen vorgenommen wurden.
''' </summary>
''' <remarks></remarks>
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"
''' <summary>
''' Allg Eventhandler f<>r Chanage-Ereignise festlegen
''' </summary>
''' <param name="Container"></param>
''' <remarks></remarks>
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
''' <summary>
''' Envent-Handler f<>r Change-Ereignisse
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
Me.FormDataChanged = True
End Sub
''' <summary>
''' 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
''' </summary>
''' <param name="BaseControl">Base-Contrlo (z.B. aktuelles Formular</param>
''' <param name="Key">Schl<68>ssel welcher gesucht werden soll</param>
''' <param name="L">Liste der gefundenen Objekte</param>
''' <returns>True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde.
''' </returns>
''' <remarks></remarks>
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"
''' <summary>
''' Constructor New
''' </summary>
''' <remarks></remarks>
Sub New()
MyBase.New()
Me.InitializeComponent()
Me.vpnr = -1
End Sub
''' <summary>
''' Formualr mit Vertragspartnernr und Anzeigestatus <20>ffnen
''' </summary>
''' <param name="vertragspartnernr">Nr des Vertragspartners</param>
''' <param name="Anzeige">True=Readonly, False=normal</param>
''' <remarks></remarks>
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
''' <summary>
''' destruction Dispose
''' </summary>
''' <remarks></remarks>
Overloads Sub dispose()
Vertragspartnerdata.dispose()
Kontaktperson.Dispose()
sec = Nothing
msg = Nothing
SpaltenTitel = Nothing
MyBase.Dispose()
End Sub
''' <summary>
''' Formular laden
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Anzeige des Suchformulars, wenn keine Vertragspartnernummer vorhanden ist
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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"
''' <summary>
''' Formular schliessen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
''' <summary>
''' Sicherungs-Button bet<65>tigt
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Datensatz kopieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Neuer Datensatz erstellen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Aktueller Datensatz inaktivieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Menu Beenden
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Me.TSBtnQuit_Click(sender, e)
End Sub
''' <summary>
''' Vertragspartner suchen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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"
''' <summary>
''' Vertragspartner laden
''' </summary>
''' <param name="Nr"></param>
''' <remarks></remarks>
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
''' <summary>
''' Vertragspartner sichern, sofern <20>nderungen vorgenommen wurden, anschliessend erneut laden
''' </summary>
''' <remarks></remarks>
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
''' <summary>
''' Personenliste aktualisieren
''' </summary>
''' <remarks></remarks>
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
''' <summary>
''' <20>nderungsvermerk sofern <20>nderungen vorgenommen wurden
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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"
''' <summary>
''' Laden der Securitylevel-Daten in die Combobox
''' </summary>
''' <remarks></remarks>
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
''' <summary>
''' Doubleclick in der Kontaktliste
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Mousedown Kontakte
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Enabling bzw. Disabling der Menu-Eintr<74>ge aufgrund der angezeigten Rows im Truedbgrind
''' </summary>
''' <param name="menu">Zu bearbeitendes Menu</param>
''' <param name="c1data">Betroffenes Grid</param>
''' <returns></returns>
''' <remarks>Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allf<6C>llig standardm<64>ssig aktivierte Menueintr<74>ge
''' aufgrund der Security-Einstellung wieder deaktiviert werden</remarks>
''' <summary>
''' Enabling bzw. Disabling der Menu-Eintr<74>ge aufgrund der angezeigten Rows im Truedbgrind
''' </summary>
''' <param name="menu">Zu bearbeitendes Menu</param>
''' <param name="c1data">Betroffenes Grid</param>
''' <returns></returns>
''' <remarks>Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allf<6C>llig standardm<64>ssig aktivierte Menueintr<74>ge
''' aufgrund der Security-Einstellung wieder deaktiviert werden</remarks>
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
''' <summary>
''' Buttons f<>r das Kontakt-Grid abh<62>ngig der angezeigten Datens<6E>tze enablen bzw. disablen
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
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
''' <summary>
''' KontextMenu anzeigen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Kontextmenu Kopieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Kontextmenu Neu
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Kontextmenu Delete
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Rowstyle von inaktiven Personen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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"
''' <summary>
''' Personendetails anzeigen bzw. bearbeiten
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Kopie eines Datensatzen erstellen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Neuer Kontakt hinzuf<75>gen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Kontakt l<>schen (inaktivieren)
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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
''' <summary>
''' Suchen eines Knoten Treeview
''' </summary>
''' <param name="_nodeCollection">Nodes des TreeView</param>
''' <param name="SearchVal">Tag.Keyvalue</param>
''' <param name="SearchString">Node.Text als Suchbegriff</param>
''' <returns></returns>
''' <remarks></remarks>
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
''' <summary>
''' Mousedown-Ereignis auf dem Tree
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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