Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
'''
''' Vertragsübersicht: Beachten: TabControl wird von TKB.VV.Utils.clsMyTabControl
''' überschrieben
'''
''' yes
'''
'''
'''
'''
'''
'''
'''
'''
'''
Public Class frmVertragsuebersicht
#Region "Deklarationen"
'''
''' Klasse für die Bewirtschaftung der Tree-Strukturen
'''
'''
Dim Strukturen As New TKB.VV.Vertrag.clsVertragsuebersicht_Strukturen
'''
''' Klasse für die Beschreibung der Tree-Tags
'''
'''
Dim Tag_Descriptor As TKB.VV.Vertrag.Treenode_Descriptor
'''
''' Vertragselement
'''
'''
Dim Vertragselement As TKB.VV.Vertrag.clsVertragselement
'''
''' Dokument-Management-Klasse
'''
'''
Dim Docs As New TKB.VV.Utils.MyDocMgmt
Dim Services As New TKB.VV.Vertrag.clsVertragsleistung
'''
''' Security-Klasse
'''
'''
Dim sec As New TKB.VV.Utils.MySecurity
'''
''' Message-Klasse
'''
'''
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
'''
''' Generic Event-Handler
'''
'''
Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder
#End Region
#Region "Buttons/Menu"
'''
''' Formular schliessen
'''
'''
'''
'''
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
'''
''' Datensatz kopieren
'''
'''
'''
'''
Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click
End Sub
'''
''' Neuer Datensatz erstellen
'''
'''
'''
'''
Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click
End Sub
'''
''' Aktueller Datensatz inaktivieren
'''
'''
'''
'''
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
End Sub
'''
''' Menu Beenden
'''
'''
'''
'''
Private Sub BeendenToolStipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStipMenuItem.Click
Me.TSBtnQuit_Click(sender, e)
End Sub
'''
''' Vertragspartner suchen
'''
'''
'''
'''
Private Sub TSBtnSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSuche.Click
Me.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
'''
''' Formular-Load
'''
'''
'''
''' Wurde das Form mit einer Partnernr initialisiert, wird die Partnerstruktur geöffnet
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
'''
''' Laden der Treestruktur
'''
'''
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
'''
''' Bei Änderung der Inaktiv-Checkbox werden die Hauptstrukturen neu geladen
'''
'''
'''
'''
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"
'''
''' Aktueller Tag des gewählten Nodes auslesen und Aktualisierung aufrufen
'''
'''
'''
''' 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
'''
''' Treeview-Click
'''
'''
'''
''' Ist die Sortierung nach Vertragstyp und der Click auf dem Root-Entry, wird das Datenauslesen speziell behandelt, sodass sämtliche Vertragspartner berücksichtigt werden
Private Sub TreeStruktur_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeStruktur.Click
Refresh_Details()
End Sub
'''
''' Toplevel-Treenode suchen
'''
'''
'''
'''
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
'''
''' Mousedown-Ereignis auf dem Tree
'''
'''
'''
'''
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
'''
''' Handling RB_Changed für den Aufbau der Struktur
'''
'''
'''
'''
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
'''
''' Suchen eines Knoten Treeview
'''
''' Nodes des TreeView
''' Tag.Keyvalue
''' Node.Text als Suchbegriff
'''
'''
Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode
Dim tmpNode As TreeNode
For Each _child As TreeNode In _nodeCollection
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"
'''
''' Aktualisierung des aktuellen Knotens
'''
'''
'''
'''
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
'''
''' Vollständiger Treeview aktualisieren
'''
'''
'''
'''
Private Sub TreeStrukturTreeAktualisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturTreeAktualisierenToolStripMenuItem.Click
Refresh_All()
End Sub
'''
''' Treeview Struktur aktualisieren
'''
'''
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
'''
'''Details aktualisieren
'''
'''
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()
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)
End Sub
'''
''' Vertragspartner anzeigen / bearbeiten
'''
'''
'''
'''
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
'''
''' TreeStrukturContetmenu anzeigen und allfällige MenuItems disablen
'''
'''
'''
'''
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"
'''
''' Neuer Vertragspartner eröffnen
'''
'''
'''
'''
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
'''
''' Spaltenlayout C1Vertragselemente speichern
'''
'''
'''
'''
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
'''
''' Vertragselement anzeigen / bearbeiten
'''
'''
'''
'''
Private Sub VertragselementAnzeigenBearbeitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VertragselementAnzeigenBearbeitenToolStripMenuItem.Click
Me.C1Vertragselemente_DoubleClick(sender, e)
End Sub
'''
''' Neues Vertragselement laden
'''
'''
'''
''' 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
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"
'''
''' Doubleklick auf C1Vertragselemente
'''
'''
'''
''' Steht der MenuEintrag VertragselementAnzeigenBearbeitenToolStripMenuItem nicht
''' zur Verfügung, muss der Doppelclick ignoriert werden
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
'''
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
'''
''' Datum Formatieren
'''
'''
'''
'''
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
'''
''' Mousedown-Ereignis auf C1Certragselemente, damit die Details aktualisiert werden können
'''
'''
'''
'''
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"
'''
''' Detailelemente und die allfällig ausgewählte TabPage aktualisieren
'''
'''
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"
'''
''' Index-Wechsel auf TabControlDiverse. Abhängig der gewählten Registerlasche, werden deren Daten aktualisiert.
'''
'''
'''
'''
Private Sub TabControlDiverse_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControlDiverse.SelectedIndexChanged
Update_Details()
End Sub
'''
''' Detail-Informationen der ersten 2 TabPages aktualisieren
'''
'''
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
'''
''' Reihenfolge der Register im Tabcontrol anpassen
'''
'''
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
'''
''' Kündigungsfristen aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Kontakte aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Dokumente aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Ereignisse aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Pendenzen aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Referenzverträge aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Services aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' History aktualisieren
'''
'''
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
'''
''' Applikationen aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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
'''
''' Aktivitäten aktualisieren
'''
'''
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
'''
''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen
'''
'''
'''
'''
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"
'''
''' Dokument ab Datenbank anzeigen
'''
'''
'''
'''
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
'''
''' Dokument ab Datenbank anzeigen
'''
'''
'''
''' Steht der MenuEintrag DokumentAnzeigenToolStripMenuIte nicht
''' zur Verfügung, muss der Doppelclick ignoriert werden
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"
'''
''' Profilliste des Mitarbeiters aktualisieren
'''
'''
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
'''
''' Bestehendes Profl auswählen
'''
'''
'''
'''
Private Sub TSComboboxProfil_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TSComboboxProfil.SelectedIndexChanged
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.C1Vertragselemente.BeginInit()
Me.TreeStruktur_Click(sender, e)
Application.DoEvents()
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal
Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
Application.DoEvents()
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)
Filter_Aktualisieren()
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
Filter_Aktualisieren()
End If
Me.C1Vertragselemente.EndInit()
Me.TreeStruktur.EndUpdate()
Me.Order_Tabcontrol()
' Me.TreeStruktur_Click(sender, e)
' Me.Order_Tabcontrol()
End Sub
Dim Filtercollection As New Collection
Private Sub Filter_Aktualisieren()
Try
Filtercollection.Clear()
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
Try
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
'''
''' Neues Profil erstellen
'''
'''
'''
'''
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
'''
''' Neues Profil erstellen
'''
'''
'''
'''
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
'''
''' Profil löschen
'''
'''
'''
'''
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
'''
''' Profil speichern
'''
'''
'''
'''
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
'''
''' Profil Editieren
'''
'''
'''
'''
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
'''
''' Alle Knoten im Tree schliessen
'''
'''
'''
'''
Private Sub AlleKnotenSchliessenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleKnotenSchliessenToolStripMenuItem.Click
Me.TreeStruktur.CollapseAll()
End Sub
'''
''' Alle Knoten im Tree öffnen
'''
'''
'''
'''
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
'''
''' Laden der Securitylevel-Daten in die Combobox
'''
'''
Private Sub Load_Securitylevel()
Dim seclevel As New TKB.VV.DB.clsSecurityLevel
Dim secleveldata As New DataTable
seclevel.cpMainConnectionProvider = Globals.conn
Globals.conn.OpenConnection()
secleveldata = seclevel.SelectAll
Globals.conn.CloseConnection(True)
Me.cboxSecurityLevel.DataSource = secleveldata
Me.cboxSecurityLevel.DisplayMember = "Bezeichnung"
Me.cboxSecurityLevel.ValueMember = "SecurityLevelNr"
seclevel.Dispose()
End Sub
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
'''
''' Aktualiserung der Grids Lizenzkauf und Lizenzschluessel
'''
'''
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_Lizenzen(Me.C1Applikationen.Columns("Vertragselementapplikationnr").Value, Me.C1Applikationen.Columns("Applikationnr").Value)
'Me.applikation.Get_Lizenzkauf(Me.C1Applikationen.Columns("Vertragselementapplikationnr").Value, Me.C1Applikationen.Columns("Applikationnr").Value)
For Each dr As DataRow In Me.applikation.Lizenzkauf.Rows
If dr.Item("Kaufdatum").ToString = "01.01.1900 00:00:00" Then dr.Item("Kaufdatum") = System.DBNull.Value
If dr.Item("Gueltigbis").ToString = "01.01.1900 00:00:00" Then dr.Item("Gueltigbis") = System.DBNull.Value
Next
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
'''
''' Aktualiserung der Grids Lizenzkauf und Lizenzschluessel
'''
'''
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()
TVToExcel.Export_Vertragselemente(Me.TreeStruktur, "")
'If Me.SaveFileDialog1.FileName <> "" Then
'TVToExcel.Export_Vertragselemente(Me.TreeStruktur, Me.SaveFileDialog1.FileName)
'End If
' 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()
Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value)
Filter_Aktualisieren()
Me.C1Vertragselemente.Enabled = True
Else
Me.C1Vertragselemente.Enabled = False
Me.SpaltenAnsichtToolStripMenuItem.Visible = False
Me.SplitContainer1.SplitterDistance = Me.save_splitterdistance
Me.TSBtnAlleElemente.CheckState = CheckState.Unchecked
Me.SplitContainer1.SplitterDistance = 250
If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then
Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal
End If
Try
Me.Refresh_Details()
Filter_Aktualisieren()
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
MsgBox(Me.C1Vertragselemente.Splits(0).Rows.Count)
Dim xls As New XLSLib.clsXLSLib
xls.Write_Excel(Me.C1Vertragselemente.DataSource, True)
Exit Sub
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
Private Sub C1Vertragselemente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C1Vertragselemente.Click
End Sub
Private Sub LizenzelementAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LizenzelementAnzeigenToolStripMenuItem.Click
Dim f As New frmLizenzverwaltung(Me.c1Lizenzkäufe.Columns("Lizenznr").Value, Me.FormReadonly)
'Dim f As New FrmLizenz(Me.c1Lizenzkäufe.Columns("Lizenznr").Value, Me.FormReadonly, 0)
f.MdiParent = Me.MdiParent
f.Show()
End Sub
Private Sub ctxMenuLizenzen_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ctxMenuLizenzen.Opening
Try
Dim i As Integer
i = Me.c1Lizenzkäufe.Columns("Lizenznr").Value
Me.ctxMenuLizenzen.Items(0).Enabled = True
Catch ex As Exception
Me.ctxMenuLizenzen.Items(0).Enabled = False
End Try
End Sub
End Class