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/66/66d7716ca6373bf48d863a6f471...

2086 lines
85 KiB

Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
''' <summary>
''' Vertragsübersicht: Beachten: TabControl wird von TKB.VV.Utils.clsMyTabControl
''' überschrieben
''' </summary>
''' <includesource>yes</includesource>
''' <seealso
''' cref="T:Vertragsverwaltung.TKB.VV.Vertrag.clsVertragsuebersicht_Strukturen"></seealso>
''' <seealso
''' cref="T:Vertragsverwaltung.TKB.VV.Vertrag.Treenode_Descriptor"></seealso>
''' <seealso
''' cref="T:Vertragsverwaltung.TKB.VV.Vertrag.clsVertragselement"></seealso>
''' <seealso cref="T:Vertragsverwaltung.TKB.VV.Utils.MyDocMgmt"></seealso>
''' <seealso cref="T:Vertragsverwaltung.TKB.VV.Utils.MySecurity"></seealso>
''' <seealso cref="T:Vertragsverwaltung.TKB.VV.Utils.MyMessage"></seealso>
''' <seealso cref="T:Vertragsverwaltung.TKB.VV.Utils.clsProfile"></seealso>
''' <seealso cref="T:Vertragsverwaltung.TKB.VV.Utils.Tabellenspalte"></seealso>
''' <seealso cref="T:Vertragsverwaltung.MyGenericEventHandler"></seealso>
Public Class frmVertragsuebersicht
#Region "Deklarationen"
''' <summary>
''' Klasse für die Bewirtschaftung der Tree-Strukturen
''' </summary>
''' <remarks></remarks>
Dim Strukturen As New TKB.VV.Vertrag.clsVertragsuebersicht_Strukturen
''' <summary>
''' Klasse für die Beschreibung der Tree-Tags
''' </summary>
''' <remarks></remarks>
Dim Tag_Descriptor As TKB.VV.Vertrag.Treenode_Descriptor
''' <summary>
''' Vertragselement
''' </summary>
''' <remarks></remarks>
Dim Vertragselement As TKB.VV.Vertrag.clsVertragselement
''' <summary>
''' Dokument-Management-Klasse
''' </summary>
''' <remarks></remarks>
Dim Docs As New TKB.VV.Utils.MyDocMgmt
Dim Services As New TKB.VV.Vertrag.clsVertragsleistung
''' <summary>
''' Security-Klasse
''' </summary>
''' <remarks></remarks>
Dim sec As New TKB.VV.Utils.MySecurity
''' <summary>
''' Message-Klasse
''' </summary>
''' <remarks></remarks>
Dim msg As New TKB.VV.Utils.MyMessage
Dim Profil As New TKB.VV.Utils.clsProfile
Dim FormReadonly As Boolean = False
Dim FormDataChanged As Boolean = False
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
Friend selectPoint As New System.Drawing.Point()
Dim c1data As New DataTable
Dim Save_LizenzTabPage As TabPage
Dim PartnerToSelect As Integer = 0
Dim IsOnLoad As Boolean = False
Dim PartnerNode As TreeNode
Dim inExport As Boolean = False
Dim multiline As New TabControlMultiLine
Dim filtercollection As New Collection
''' <summary>
''' Generic Event-Handler
''' </summary>
''' <remarks></remarks>
Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder
#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>
''' 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
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
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
End Sub
''' <summary>
''' Menu Beenden
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub BeendenToolStipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStipMenuItem.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.C1Dokumente.DataSource = Nothing
If Me.rbSortVertragspartner.Checked = True Then
Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, Me.TStxtSuche.Text)
Else
Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 1, Me.TStxtSuche.Text)
End If
Try
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
Me.TreeStruktur_Click(sender, e)
If Me.TreeStruktur.GetNodeCount(False) = 1 Then
Try
Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value)
Catch ex As Exception
End Try
End If
Catch ex As Exception
End Try
End Sub
Private Sub TSBtnSucheInhalt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSucheInhalt.Click
Me.C1Dokumente.DataSource = Nothing
If Me.rbSortVertragspartner.Checked = True Then
Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 2, Me.TStxtSucheInhalt.Text)
Else
Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 2, Me.TStxtSucheInhalt.Text)
End If
Try
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
Me.TreeStruktur_Click(sender, e)
If Me.TreeStruktur.GetNodeCount(False) = 1 Then
Try
Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value)
Catch ex As Exception
End Try
End If
Catch ex As Exception
End Try
End Sub
'Try
' Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
' Me.TreeStruktur_Click(sender, e)
'Catch ex As Exception
' If F.DialogResult = Windows.Forms.DialogResult.OK Then
' Me.C1Vertragselemente.DataSource = Nothing
' If Me.rbSortVertragspartner.Checked = True Then
' If F.txtVertragspartner.Text <> "" Then
' Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, F.txtVertragspartner.Text)
' Else
' Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 2, F.txtVertragselement.Text)
' End If
' End If
' If Me.rbSortVertragstyp.Checked = True Then
' If F.txtVertragspartner.Text <> "" Then
' Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 1, F.txtVertragspartner.Text)
' Else
' Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 1, F.txtVertragselement.Text)
' End If
' End If
' Try
' Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
' Me.TreeStruktur_Click(sender, e)
' Catch ex As Exception
' End Try
' End If
#End Region
#Region "Formular"
Sub New()
Me.IsOnLoad = True
InitializeComponent()
End Sub
Sub New(ByVal Partnernr As Integer)
Me.IsOnLoad = True
InitializeComponent()
Me.PartnerToSelect = Partnernr
End Sub
''' <summary>
''' Formular-Load
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>Wurde das Form mit einer Partnernr initialisiert, wird die Partnerstruktur geöffnet</remarks>
Private Sub frmVertragsuebersicht_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Try
' multiline.Set_Multiline(Me.TabControlDiverse)
'Catch
'End Try
Me.Cursor = Cursors.WaitCursor
Me.Save_LizenzTabPage = Me.TabControlDiverse.TabPages("TabLizenz")
If Me.TSBtnSave.Enabled = False Then
Me.FormReadonly = True
Me.TSBtnCopy.Enabled = False
Me.TSBtnNew.Enabled = False
Me.TSBtnDelete.Enabled = False
Else
Me.FormReadonly = False
End If
Profile_Aktualisieren()
Try
Me.TSComboboxProfil.SelectedIndex = 0
Select Case Me.cbaktiveVertraege.CheckState
Case CheckState.Checked
Me.cbaktiveVertraege.Text = "aktive Verträge"
Me.TSDropDwonVertraege.Text = "aktive Verträge"
'C1Vertragselemente.Columns("aktiv").FilterText = True
Case CheckState.Unchecked
Me.cbaktiveVertraege.Text = "inaktive Verträge"
Me.TSDropDwonVertraege.Text = "inaktive Verträge"
'C1Vertragselemente.Columns("aktiv").FilterText = False
Case CheckState.Indeterminate
Me.cbaktiveVertraege.Text = "alle Verträge"
Me.TSDropDwonVertraege.Text = "alle Verträge"
'C1Vertragselemente.Columns("aktiv").FilterText = ""
End Select
Select Case Me.cbInaktiv.CheckState
Case CheckState.Checked
Me.cbInaktiv.Text = "aktive Partner"
Me.TSDropDownPartner.Text = "aktive Partner"
Case CheckState.Unchecked
Me.cbInaktiv.Text = "alle Partner"
Me.TSDropDownPartner.Text = "alle Partner"
End Select
Catch
End Try
If PartnerToSelect <> 0 Then
Load_Struktur(PartnerToSelect)
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
Me.PartnerNode = Me.TreeStruktur.SelectedNode
Me.TreeStruktur_Click(sender, e)
If Me.TreeStruktur.GetNodeCount(False) = 1 Then
Me.TreeStruktur.ExpandAll()
Try
Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value)
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
Catch ex As Exception
End Try
End If
Else
Load_Struktur()
End If
Me.Order_Tabcontrol()
PartnerToSelect = 0
Me.IsOnLoad = False
Load_Securitylevel()
sec.Set_Form_Security(Me)
Me.Cursor = Cursors.Default
End Sub
''' <summary>
''' Laden der Treestruktur
''' </summary>
''' <remarks></remarks>
Private Sub Load_Struktur(Optional ByVal Partnernr As Integer = 0)
Me.Cursor = Cursors.WaitCursor
If Me.rbSortVertragspartner.Checked = True Then
If Me.TStxtSuche.Text <> "" Then
Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, Me.TStxtSuche.Text, Partnernr)
Else
If Me.TStxtSucheInhalt.Text <> "" Then
Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 2, Me.TStxtSucheInhalt.Text, Partnernr)
Else
Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, , , Partnernr)
End If
End If
End If
If Me.rbSortVertragstyp.Checked = True Then
Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, , , Partnernr)
End If
Try
'20110828 - Update supergrid
If Me.C1Vertragselemente.DataView <> C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
End If
Catch
End Try
Me.Cursor = Cursors.Default
'Me.Refresh_Details()
End Sub
''' <summary>
''' Bei Änderung der Inaktiv-Checkbox werden die Hauptstrukturen neu geladen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub cbocInaktiv_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbInaktiv.CheckedChanged
Try
Me.Load_Struktur()
Select Case Me.cbInaktiv.CheckState
Case CheckState.Checked
Me.cbInaktiv.Text = "aktive Partner"
Case CheckState.Unchecked
Me.cbInaktiv.Text = "alle Partner"
End Select
Catch ex As Exception
End Try
End Sub
#End Region
#Region "Tree"
''' <summary>
''' Aktueller Tag des gewählten Nodes auslesen und Aktualisierung aufrufen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>Me.Profil.bV_Struktur_Details.Value
Private Sub treeStruktur_BeforeExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeStruktur.BeforeExpand
If Me.inExport = True Then
e.Cancel = True
Exit Sub
End If
If Me.TreeStruktur.SelectedNode.GetNodeCount(True) = 1 And Me.TreeStruktur.SelectedNode.Level = 0 Then
Dim xx As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Nodes(0).Tag
'Dim xx As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag
If xx.Keyvalue = -99 Then
Try
Me.PartnerNode = Me.TreeStruktur.SelectedNode
Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value)
Catch ex As Exception
End Try
End If
End If
End Sub
Private Sub Update_Node(ByRef tn As TreeNode, ByVal Details As Integer)
Dim x As TKB.VV.Vertrag.Treenode_Descriptor = tn.Tag
Select Case x.Type
Case "Vertragspartner"
tn.Nodes.Clear()
Me.Strukturen.Load_SubStruktur(tn, Details, Me.TStxtSucheInhalt.Text, Me.cbaktiveVertraege.CheckState)
If Not inExport Then tn.ExpandAll()
Case "Vertragstyp"
tn.Nodes.Clear()
If Me.TStxtSuche.Text <> "" Then
Me.Strukturen.Load_SubStruktur(tn, Details, "V:" + Me.TStxtSuche.Text, Me.cbaktiveVertraege.CheckState)
Else
If Me.TStxtSucheInhalt.Text <> "" Then
Me.Strukturen.Load_SubStruktur(tn, Details, "I:" + Me.TStxtSucheInhalt.Text, Me.cbaktiveVertraege.CheckState)
Else
Me.Strukturen.Load_SubStruktur(tn, Details, "", Me.cbaktiveVertraege.CheckState)
End If
End If
tn.ExpandAll()
End Select
End Sub
''' <summary>
''' Treeview-Click
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>Ist die Sortierung nach Vertragstyp und der Click auf dem Root-Entry, wird das Datenauslesen speziell behandelt, sodass sämtliche Vertragspartner berücksichtigt werden</remarks>
Private Sub TreeStruktur_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeStruktur.Click
Refresh_Details()
End Sub
''' <summary>
''' Toplevel-Treenode suchen
''' </summary>
''' <param name="tn"></param>
''' <returns></returns>
''' <remarks></remarks>
Private Function RootTreeNode(ByVal tn As TreeNode) As TreeNode
While Not tn.Parent Is Nothing
tn = tn.Parent
RootTreeNode(tn)
End While
Return tn
End Function
''' <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 TreeStruktur.MouseDown
Try
Dim mouseEvents As MouseEventArgs
mouseEvents = e
selectPoint.Y = mouseEvents.Y
selectPoint.X = mouseEvents.X
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.GetNodeAt(selectPoint)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
''' <summary>
''' Handling RB_Changed für den Aufbau der Struktur
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub RB_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbSortVertragspartner.CheckedChanged, rbSortVertragstyp.CheckedChanged
If Me.IsOnLoad Then Exit Sub
If Me.rbSortVertragspartner.Checked = False And Me.rbSortVertragstyp.Checked = False Then Exit Sub
Me.Load_Struktur()
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
Dim xtag As TKB.VV.Vertrag.Treenode_Descriptor = _child.Tag
If xtag.Keyvalue = SearchVal And SearchString = _child.Text Then
Return _child
End If
tmpNode = FindNode(_child.Nodes, SearchVal, SearchString)
If Not tmpNode Is Nothing Then
Return tmpNode
End If
Next
Return Nothing
End Function
#End Region
#Region "TreeStruktur-Menu"
''' <summary>
''' Aktualisierung des aktuellen Knotens
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TreeStrukturAktualisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturAktualisierenToolStripMenuItem.Click
Cursor = Cursors.WaitCursor
Dim SaveTn As TreeNode = Me.TreeStruktur.SelectedNode
Me.TreeStruktur.Enabled = False
Me.TreeStruktur.BeginUpdate()
Dim tmptn As TreeNode = Me.RootTreeNode(Me.TreeStruktur.SelectedNode)
tmptn.Nodes.Clear()
tmptn.Nodes.Add("")
Me.Update_Node(tmptn, Me.Profil.bV_Struktur_Details.Value)
tmptn.ExpandAll()
Dim kvalue As TKB.VV.Vertrag.Treenode_Descriptor = SaveTn.Tag
Me.TreeStruktur.Enabled = True
Me.TreeStruktur.EndUpdate()
Me.TreeStruktur.SelectedNode = FindNode(Me.TreeStruktur.Nodes, kvalue.Keyvalue, SaveTn.Text)
TreeStruktur_Click(sender, e)
Cursor = Cursors.Default
End Sub
''' <summary>
''' Vollständiger Treeview aktualisieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TreeStrukturTreeAktualisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturTreeAktualisierenToolStripMenuItem.Click
Refresh_All()
End Sub
''' <summary>
''' Treeview Struktur aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_All()
Cursor = Cursors.WaitCursor
Me.TreeStruktur.Enabled = False
Me.TreeStruktur.BeginUpdate()
Dim SaveTn As TreeNode = Me.TreeStruktur.SelectedNode
Dim tmptn As TreeNode = Me.RootTreeNode(Me.TreeStruktur.SelectedNode)
Me.TreeStruktur.Nodes.Clear()
Me.Load_Struktur()
Dim keyvalue As TKB.VV.Vertrag.Treenode_Descriptor = tmptn.Tag
Me.TreeStruktur.Enabled = True
Me.TreeStruktur.EndUpdate()
Me.TreeStruktur.SelectedNode = FindNode(Me.TreeStruktur.Nodes, keyvalue.Keyvalue, tmptn.Text)
Me.TreeStruktur.Enabled = False
Me.TreeStruktur.BeginUpdate()
Me.Update_Node(tmptn, Me.Profil.bV_Struktur_Details.Value)
Me.TreeStruktur.SelectedNode.ExpandAll()
Me.TreeStruktur.Enabled = True
Me.TreeStruktur.EndUpdate()
keyvalue = SaveTn.Tag
Me.TreeStruktur.SelectedNode = FindNode(Me.TreeStruktur.Nodes, keyvalue.Keyvalue, SaveTn.Text)
Refresh_Details()
Cursor = Cursors.Default
End Sub
''' <summary>
'''Details aktualisieren
''' </summary>
''' <remarks></remarks>
Dim xxx() As String
Private Sub Refresh_Details()
Try
Dim bm As Integer = 0
bm = Me.C1Vertragselemente.Bookmark
Cursor = Cursors.WaitCursor
If Me.rbSortVertragstyp.Checked And Me.TreeStruktur.SelectedNode.Level = 0 Then
c1data = Me.Strukturen.Update_Vertragsuebersicht(Me.TreeStruktur.SelectedNode.Tag, True, Me.TStxtSucheInhalt.Text)
Else
c1data = Me.Strukturen.Update_Vertragsuebersicht(Me.TreeStruktur.SelectedNode.Tag, , Me.TStxtSucheInhalt.Text)
End If
If Me.Profil.sV_Sort.ToString <> "" Then
c1data.DefaultView.Sort = Me.Profil.sV_Sort.ToString
End If
Dim gv As C1.Win.C1TrueDBGrid.DataViewEnum
Dim s As New Collection
Dim i As Integer = -1
For Each g As C1.Win.C1TrueDBGrid.C1DataColumn In Me.C1Vertragselemente.GroupedColumns
s.Add(g.Caption)
i = i + 1
' xxx(i) = g.Caption
Next
i = Me.C1Vertragselemente.DataView
Me.C1Vertragselemente.Enabled = False
Me.C1Vertragselemente.DataSource = c1data
Me.C1Vertragselemente.DataMember = c1data.TableName
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Vertragselemente, "Vertragsuebersicht", Me.c1data, Me.Profil.sV_Aktiv_Vertragselemente.Value)
Update_Details()
Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
Me.C1Vertragselemente.FetchRowStyles = True
If i <> 0 Then
Try
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal
Me.C1Vertragselemente.DataView = i
For Each ss As String In s
Me.C1Vertragselemente.GroupedColumns.Add(Me.C1Vertragselemente.Columns(ss))
Next
Catch ex As Exception
End Try
End If
s = Nothing
Try
Select Case Me.cbaktiveVertraege.CheckState
Case CheckState.Checked
C1Vertragselemente.Columns("aktiv").FilterText = True
Case CheckState.Unchecked
C1Vertragselemente.Columns("aktiv").FilterText = False
Case CheckState.Indeterminate
C1Vertragselemente.Columns("aktiv").FilterText = ""
End Select
Catch ex As Exception
End Try
Try
Me.C1Vertragselemente.Bookmark = bm
Catch ex As Exception
End Try
Me.C1Vertragselemente.Enabled = True
Catch ex As Exception
Finally
Cursor = Cursors.Default
Me.C1Vertragselemente.Focus()
End Try
End Sub
Private Sub Refresh_Vertragselemente()
Get_Filter()
c1data = Me.Strukturen.Get_Alle_Vertragselemente()
Me.C1Vertragselemente.DataSource = c1data
Me.C1Vertragselemente.DataMember = c1data.TableName
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Vertragselemente, "Vertragselemente_vollstaendig", Me.c1data)
Set_Layout_Filter()
End Sub
''' <summary>
''' Vertragspartner anzeigen / bearbeiten
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TreeStrukturVertragspartnerAnzeigenToolStipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturVertragspartnerAnzeigenToolStipMenuItem.Click
Dim tmptag As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag
If tmptag.Type = "Vertragspartner" Then
Dim f As New frmVertragspartner(tmptag.Vertragspartnernr, Me.FormReadonly)
f.MdiParent = Me.MdiParent
f.Show()
End If
End Sub
''' <summary>
''' TreeStrukturContetmenu anzeigen und allfällige MenuItems disablen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TreeStrukturContextMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TreeStrukturContextMenuStrip.Opening
Try
Me.TreeStrukturVertragspartnerAnzeigenToolStipMenuItem.Enabled = False
Tag_Descriptor = Me.TreeStruktur.SelectedNode.Tag
Select Case Tag_Descriptor.Type
Case "Vertragspartner"
Me.TreeStrukturVertragspartnerAnzeigenToolStipMenuItem.Enabled = True
End Select
Catch ex As Exception
End Try
End Sub
#End Region
#Region "VertragselementMenu"
''' <summary>
''' Neuer Vertragspartner eröffnen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub NeuerVertragspartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuerVertragspartnerToolStripMenuItem.Click
Dim f As New frmVertragspartner(0, Me.FormReadonly, True)
f.ShowDialog()
End Sub
''' <summary>
''' Spaltenlayout C1Vertragselemente speichern
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub SpaltendarstellungSichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabellendarstellungSichernToolStripMenuItem.Click
Docs.Save_LayoutFile(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
End Sub
''' <summary>
''' Vertragselement anzeigen / bearbeiten
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub VertragselementAnzeigenBearbeitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VertragselementAnzeigenBearbeitenToolStripMenuItem.Click
Me.C1Vertragselemente_DoubleClick(sender, e)
End Sub
''' <summary>
''' Neues Vertragselement laden
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>Sind keine Elemente in der Vertragselement-Liste, Vertragspartner über Struktureintrag auslesen.
''' Geht dies aufgrund der Datenkonstellation nicht, Vertragspartner 0 übergaben, damit ein Partner ausgesucht werden muss</remarks>
Private Sub NeuesVertragselementErstellenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuesVertragselementErstellenToolStripMenuItem.Click
Try
If Me.C1Vertragselemente.Splits(0).Rows.Count = 0 Then
Dim x As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag
Dim f As New frmVertragselement(-1, False, True, x.Vertragspartnernr)
f.MdiParent = Me.MdiParent
f.Show()
Else
Dim f As New frmVertragselement(-1, False, True, Me.C1Vertragselemente.Columns("Vertragspartnernr").Value)
f.MdiParent = Me.MdiParent
f.Show()
End If
Catch ex As Exception
Dim f As New frmVertragselement(-1, False, True, 0)
f.MdiParent = Me.MdiParent
f.Show()
End Try
End Sub
#End Region
#Region "C1Vertragselemente"
''' <summary>
''' Doubleklick auf C1Vertragselemente
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>Steht der MenuEintrag VertragselementAnzeigenBearbeitenToolStripMenuItem nicht
''' zur Verfügung, muss der Doppelclick ignoriert werden</remarks>
Private Sub C1Vertragselemente_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Vertragselemente.DoubleClick
If VertragselementAnzeigenBearbeitenToolStripMenuItem.Enabled = False Then
Exit Sub
End If
Try
Dim f As New frmVertragselement(Me.C1Vertragselemente.Columns("Vertragselementnr").Value, Me.FormReadonly, False)
f.MdiParent = Me.MdiParent
f.Show()
Catch ex As Exception
End Try
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
'''
Private Sub C1TrueDBGrid1_FetchGroupCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1Vertragselemente.FetchGroupCellStyle
If Me.C1Vertragselemente.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
End Sub
Private Sub C1Vertragselemente_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Vertragselemente.FetchRowStyle
Try
' Dim fntdefault As Font = e.CellStyle.Font
' e.CellStyle.Font = New Font(fntdefault, FontStyle.Regular)
' e.CellStyle.ForeColor = Color.Black
If Me.C1Vertragselemente.Splits(0).Rows(e.Row).RowType = C1.Win.C1TrueDBGrid.RowTypeEnum.DataRow Then
Dim row As Integer = Me.C1Vertragselemente.RowBookmark(e.Row)
If Me.C1Vertragselemente.Columns("aktiv").CellValue(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
End If
Catch
Finally
Me.C1Vertragselemente.Enabled = True
If Me.C1Vertragselemente.Splits(0).Rows.Count > 0 And Me.TabControlDiverse.Enabled = False Then
Me.TabControlDiverse.Enabled = False
Update_Details()
Me.TabControlDiverse.Enabled = True
End If
End Try
End Sub
''' <summary>
''' Datum Formatieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Vertragselemente_FormatText(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FormatTextEventArgs) Handles C1Vertragselemente.FormatText
If e.Column.DataType.Name = "DateTime" And e.Value = "01.01.1900 00:00:00" Then e.Value = ""
End Sub
Private Sub C1Vertragselemente_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Vertragselemente.MouseClick
If Me.TSBtnAlleElemente.CheckState = CheckState.Checked Then
Try
Update_Details()
Catch ex As Exception
End Try
End If
End Sub
''' <summary>
''' Mousedown-Ereignis auf C1Certragselemente, damit die Details aktualisiert werden können
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Vertragselemente_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Vertragselemente.MouseDown
If Me.TSBtnAlleElemente.CheckState = CheckState.Checked Then
Update_Details()
Exit Sub
End If
Me.C1Vertragselemente.Bookmark = Me.C1Vertragselemente.RowContaining(e.Y)
Me.C1Vertragselemente.Bookmark = Me.C1Vertragselemente.RowBookmark(Me.C1Vertragselemente.RowContaining(e.Y))
Update_Details()
End Sub
#End Region
#Region "Detailinformationen"
''' <summary>
''' Detailelemente und die allfällig ausgewählte TabPage aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Update_Details()
If Me.C1Vertragselemente.Splits(0).Rows.Count < 1 Then
Me.TabControlDiverse.Enabled = False
Exit Sub
End If
Me.TabControlDiverse.Enabled = True
Update_DetailInformationen()
Select Case Me.TabControlDiverse.SelectedTab.Text
Case "Vertragsinhalt", "Suchbegriffe"
Case "Kündigungsfristen"
Refresh_Kuendigungsfrist()
Case "Kontakte"
Refresh_Kontakte()
Case "Dokumente"
Refresh_Dokumente()
Case "Services"
Refresh_services()
Case "Ereignisse"
Refresh_Ereignisse()
Case "Aktivitäten"
Refresh_Aktivitaeten()
Case "Pendenzen"
Refresh_Pendenzen()
Case "Referenzverträge"
Refresh_Referenzvertraege()
Case "History"
Refresh_History()
Case "Applikationen"
Refresh_Applikationen()
Me.Lizenzkauf_Aktualisieren()
End Select
End Sub
#End Region
#Region "TabControl"
''' <summary>
''' Index-Wechsel auf TabControlDiverse. Abhängig der gewählten Registerlasche, werden deren Daten aktualisiert.
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TabControlDiverse_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControlDiverse.SelectedIndexChanged
Update_Details()
End Sub
''' <summary>
''' Detail-Informationen der ersten 2 TabPages aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Update_DetailInformationen()
Try
Me.txtParentelement.Text = Me.C1Vertragselemente.Columns("Parent").Value.ToString
Me.txtBeschreibung.Text = Me.C1Vertragselemente.Columns("Beschreibung").Value.ToString
Me.txtVertragstyp.Text = Me.C1Vertragselemente.Columns("Vertragstyp").Value.ToString
Me.txtBezeichnung.Text = Me.C1Vertragselemente.Columns("Bezeichnung").Value.ToString
Me.txtSuchbegriffe.Text = Me.C1Vertragselemente.Columns("Suchbegriffe").Value.ToString
Me.txtVersion.Text = Me.C1Vertragselemente.Columns("Version").Value.ToString
Me.txtVertragsnummer.Text = Me.C1Vertragselemente.Columns("Nummer").Value
If Not Me.C1Vertragselemente.Columns("Versionsdatum").Value Is System.DBNull.Value Then
Me.txtVersionsdatum.Text = Me.C1Vertragselemente.Columns("Versionsdatum").Value
Else
Me.txtVersionsdatum.Text = ""
End If
If Not Me.C1Vertragselemente.Columns("Vertragsbeginn").Value Is System.DBNull.Value Then
Me.txtVertragsbegin.Text = Me.C1Vertragselemente.Columns("Vertragsbeginn").Value
Else
Me.txtVertragsbegin.Text = ""
End If
If Not Me.C1Vertragselemente.Columns("Vertragsablauf").Value Is System.DBNull.Value Then
Me.txtVertragsende.Text = Me.C1Vertragselemente.Columns("Vertragsablauf").Value
Else
Me.txtVertragsende.Text = ""
End If
If Not Me.C1Vertragselemente.Columns("Mindestvertragsdauer_bis").Value Is System.DBNull.Value Then
Me.txtMindestvertragsdauerbis.Text = Me.C1Vertragselemente.Columns("Mindestvertragsdauer_bis").Value
Else
Me.txtMindestvertragsdauerbis.Text = ""
End If
If Not Me.C1Vertragselemente.Columns("Unterzeichnet_am").Value Is System.DBNull.Value Then
Me.txtUnterzeichnetam.Text = Me.C1Vertragselemente.Columns("Unterzeichnet_am").Value
Else
Me.txtUnterzeichnetam.Text = ""
End If
If Not Me.C1Vertragselemente.Columns("Gekuendigt_am").Value Is System.DBNull.Value Then
Me.txtGekuendigtam.Text = Me.C1Vertragselemente.Columns("Gekuendigt_am").Value
Else
Me.txtGekuendigtam.Text = ""
End If
If Not Me.C1Vertragselemente.Columns("Gekuendigt_per").Value Is System.DBNull.Value Then
Me.txtGekuendigtper.Text = Me.C1Vertragselemente.Columns("Gekuendigt_per").Value
Else
Me.txtGekuendigtper.Text = ""
End If
Me.cboxSecurityLevel.SelectedValue = Me.C1Vertragselemente.Columns("SecurityLevelNr").Value
Try
Me.rbbefristet.Checked = Me.C1Vertragselemente.Columns("befristet_unbefristet").Value
If Me.rbbefristet.Checked = False Then Me.rbUnbefristet.Checked = True
Catch
Me.rbbefristet.Checked = False
Me.rbUnbefristet.Checked = True
End Try
Me.txtErstelltam.Text = Me.C1Vertragselemente.Columns("Erstellt_am").Value.ToString
Me.txtMutiertam.Text = Me.C1Vertragselemente.Columns("Mutiert_am").Value.ToString
Me.txtMutierer.Text = Me.C1Vertragselemente.Columns("Mutierername").Value.ToString
Try
Me.cbaktiv.Checked = Me.C1Vertragselemente.Columns("aktiv").Value = True
Catch ex As Exception
Me.cbaktiv.Checked = True
End Try
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Function update_details(ByRef s As String, ByVal c1element As String)
Try
If Not Me.C1Vertragselemente.Columns(c1element).Value Is System.DBNull.Value Then
s = Me.C1Vertragselemente.Columns(c1element).Value
Else
s = ""
End If
Catch ex As Exception
s = ""
End Try
End Function
''' <summary>
''' Reihenfolge der Register im Tabcontrol anpassen
''' </summary>
''' <remarks></remarks>
Private Sub Order_Tabcontrol()
Try
If Me.Profil.sV_Register.Value = "" Then Exit Sub
Dim tabs() As String
Dim i As Integer = 0
tabs = Me.Profil.sV_Register.Value.Split(";")
For Each tb As String In tabs
If tb = "" Then Exit For
For Each tbp As TabPage In Me.TabControlDiverse.TabPages
If tbp.Text = tb Then
Try
Me.TabControlDiverse.TabPages.Remove(tbp)
Catch
End Try
Try
Me.TabControlDiverse.TabPages.Insert(i, tbp)
Catch
End Try
i = i + 1
End If
Next
Next
Catch
End Try
End Sub
''' <summary>
''' Kündigungsfristen aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Kuendigungsfrist()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Kuendigungsfristen.Enabled = False
Me.Vertragselement.Get_Kuendigungsfristen(Me.C1Kuendigungsfristen, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
' Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kuendigungsfristen, "Kuendigungsfrist", Me.Vertragselement.Kuendigungsfristen.Tabledata)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Kuendigungsfristen, "Kuendigungsfrist", Me.Vertragselement.Kuendigungsfristen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
Me.C1Kuendigungsfristen.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </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 C1Kuendigungsfristen.FetchRowStyle
Try
If Me.C1Kuendigungsfristen.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
''' <summary>
''' Kontakte aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Kontakte()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Kontakte.Enabled = False
Me.Vertragselement.Get_Vertragskontakte(Me.C1Kontakte, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
' Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kontakte, "Vertragskontakt", Me.Vertragselement.Vertragskontakte.Tabledata)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Kontakte, "Vertragskontakt", Me.Vertragselement.Vertragskontakte.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1Kontakte.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Kontakte_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
''' <summary>
''' Dokumente aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Dokumente()
Try
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Dokumente.Enabled = False
Me.Vertragselement.Get_Dokumente(Me.C1Dokumente, Me.C1Vertragselemente.Columns("Vertragselementnr").Value, Me.ImageListeDocIcon)
' Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Dokumente, "Dokument", Me.Vertragselement.dokumente.Tabledata.Tables(0), False)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Dokumente, "dokument", Me.Vertragselement.dokumente, Me.Profil.sV_Aktiv_Vertragselemente.Value)
Me.C1Dokumente.Enabled = True
Me.Vertragselement.dispose()
Catch ex As Exception
End Try
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Dokumente_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Dokumente.FetchRowStyle
Try
If Me.C1Dokumente.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
''' <summary>
''' Ereignisse aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Ereignisse()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Ereignisse.Enabled = False
Me.Vertragselement.Get_Vertragsereignisse(Me.C1Ereignisse, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Ereignisse, "Vertragsereignis", Me.Vertragselement.Vertragsereignisse.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1Ereignisse.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Ereignisse_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Ereignisse.FetchRowStyle
Try
If Me.C1Ereignisse.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
''' <summary>
''' Pendenzen aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Pendenzen()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Ereignisse.Enabled = False
Me.Vertragselement.Get_Pendenzen(Me.C1Pendenzen, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Pendenzen, "Pendenz", Me.Vertragselement.Pendenzen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1Pendenzen.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Pendenzen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Pendenzen.FetchRowStyle
Try
If Me.C1Pendenzen.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
If Me.C1Pendenzen.Columns("PendenzStatusNr").CellValue(e.Row) < 3 Then
If Me.C1Pendenzen.Columns("Termin").Value < Now Then
Dim fnt As Font = e.CellStyle.Font
e.CellStyle.ForeColor = Color.Red
End If
End If
Catch
End Try
End Sub
''' <summary>
''' Referenzverträge aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Referenzvertraege()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1ReferenzVertraege.Enabled = False
Me.Vertragselement.Get_Vertragselement_Referenzen(Me.C1ReferenzVertraege, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1ReferenzVertraege, "Vertragselement_Referenz", Me.Vertragselement.Vertragselement_Referenzen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Dim bmp0 As New Bitmap(Me.ImageListeReferenzVertrasege.Images(1))
Dim bmp1 As New Bitmap(Me.ImageListeReferenzVertrasege.Images(0))
Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem()
v0.DisplayValue = bmp0
v0.Value = 0
v1.DisplayValue = bmp1
v1.Value = 1
Me.C1ReferenzVertraege.Columns("Owner").ValueItems.Values.Add(v0)
Me.C1ReferenzVertraege.Columns("Owner").ValueItems.Values.Add(v1)
Me.C1ReferenzVertraege.Columns("Owner").ValueItems.Translate = True
Me.C1ReferenzVertraege.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1ReferenzVertraege_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1ReferenzVertraege.FetchRowStyle
Try
If Me.C1ReferenzVertraege.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
'Try
' If Me.C1ReferenzVertraege.Columns("Owner").CellValue(e.Row) = 0 Then
' e.CellStyle.BackColor = Color.CadetBlue
' End If
'Catch ex As Exception
'End Try
End Sub
''' <summary>
''' Services aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_services()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Services.Enabled = False
Me.Vertragselement.Get_Services(Me.C1Services, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Services, "Vertragsleistung", Me.Vertragselement.Services.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1Services.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Services_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Services.FetchRowStyle
Try
If Me.C1Services.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
''' <summary>
''' History aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_History()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1History.Enabled = False
Me.Vertragselement.Get_History(Me.C1History, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1History, "History", Me.Vertragselement.History.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1History.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Applikationen aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Applikationen()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Applikationen.Enabled = False
Me.Vertragselement.Get_Applikationen(Me.C1Applikationen, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Applikationen, "Vertragselementapplikation", Me.Vertragselement.VertragselementApplikationen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1Applikationen.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Applikationen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Applikationen.FetchRowStyle
Try
If Me.C1Applikationen.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
''' <summary>
''' Aktivitäten aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Aktivitaeten()
Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement
Me.C1Aktivitaeten.Enabled = False
Me.Vertragselement.Get_Aktivitaeten(Me.C1Aktivitaeten, Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Aktivitaeten, "Aktivitaet", Me.Vertragselement.Aktivitaeten.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value)
sec.Set_Form_Security(Me)
Me.C1Aktivitaeten.Enabled = True
Me.Vertragselement.dispose()
End Sub
''' <summary>
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Aktivitaeten_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Aktivitaeten.FetchRowStyle
Try
If Me.C1Aktivitaeten.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 "Generic Event-Handler-Ereignisse"
Private Sub evh_FormularVertragelement_Closed(ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer) Handles evh.FormularVertragelement_Closed
Try
If Globals.clsapplication.bVertragsuebersicht_aktualisieren.Value = True Then Refresh_All()
Catch ex As Exception
End Try
End Sub
Private Sub evh_FormularVertragspartner_Closed(ByVal Vertragspartnernr As Integer) Handles evh.FormularVertragspartner_Closed
Try
If Globals.clsapplication.bVertragsuebersicht_aktualisieren.Value = True Then Refresh_All()
Catch ex As Exception
End Try
End Sub
Private Sub Refresh_Register() Handles evh.Update_Uebersicht
If Globals.clsapplication.bVertragsuebersicht_aktualisieren.Value = True Then Refresh_All()
End Sub
#End Region
#Region "Dokumente"
''' <summary>
''' Dokument ab Datenbank anzeigen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub DokumentAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DokumentAnzeigenToolStripMenuItem.Click
Try
Dim tmpdok As New TKB.VV.DMS.clsDok
tmpdok.Show_Doc(Me.C1Dokumente.Columns("Dokumentnr").Value)
tmpdok.Dispose()
Catch ex As Exception
End Try
End Sub
''' <summary>
''' Dokument ab Datenbank anzeigen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>Steht der MenuEintrag DokumentAnzeigenToolStripMenuIte nicht
''' zur Verfügung, muss der Doppelclick ignoriert werden</remarks>
Private Sub C1Dokumente_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Dokumente.DoubleClick
If Me.DokumentAnzeigenToolStripMenuItem.Enabled = False Then
Exit Sub
End If
Try
Me.DokumentAnzeigenToolStripMenuItem_Click(sender, e)
Catch
End Try
End Sub
#End Region
#Region "Profile"
''' <summary>
''' Profilliste des Mitarbeiters aktualisieren
''' </summary>
''' <remarks></remarks>
Private Sub Profile_Aktualisieren(Optional ByVal Aktuelles_Profil As String = "")
Me.Profil.Get_Profil_By_Mitarbeiter()
Me.TSComboboxProfil.Items.Clear()
Dim i As Integer = 0
Dim SelIndex As Integer = -1
For Each dr As DataRow In Me.Profil.Profildata.Rows
Me.TSComboboxProfil.Items.Add(dr.Item("Bezeichnung"))
If Aktuelles_Profil = dr.Item("Bezeichnung") Then SelIndex = i
i = i + 1
Next
If SelIndex > -1 Then Me.TSComboboxProfil.SelectedIndex = SelIndex
End Sub
''' <summary>
''' Bestehendes Profl auswählen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSComboboxProfil_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TSComboboxProfil.SelectedIndexChanged
Me.SuspendLayout()
Me.TreeStruktur.BeginUpdate()
Me.C1Vertragselemente.DataSource = Nothing
Me.Profil.Set_Aktuelles_Profil(Me.TSComboboxProfil.Text)
Try
Select Case Me.Profil.sV_Aktiv_Vertragselemente.Value
Case "True"
Me.cbaktiveVertraege.CheckState = CheckState.Checked
Case "False"
Me.cbaktiveVertraege.CheckState = CheckState.Unchecked
Case Else
Me.cbaktiveVertraege.CheckState = CheckState.Indeterminate
End Select
Catch ex As Exception
MsgBox(ex.Message)
End Try
Me.cbInaktiv.Checked = Me.Profil.bV_Aktiv_Vertragspartner = True
Me.rbSortVertragspartner.Checked = False
Me.rbSortVertragstyp.Checked = False
If Me.Profil.bSelektionsart.Value = True Then
Me.rbSortVertragspartner.Checked = True
Else
Me.rbSortVertragstyp.Checked = True
End If
'20110828 - Update Supergrid
' Me.TreeStruktur.BeginUpdate()
Me.SuspendLayout()
Me.C1Vertragselemente.BeginInit()
Me.TreeStruktur_Click(sender, e)
Application.DoEvents()
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal
If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then
Me.TSBtnAlleElemente.CheckState = CheckState.Unchecked
Me.TSBtnAlleElemente_Click(sender, e)
Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
Else
Me.TSBtnAlleElemente.CheckState = CheckState.Checked
Me.TSBtnAlleElemente_Click(sender, e)
Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
Me.SplitContainer1.SplitterDistance = 250
End If
Me.C1Vertragselemente.EndInit()
Me.TreeStruktur.EndUpdate()
Me.Order_Tabcontrol()
Me.ResumeLayout()
' Me.TreeStruktur_Click(sender, e)
' Me.Order_Tabcontrol()
End Sub
Private Sub Get_Filter()
Try
filtercollection.Clear()
Dim i As Integer
For i = 1 To Me.filtercollection.Count
Dim fc As New FilterClass
fc = Me.filtercollection.Item(i)
Dim ii As Integer
For ii = 0 To Me.C1Vertragselemente.Columns.Count - 1
If Me.C1Vertragselemente.Columns(ii).DataField.ToString = fc.Columname Then
Me.C1Vertragselemente.Columns(ii).FilterText = fc.FilterValue
Exit For
End If
Next
Next
Catch ex As Exception
End Try
End Sub
Sub Set_Layout_Filter()
Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
Application.DoEvents()
Try
Dim i As Integer
For i = 0 To Me.C1Vertragselemente.Columns.Count - 1
If Me.C1Vertragselemente.Columns(i).FilterText <> "" Then
filtercollection.Add(New FilterClass(Me.C1Vertragselemente.Columns(i).DataField.ToString, Me.C1Vertragselemente.Columns(i).FilterText.ToString))
End If
Next
Catch ex As Exception
End Try
End Sub
''' <summary>
''' Neues Profil erstellen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSBrnNeuesProfil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim a As String = InputBox(msg.Get_Meldungstext(503))
If a <> "" Then
If UCase(a) = "STANDARD" Then
msg.show_standardmessage(504, MsgBoxStyle.Information)
Exit Sub
End If
Me.Profil.Set_Aktuelles_Profil(Me.Profil.Add_New(a))
Me.ProfilspeichernToolStripMenuItem_Click(sender, e)
Me.Profile_Aktualisieren(a)
End If
End Sub
#End Region
Private Sub GruppieToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GruppieToolStripMenuItem.Click
If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal Then
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy
Else
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal
End If
End Sub
Private Sub RegisterSpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RegisterSpeichernToolStripMenuItem.Click
Dim s As String = ""
For Each tbp As TabPage In Me.TabControlDiverse.TabPages
s = s + tbp.Text + ";"
Next
Me.Profil.sV_Register = New SqlString(CType(s, String))
Me.Profil.Save_Data()
Me.Docs.Save_LayoutFile(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
msg.show_standardmessage_ReplaceText(505, MsgBoxStyle.Information, Me.Profil.sBezeichnung.Value, "")
End Sub
''' <summary>
''' Neues Profil erstellen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub NeuesProfilToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuesProfilToolStripMenuItem.Click
Dim a As String = InputBox(msg.Get_Meldungstext(503))
If a <> "" Then
If UCase(a) = "STANDARD" Then
msg.show_standardmessage(504, MsgBoxStyle.Information)
Exit Sub
End If
Me.Profil.Set_Aktuelles_Profil(Me.Profil.Add_New(a))
Me.ProfilspeichernToolStripMenuItem_Click(sender, e)
Me.Profile_Aktualisieren(a)
End If
End Sub
''' <summary>
''' Profil löschen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub ProfilLöschenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfilLöschenToolStripMenuItem.Click
If msg.Show_MessageYesNo(500) = MsgBoxResult.Yes Then
Me.Profil.Delete_Profil(Me.Profil.iProfilnr.Value)
Profile_Aktualisieren()
End If
End Sub
''' <summary>
''' Profil speichern
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub ProfilspeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfilspeichernToolStripMenuItem.Click
Me.Profil.bSelektionsart = New SqlBoolean(CType(Me.rbSortVertragspartner.Checked, Boolean))
Me.Profil.bV_Aktiv_Vertragspartner = New SqlBoolean(CType(Me.cbInaktiv.Checked, Boolean))
Me.Profil.sV_Aktiv_Vertragselemente = New SqlString(CType(Me.C1Vertragselemente.Columns("aktiv").FilterText, String))
Me.Profil.Save_Data()
Me.Docs.Save_LayoutFile(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
msg.show_standardmessage(502, MsgBoxStyle.Information)
End Sub
''' <summary>
''' Profil Editieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub ProfilBearbeitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfilBearbeitenToolStripMenuItem.Click
Dim f As New frmProfilVerwaltung(Me.C1Vertragselemente, Me.Profil.iProfilnr.Value, Me.TabControlDiverse)
f.ShowDialog()
Me.Profile_Aktualisieren(f.txtBezeichnung.Text)
Me.Profil.Get_Profil(Me.Profil.iProfilnr.Value)
Me.Order_Tabcontrol()
End Sub
''' <summary>
''' Alle Knoten im Tree schliessen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub AlleKnotenSchliessenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleKnotenSchliessenToolStripMenuItem.Click
Me.TreeStruktur.CollapseAll()
End Sub
''' <summary>
''' Alle Knoten im Tree öffnen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub AlleKnotenÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleKnotenÖffnenToolStripMenuItem.Click
Me.TreeStruktur.ExpandAll()
End Sub
Private Sub TStxtSuche_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TStxtSuche.KeyDown
If e.KeyCode = Keys.Enter Then
Me.TSBtnSuche_Click(sender, e)
Else
Me.TStxtSucheInhalt.Text = ""
End If
End Sub
Private Sub TStxtSucheInhalt_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TStxtSucheInhalt.KeyDown
If e.KeyCode = Keys.Enter Then
Me.TSBtnSucheInhalt_Click(sender, e)
Else
Me.TStxtSuche.Text = ""
End If
End Sub
Private Sub TSBtnFilterAufheben_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnFilterAufheben.Click
Me.TStxtSucheInhalt.Text = ""
Me.TStxtSuche.Text = ""
Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, "")
Try
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
Me.TreeStruktur_Click(sender, e)
Catch ex As Exception
End Try
End Sub
Private Sub EinzelnerVertragsparterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EinzelnerVertragsparterToolStripMenuItem.Click
Dim t As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag
Dim f As New frmVertragsuebersicht(t.Vertragspartnernr)
f.MdiParent = Me.MdiParent
f.Show()
End Sub
Private Sub txtVertragsende_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtVertragsende.TextChanged, txtVertragsbegin.TextChanged, _
txtVersionsdatum.TextChanged, txtGekuendigtam.TextChanged, txtGekuendigtper.TextChanged, txtMindestvertragsdauerbis.TextChanged, txtUnterzeichnetam.TextChanged
Dim objtype As System.Type = sender.GetType
If objtype.Name = "MaskedTextBox" Then
Dim o As MaskedTextBox = sender
If o.Text = "01.01.1900" Then o.Text = " . . "
End If
End Sub
''' <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
Private Sub RegisterSpeichernDokumentToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RegisterSpeichernDokumentToolStripMenuItem.Click
RegisterSpeichernToolStripMenuItem_Click(sender, e)
End Sub
Private Sub TreeStruktur_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeStruktur.AfterSelect
Refresh_Details()
End Sub
Private Sub cbaktiveVertraege_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbaktiveVertraege.CheckStateChanged
Try
If Me.IsOnLoad Then Exit Sub
If Not Me.TreeStruktur.SelectedNode Is Nothing And Not Me.PartnerNode Is Nothing Then
Me.TreeStruktur.SelectedNode = Me.PartnerNode
Else
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
End If
TreeStrukturAktualisierenToolStripMenuItem_Click(sender, e)
Select Case Me.cbaktiveVertraege.CheckState
Case CheckState.Checked
Me.cbaktiveVertraege.Text = "aktive Verträge"
C1Vertragselemente.Columns("aktiv").FilterText = True
Case CheckState.Unchecked
Me.cbaktiveVertraege.Text = "inaktive Verträge"
C1Vertragselemente.Columns("aktiv").FilterText = False
Case CheckState.Indeterminate
Me.cbaktiveVertraege.Text = "alle Verträge"
C1Vertragselemente.Columns("aktiv").FilterText = ""
End Select
Catch ex As Exception
Me.TreeStruktur.Enabled = False
Me.TreeStruktur.BeginUpdate()
End Try
End Sub
Private Sub C1Applikationen_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Applikationen.MouseDown
Me.c1Lizenzkäufe.DataSource = Nothing
Me.C1Lizenzschluessel.DataSource = Nothing
Me.Lizenzkauf_Aktualisieren()
End Sub
Private Sub c1Lizenzkäufe_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles c1Lizenzkäufe.FetchRowStyle
Try
If Me.c1Lizenzkäufe.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
Private Sub c1Lizenzschluessel_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Lizenzschluessel.FetchRowStyle
Try
If Me.C1Lizenzschluessel.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
Private Sub C1Lizenzkäufe_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles c1Lizenzkäufe.MouseDown
Me.Lizenzschluessel_Aktualisieren()
End Sub
''' <summary>
''' Aktualiserung der Grids Lizenzkauf und Lizenzschluessel
''' </summary>
''' <remarks></remarks>
Dim applikation As New TKB.VV.Applikation.clsApplikation
Private Sub Lizenzkauf_Aktualisieren()
Try
Try
Me.c1Lizenzkäufe.Enabled = False
Me.C1Lizenzschluessel.DataSource = Nothing
Me.c1Lizenzkäufe.DataSource = Nothing
Catch
End Try
Me.applikation.Get_Lizenzkauf(Me.C1Applikationen.Columns("Vertragselementapplikationnr").Value, Me.C1Applikationen.Columns("Applikationnr").Value)
Me.c1Lizenzkäufe.DataSource = Me.applikation.Lizenzkauf
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.c1Lizenzkäufe, "Lizenzkauf_Uebersicht", Me.applikation.Lizenzkauf)
'Me.c1Lizenzkäufe.Columns("applikationversionnr").FilterText = Me.C1Applikationen.Columns("applikationversionnr").Value
Me.Lizenzschluessel_Aktualisieren()
Catch ex As Exception
Exit Sub
Finally
Me.c1Lizenzkäufe.Enabled = True
End Try
End Sub
''' <summary>
''' Aktualiserung der Grids Lizenzkauf und Lizenzschluessel
''' </summary>
''' <remarks></remarks>
Private Sub Lizenzschluessel_Aktualisieren()
Try
Me.C1Lizenzschluessel.Enabled = False
Try
Me.C1Lizenzschluessel.DataSource = Nothing
Catch
End Try
Me.applikation.Get_Lizenzschluessel(Me.c1Lizenzkäufe.Columns(0).Value)
Me.C1Lizenzschluessel.DataSource = Me.applikation.Lizenzschluessel
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Lizenzschluessel, "Lizenzschluessel_Uebersicht", Me.applikation.Lizenzschluessel)
Catch ex As Exception
Exit Sub
Finally
Me.C1Lizenzschluessel.Enabled = True
End Try
End Sub
Private Sub C1Applikationen_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1Applikationen.RowColChange
Me.Lizenzkauf_Aktualisieren()
End Sub
Private Sub c1Lizenzkäufe_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles c1Lizenzkäufe.RowColChange
Me.Lizenzschluessel_Aktualisieren()
End Sub
Private Sub StrukturNachXMLExportierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StrukturNachXMLExportierenToolStripMenuItem.Click
Me.inExport = True
Dim f As New frmAktFortschritt
f.MdiParent = Me.MdiParent
f.Show()
f.Label1.Text = "Daten zusammentragen"
f.ProgressBar1.Value = 0
f.ProgressBar1.Minimum = 0
f.ProgressBar1.Maximum = Me.TreeStruktur.Nodes.Count
f.Show()
Me.TreeStruktur.CollapseAll()
For Each tn As TreeNode In Me.TreeStruktur.Nodes
f.ProgressBar1.Value = f.ProgressBar1.Value + 1
f.Refresh()
tn.Nodes.Clear()
Me.PartnerNode = tn
Update_Node(tn, Me.Profil.bV_Struktur_Details.Value)
Try
tn.ExpandAll()
Catch ex As Exception
End Try
Next
f.Close()
f.Dispose()
Me.SaveFileDialog1.DefaultExt.Insert(0, "*.xls")
Me.SaveFileDialog1.Filter = "-Dateien|*.xls|Alle Dateien|*.*"
Me.SaveFileDialog1.ShowDialog()
If Me.SaveFileDialog1.FileName <> "" Then
TVToExcel.Export_Vertragselemente(Me.TreeStruktur, Me.SaveFileDialog1.FileName)
End If
Me.inExport = False
End Sub
Private Sub ApplikationAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ApplikationAnzeigenToolStripMenuItem.Click
Dim f As New frmApplikation(Me.C1Applikationen.Columns("Applikationnr").Value, Me.FormReadonly)
f.MdiParent = Me.MdiParent
f.Show()
End Sub
Private Sub DetailContextMenuStrip_Opened(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailContextMenuStrip.Opened
Dim showmenu As Boolean = False
Dim velement As New TKB.VV.Vertrag.clsVertragselement
ToolStripMenuItem4.Visible = False
DokumenteToolStripMenuItem.Visible = False
Try
Dim doks, doks1 As New DataTable
doks1 = velement.Get_Dokumente(Me.C1Vertragselemente.Columns("Vertragselementnr").Value)
Dim dv As New DataView(doks1)
dv.Sort = "Bezeichnung"
doks = dv.ToTable
Dim i As Integer = 0
Me.DokumenteToolStripMenuItem.DropDownItems.Clear()
For i = 0 To doks.Rows.Count - 1
If doks.Rows(i).Item("aktiv") = True Then
Dim ms As New ToolStripMenuItem(doks.Rows(i).Item("Bezeichnung"), Nothing, AddressOf ToolStripMenuItem_Click, doks.Rows(i).Item(0).ToString)
ms.Tag = doks.Rows(i).Item("Dokumentnr").ToString
Me.DokumenteToolStripMenuItem.DropDownItems.Add(ms)
showmenu = True
End If
''Me.DokumenteToolStripMenuItem.DropDownItems.Add(doks.Rows(i).Item("Bezeichnung"), Nothing, AddressOf ToolStripMenuItem_Click)
Next
If showmenu Then
Me.ToolStripMenuItem4.Visible = True
Me.DokumenteToolStripMenuItem.Visible = True
sec.Set_Menu_Security(Me, Me.DokumenteToolStripMenuItem, "DetailContextMenuStrip")
End If
Catch ex As Exception
End Try
End Sub
Private Sub ToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim menuItem As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If menuItem IsNot Nothing Then
Dim tmpdok As New TKB.VV.DMS.clsDok
tmpdok.Show_Doc(menuItem.Tag)
tmpdok.Dispose()
End If
End Sub
Private Sub ContextMenuApplikation_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuApplikation.Opening
End Sub
Private Sub DokumentinformationenAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DokumentinformationenAnzeigenToolStripMenuItem.Click
Try
Dim f As New frmDokument(Me.C1Dokumente.Columns("Dokumentnr").Value, 1, Me.C1Vertragselemente.Columns("Vertragselementnr").Value, True)
f.MdiParent = Me.MdiParent
f.Show()
Catch ex As Exception
End Try
End Sub
Private Sub AktivePartToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AktivePartToolStripMenuItem.Click
Me.TSDropDownPartner.Text = "aktive Partner"
Me.cbInaktiv.Checked = True
End Sub
Private Sub AllePartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AllePartnerToolStripMenuItem.Click
Me.TSDropDownPartner.Text = "alle Partner"
Me.cbInaktiv.Checked = False
End Sub
Private Sub AlleVerträgeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleVerträgeToolStripMenuItem.Click
Me.TSDropDwonVertraege.Text = "alle Vertraege"
Me.cbaktiveVertraege.CheckState = CheckState.Indeterminate
End Sub
Private Sub AktiveVerträgeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AktiveVerträgeToolStripMenuItem.Click
Me.TSDropDwonVertraege.Text = "aktive Vertraege"
Me.cbaktiveVertraege.CheckState = CheckState.Checked
End Sub
Private Sub InaktiveVerträgeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InaktiveVerträgeToolStripMenuItem.Click
Me.TSDropDwonVertraege.Text = "inaktive Vertraege"
Me.cbaktiveVertraege.CheckState = CheckState.Unchecked
End Sub
Dim save_splitterdistance As Integer = 0
Private Sub TSBtnAlleElemente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnAlleElemente.Click
If Me.TSBtnAlleElemente.CheckState <> CheckState.Checked Then
Me.C1Vertragselemente.Enabled = False
Me.SpaltenAnsichtToolStripMenuItem.Visible = True
Me.save_splitterdistance = Me.SplitContainer1.SplitterDistance
Me.SplitContainer1.SplitterDistance = 2
If Me.C1Vertragselemente.DataView <> C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy
End If
Me.TSBtnAlleElemente.CheckState = CheckState.Checked
Me.Refresh_Vertragselemente()
Me.C1Vertragselemente.Enabled = True
Else
Me.C1Vertragselemente.Enabled = False
Me.SpaltenAnsichtToolStripMenuItem.Visible = False
Me.SplitContainer1.SplitterDistance = 250
Me.TSBtnAlleElemente.CheckState = CheckState.Unchecked
If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal
End If
Try
Me.Refresh_Details()
Catch ex As Exception
End Try
Me.C1Vertragselemente.Enabled = True
End If
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy
Me.C1Vertragselemente.Dock = DockStyle.Fill
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Form
'Me.C1Vertragselemente.Dock = DockStyle.Left
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Inverted
Me.C1Vertragselemente.Dock = DockStyle.Fill
End Sub
Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TsBtnPrint.Click
Dim fontbold As New Font("Arial", 12, FontStyle.Bold)
Dim fontregular As New Font("Arial", 12, FontStyle.Regular)
With Me.C1Vertragselemente.PrintInfo
.PageHeaderStyle.Font = fontbold
.PageSettings.Margins.Bottom = 20
.PageSettings.Margins.Top = 20
.PageSettings.Landscape = True
.PageFooter = "Seite \p von \P" & vbLf & "Druckdatum " & Now()
.PageHeader = "Vertragselemente"
.ShowProgressForm = True
.UseGridColors = True
.RepeatColumnHeaders = True
.VarRowHeight = .RowHeightEnum.StretchToFit
.WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.NoWrap
.PageBreak = .PageBreaksEnum.OnColumn
.FillAreaWidth = .FillEmptyEnum.None
.PrintPreview()
End With
End Sub
Private Sub TSBtnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnExport.Click
Me.C1Vertragselemente.ExportTo()
MsgBox("Der Export ist abgeschlossen", MsgBoxStyle.Information)
End Sub
Private Sub SpaltenAnsichtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpaltenAnsichtToolStripMenuItem.Click
Dim f As New FrmGridSpalten(Me.C1Vertragselemente)
f.MdiParent = Me.MdiParent
'f.Parent = Me
f.Show()
End Sub
Private Sub TSBtnExcelExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.SaveFileDialog1.AddExtension = True
Me.SaveFileDialog1.DefaultExt.Insert(0, "*.xls")
Me.SaveFileDialog1.Filter = "Excel-Dateien|*.xls"
Me.SaveFileDialog1.ShowDialog()
If Me.SaveFileDialog1.FileName <> "" Then
If Me.SaveFileDialog1.FileName.EndsWith(".xls") Or Me.SaveFileDialog1.FileName.EndsWith("XLS") Then
Me.DatatableToExcel(Me.C1Vertragselemente.DataSource, Me.SaveFileDialog1.FileName)
Else
Me.C1Vertragselemente.ExportToDelimitedFile(Me.SaveFileDialog1.FileName, C1.Win.C1TrueDBGrid.RowSelectorEnum.AllRows, ";", "", "", True, System.Text.Encoding.Default.BodyName)
End If
End If
Exit Sub
End Sub
Public Shared Function DatatableToExcel(ByVal aDataTable As DataTable, ByVal aOutputFilename As String) As Boolean
Application.DoEvents()
Dim f As New FrmFortschritt
Dim app As New Object
Dim wb As New Object
Dim ws As New Object
Try
f.Show()
Application.DoEvents()
f.ProgressBar1.Minimum = 0
f.ProgressBar1.Maximum = aDataTable.Rows.Count
app = CreateObject("Excel.application")
'Dim wb As Object
'Dim ws As Object
' Dim app As New Excel.ApplicationClass
' Dim wb As Excel.Workbook
' Dim ws As Excel.Worksheet
wb = app.Workbooks.add()
'wb = app.Workbooks.Add()
ws = wb.ActiveSheet()
Dim dc As DataColumn
Dim dr As DataRow
Dim colIndex As Integer
Dim rowIndex As Integer
' Columns erstellen
For Each dc In aDataTable.Columns
colIndex += 1
app.Cells(1, colIndex) = dc.ColumnName
Next
' Rows hinzufügen
For Each dr In aDataTable.Rows
f.ProgressBar1.Value = rowIndex
rowIndex += 1
colIndex = 0
For Each dc In aDataTable.Columns
colIndex += 1
app.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)
Next
Next
ws.Columns.AutoFit()
wb.SaveAs(aOutputFilename)
app.Workbooks.Open(aOutputFilename)
' Excel anzeigen wenn fertig exportiert
app.Visible = True
ws = Nothing
wb = Nothing
app = Nothing
f.Close()
Return True
Catch ex As Exception
f.Close()
MsgBox(ex.Message)
End Try
End Function
End Class