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.
968 lines
36 KiB
968 lines
36 KiB
Imports System.Data
|
|
Imports System.Data.SqlClient
|
|
Imports System.Data.SqlTypes
|
|
Public Class frmLizenzverwaltung
|
|
|
|
#Region "Deklarationen"
|
|
Dim Lizenz As New TKB.VV.Lizenz.clsLizenz
|
|
Dim Lizenzinformationen As New TKB.VV.Lizenz.clsLizenzinformationen
|
|
Dim Lizenztyp As New DataTable
|
|
Dim clsLizenztyp As New TKB.VV.DB.clsLizenztyp
|
|
Dim ve As New TKB.VV.vertrag.clsVertragselement
|
|
Dim Applikationnr As Integer = 0
|
|
|
|
|
|
Dim Treeviewdata As New TKB.VV.Lizenz.clsLizenzTree
|
|
Dim treeviewdata_Suche As New TKB.VV.Lizenz.clsLizenzTree
|
|
' Dim TreeSuche As New TreeView
|
|
Dim Suchresultate As New DataTable
|
|
Dim MaxSuchTreffer As Integer = 0
|
|
Dim TreeParent As New TKB.VV.Lizenz.clsLizenzTree
|
|
|
|
Dim sec As New TKB.VV.Utils.MySecurity
|
|
|
|
Dim msg As New TKB.VV.Utils.MyMessage
|
|
Dim FormReadonly As Boolean = False
|
|
Dim FormDataChanged As Boolean = False
|
|
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
|
|
Private Anzeige As Boolean = False
|
|
|
|
Dim Aktuelle_Lizenz As Integer = 0
|
|
Dim IsSturkturElement As Boolean = False
|
|
Dim Multiline As New TabControlMultiLine
|
|
Dim Aktueller_Vertragspartner As Integer = 0
|
|
|
|
|
|
''' <summary>
|
|
''' Generic Event-Handler
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder
|
|
Dim OnLoad As Boolean = True
|
|
#End Region
|
|
|
|
#Region "Closing / Check_Changes"
|
|
''' <summary>
|
|
''' Schliessen des Formulars
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
If Me.FormReadonly = True And Not Me.IsSturkturElement Then Exit Sub
|
|
If Check_Changes() = False Then
|
|
e.Cancel = True
|
|
Else
|
|
Lizenz.Dispose()
|
|
Me.Dispose()
|
|
End If
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Prüfung, ob Datenänderungen vorgenommen wurden.
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Function Check_Changes() As Boolean
|
|
If Me.FormReadonly And Not Me.IsSturkturElement Then
|
|
Return True
|
|
Exit Function
|
|
End If
|
|
Dim msgres As MsgBoxResult
|
|
If Me.FormDataChanged Then
|
|
msgres = msg.Show_MessageYesNoCancel(3)
|
|
Select Case msgres
|
|
Case MsgBoxResult.Yes
|
|
Save_data()
|
|
Return True
|
|
Case MsgBoxResult.Cancel
|
|
Return False
|
|
Case MsgBoxResult.No
|
|
Me.FormDataChanged = False
|
|
Return True
|
|
End Select
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
#Region "Eventhandler ChangeEreignisse"
|
|
''' <summary>
|
|
''' Allg Eventhandler für Chanage-Ereignise festlegen
|
|
''' </summary>
|
|
''' <param name="Container"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub AddChanges(ByVal Container As Control)
|
|
Dim l As New List(Of Control)
|
|
Me.GetControl(Me, "*", l)
|
|
Dim evh As EventHandler = AddressOf ChangesMade
|
|
For Each c As Control In l
|
|
If TypeOf c Is TextBox Then
|
|
Dim ctl As TextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is MaskedTextBox Then
|
|
Dim ctl As MaskedTextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is ComboBox Then
|
|
Dim ctl As ComboBox = c
|
|
AddHandler ctl.SelectedValueChanged, evh
|
|
End If
|
|
If TypeOf c Is RichTextBox Then
|
|
Dim ctl As RichTextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is CheckBox Then
|
|
If c.Name <> "cboxNurAktive" Then
|
|
Dim ctl As CheckBox = c
|
|
AddHandler ctl.CheckedChanged, evh
|
|
End If
|
|
End If
|
|
If TypeOf c Is CheckedListBox Then
|
|
Dim ctl As CheckedListBox = c
|
|
AddHandler ctl.ItemCheck, AddressOf ChecketListBoxChange
|
|
End If
|
|
Next
|
|
End Sub
|
|
''' <summary>
|
|
''' Envent-Handler für Change-Ereignisse
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
Me.FormDataChanged = True
|
|
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
|
|
Private Sub ChecketListBoxChange(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs)
|
|
Me.FormDataChanged = True
|
|
End Sub
|
|
|
|
|
|
''' <summary>
|
|
''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet
|
|
''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung
|
|
''' </summary>
|
|
''' <param name="BaseControl">Base-Contrlo (z.B. aktuelles Formular</param>
|
|
''' <param name="Key">Schlüssel welcher gesucht werden soll</param>
|
|
''' <param name="L">Liste der gefundenen Objekte</param>
|
|
''' <returns>True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde.
|
|
''' </returns>
|
|
''' <remarks></remarks>
|
|
Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean
|
|
If L Is Nothing Then L = New List(Of Control)
|
|
Dim Gut As Boolean
|
|
Dim ReturnFlag As Boolean = False
|
|
If Key IsNot Nothing Then Key = Key.ToLower
|
|
|
|
If BaseControl.HasChildren = True Then
|
|
For Each ctl As Control In BaseControl.Controls
|
|
Gut = False
|
|
If Key Is Nothing Then
|
|
Gut = True
|
|
Else
|
|
If ctl.Name.Length >= Key.Length Then
|
|
Key = Key.ToLower
|
|
If Key.StartsWith("*") Then
|
|
If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True
|
|
ElseIf Key.EndsWith("*") Then
|
|
If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True
|
|
Else
|
|
If Key = ctl.Name.ToLower Then Gut = True
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If Gut = True Then
|
|
L.Add(ctl)
|
|
If ReturnAtFirstElement = True Then ReturnFlag = True
|
|
End If
|
|
If ReturnFlag = False Then
|
|
Call GetControl(ctl, Key, L)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If L.Count - 1 > -1 Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
#End Region
|
|
|
|
#Region "Formular"
|
|
|
|
Sub New()
|
|
InitializeComponent()
|
|
End Sub
|
|
|
|
Sub New(ByVal LizenzNr As Integer, Optional ByVal Anzeige As Boolean = False)
|
|
InitializeComponent()
|
|
Me.Aktuelle_Lizenz = LizenzNr
|
|
Me.FormReadonly = Anzeige
|
|
If Me.Aktuelle_Lizenz <> 0 Then
|
|
Dim Lic As New TKB.VV.DB.clsLizenz
|
|
Lic.cpMainConnectionProvider = Globals.conn
|
|
Lic.iLizenzNr = New SqlInt32(CType(Me.Aktuelle_Lizenz, Int32))
|
|
Lic.SelectOne()
|
|
Lic.Dispose()
|
|
End If
|
|
End Sub
|
|
|
|
Sub New(ByVal CreateNew As Boolean)
|
|
InitializeComponent()
|
|
If CreateNew Then
|
|
Me.Aktuelle_Lizenz = Me.Lizenz.Add_New
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmLizenzverwaltung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Try
|
|
Catch
|
|
End Try
|
|
Treeviewdata.Load_Tree(Me.TreeLizenzen, False, "", Me.cboxNurAktive.Checked)
|
|
'Treeviewdata.Load_Tree(Me.TreeApplikationen, False, "", Me.cboxNurAktive.Checked)
|
|
If Anzeige = True Then
|
|
Me.FormReadonly = True
|
|
Me.TSBtnSuche.Enabled = False
|
|
Me.TSBtnSave.Enabled = False
|
|
Else
|
|
Me.TSBtnSuche.Enabled = True
|
|
End If
|
|
sec.Set_Form_Security(Me)
|
|
If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then
|
|
Me.FormReadonly = True
|
|
Me.TSBtnNew.Enabled = False
|
|
Me.TSBtnDelete.Enabled = False
|
|
Else
|
|
Me.FormReadonly = False
|
|
End If
|
|
|
|
Load_Securitylevel()
|
|
|
|
TreeParent.Load_Tree(Me.cbboxParentTree.TreeView, True)
|
|
|
|
AddChanges(Me)
|
|
If Me.Aktuelle_Lizenz <> 0 Then
|
|
Me.TreeLizenzen.SelectedNode = Me.Treeviewdata.FindNode(Me.TreeLizenzen.Nodes, Me.Aktuelle_Lizenz, "")
|
|
End If
|
|
' Get_Data(Me.Aktuelle_Applikation)
|
|
If Me.FormReadonly Then sec.Set_Form_Readonly(Me)
|
|
If Me.Aktuelle_Lizenz <> 0 Then
|
|
Me.TreeLizenzen.SelectedNode = Me.Treeviewdata.FindNode(Me.TreeLizenzen.Nodes, Me.Aktuelle_Lizenz, Me.Aktuelle_Lizenz)
|
|
Else
|
|
Me.TreeLizenzen.SelectedNode = Me.TreeLizenzen.Nodes(0)
|
|
End If
|
|
|
|
Me.OnLoad = False
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub TreeApplikationen_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeLizenzen.AfterSelect
|
|
If Me.Check_Changes = False Then Exit Sub
|
|
Get_Data(Me.TreeLizenzen.SelectedNode.Tag)
|
|
LizenzInformationen_aktualisieren()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "Lizenzkauf"
|
|
Private Sub LizenzInformationen_aktualisieren()
|
|
Me.Lizenzinformationen.Get_Lizenzkauf(Me.Lizenz.iLizenzNr.Value, Me.C1Lizenzkäufe)
|
|
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Lizenzkäufe, "Lizenzkauf", Me.Lizenzinformationen.Lizenzkauf.Tabledata)
|
|
Set_Lizenzkauf_Filter()
|
|
Try
|
|
Me.C1Lizenzkäufe.Columns("Lizenznr").FilterText = Me.Lizenz.iLizenzNr.Value
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
Me.Lizenzschluessel_Aktualisieren()
|
|
|
|
Me.Lizenztyp.Rows.Clear()
|
|
Me.clsLizenztyp.cpMainConnectionProvider = Globals.conn
|
|
Me.Lizenztyp = Me.clsLizenztyp.SelectAll
|
|
|
|
Me.C1LizenztypDropDwon.DataSource = Me.Lizenztyp
|
|
Dim i As Integer
|
|
For i = 0 To Me.C1LizenztypDropDwon.DisplayColumns.Count - 1
|
|
Me.C1LizenztypDropDwon.DisplayColumns(i).Visible = False
|
|
Next
|
|
Me.C1LizenztypDropDwon.DisplayColumns("Bezeichnung").Visible = True
|
|
Me.C1LizenztypDropDwon.ValueMember = "Lizenztypnr"
|
|
Me.C1LizenztypDropDwon.DisplayMember = "Bezeichnung"
|
|
Me.C1LizenztypDropDwon.ValueTranslate = True
|
|
Me.C1Lizenzkäufe.Columns("Lizenztypnr").DropDown = Me.C1LizenztypDropDwon
|
|
Me.C1Lizenzkäufe.Columns("Lizenztypnr").ValueItems.Translate = True
|
|
Me.C1Lizenzkäufe.AllowAddNew = False
|
|
Me.C1Lizenzschluessel.AllowAddNew = False
|
|
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Filter in der Spalte Aktiv des Grids C1Lizenzkauf ändern
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Set_Lizenzkauf_Filter()
|
|
Try
|
|
Me.C1Lizenzkäufe.Columns("Aktiv").FilterText = ""
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
'Try
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "Lizenzschluessel"
|
|
''' <summary>
|
|
''' Aktualiserung des Grids Lizenzschlüssel
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Lizenzschluessel_Aktualisieren()
|
|
Try
|
|
Me.Lizenzinformationen.Get_Lizenzschluessel(Me.C1Lizenzkäufe.Columns(0).Value, Me.C1Lizenzschluessel)
|
|
Dim dt As New DataTable
|
|
dt = Me.C1Lizenzschluessel.DataSource
|
|
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Lizenzschluessel, "Lizenzschluessel", Me.Lizenzinformationen.Lizenzschluessel.Tabledata)
|
|
Set_Lizenzschluessel_Filter()
|
|
Me.C1Lizenzschluessel.AllowAddNew = False
|
|
Catch ex As Exception
|
|
Exit Sub
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz)
|
|
''' wird dieser aus der Keytabelle ausgelesen und zugewiesen.
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks>Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig</remarks>
|
|
Private Sub C1Lizenzschluessel_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Lizenzschluessel.AfterColUpdate
|
|
Update_Lizenzschluessel_data()
|
|
End Sub
|
|
Sub Update_Lizenzschluessel_Data()
|
|
'Aktualisieren von Mutierer und Mutiert_am
|
|
Dim i As Integer
|
|
Try
|
|
Me.FormDataChanged = True
|
|
For i = 0 To Me.C1Lizenzschluessel.Columns.Count - 1
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutiert_am" Then Me.C1Lizenzschluessel.Columns(i).Value = Now
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutierer" Then Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
Next
|
|
|
|
'neuer DB-Key auslösen, sofern kein Key vorhanden ist
|
|
If Me.C1Lizenzschluessel.Columns(0).Value Is DBNull.Value Then
|
|
Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle()
|
|
Dim key As Long
|
|
dbkey.cpMainConnectionProvider = conn
|
|
key = dbkey.get_dbkey("Lizenzschluessel")
|
|
Me.C1Lizenzschluessel.Columns(0).Value = key
|
|
For i = 0 To Me.C1Lizenzschluessel.Columns.Count - 1
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mandantnr" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "erstellt_am" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Now
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "securitylevel" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = 0
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "aktiv" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = 1
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "extern" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = 0
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "lizenzkaufnr" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Me.C1Lizenzkäufe.Columns(0).Value
|
|
End If
|
|
|
|
Next
|
|
dbkey.Dispose()
|
|
End If
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Aktualisierung der Default-Werte
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Lizenzschluessel_AfterInsert(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Lizenzschluessel.AfterInsert
|
|
insert_Lizenzschluessel_Data()
|
|
End Sub
|
|
Sub Insert_Lizenzschluessel_Data()
|
|
Dim i As Integer
|
|
'Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen
|
|
Try
|
|
For i = 0 To C1Lizenzschluessel.Columns.Count - 1
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "aktiv" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = 1
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "lizenzkaufnr" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Me.C1Lizenzkäufe.Columns(0).Value
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutiert_am" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Now
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutierer" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mandantnr" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value
|
|
End If
|
|
If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mandant" Then
|
|
Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value
|
|
End If
|
|
Next
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
''' <summary>
|
|
''' Anzeige allfälliger Cellen-Tips
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Lizenzschluessel_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Lizenzschluessel.FetchCellTips
|
|
Dim ts As New TKB.VV.Utils.Tabellenspalte
|
|
ts.Tabelle = "DokumentAblageOrt"
|
|
Try
|
|
ts.Feld = Me.C1Lizenzschluessel.Columns(e.ColIndex).DataField
|
|
ts.getspalte()
|
|
e.CellTip = ts.TipText
|
|
Catch
|
|
End Try
|
|
ts = Nothing
|
|
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Rowstyle von inaktiven Lizenzschlüssel
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
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
|
|
|
|
''' <summary>
|
|
''' Prüfung auf Änderungen, sofern das Grid "C1Lizenzschlüssel" verlassen wird
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Lizenzschluessel_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Lizenzschluessel.Leave
|
|
Try
|
|
If Me.Lizenzinformationen.Lizenzschluessel.Tabledata.HasChanges Then
|
|
UpdateGrids()
|
|
'If msg.Show_MessageYesNoCancel(801) = MsgBoxResult.Yes Then
|
|
Me.Lizenzinformationen.Lizenzschluessel.Save_Data()
|
|
'End If
|
|
End If
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
''' <summary>
|
|
''' Anzeige gem. Aktivstatus ändern
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub cbLizenzschluesselAktiv_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
Set_Lizenzschluessel_Filter()
|
|
End Sub
|
|
''' <summary>
|
|
''' Filter in der Spalte Aktiv des Grids C1Lizenzschluessel ändern
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Set_Lizenzschluessel_Filter()
|
|
Try
|
|
Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = ""
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
'Try
|
|
' Select Case Me.cbLizenzschluesselAktiv.CheckState
|
|
' Case CheckState.Checked
|
|
' Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = True
|
|
' Case CheckState.Indeterminate
|
|
' Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = ""
|
|
' Case CheckState.Unchecked
|
|
' Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = False
|
|
' End Select
|
|
'Catch ex As Exception
|
|
'End Try
|
|
End Sub
|
|
|
|
Sub UpdateGrids()
|
|
Dim bm1 As Integer
|
|
Dim bm2 As Integer
|
|
Try
|
|
bm1 = Me.C1Lizenzkäufe.Bookmark
|
|
bm2 = Me.C1Lizenzschluessel.Bookmark
|
|
Catch ex As Exception
|
|
End Try
|
|
|
|
Me.C1Lizenzkäufe.UpdateData()
|
|
Me.C1Lizenzschluessel.UpdateData()
|
|
Try
|
|
Me.C1Lizenzkäufe.Bookmark = bm1
|
|
Me.C1Lizenzschluessel.Bookmark = bm2
|
|
Catch ex As Exception
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "Buttons/Menu"
|
|
|
|
''' <summary>
|
|
''' Formular schliessen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Sicherungs-Button betätigt
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
|
|
Me.Save_data()
|
|
Me.txtMutiertam.Text = Me.Lizenz.daMutiert_am.ToString
|
|
Me.FormDataChanged = False
|
|
Dim savenr As Integer = Me.Lizenz.iLizenzNr.Value
|
|
Me.Suchen()
|
|
Me.TreeLizenzen.SelectedNode = Treeviewdata.FindNode(Me.TreeLizenzen.Nodes, savenr, "")
|
|
Try
|
|
Me.TreeLizenzen.SelectedNode.Text = Me.Lizenz.sBezeichnung.Value.ToString
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Neuer Datensatz erstellen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click
|
|
If Me.Check_Changes = False Then Exit Sub
|
|
Me.Get_Data(Me.Lizenz.Add_New)
|
|
End Sub
|
|
''' <summary>
|
|
''' Aktueller Datensatz inaktivieren
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
|
|
If msg.Show_MessageYesNo(295) = MsgBoxResult.Yes Then
|
|
Me.Lizenz.Delete_Lizenz(Me.Lizenz.iLizenzNr.Value)
|
|
Me.Close()
|
|
End If
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Menu Beenden
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
|
|
Me.TSBtnQuit_Click(sender, e)
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Vertragspartner suchen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSuche.Click
|
|
If Not Me.FormReadonly Then Check_Changes()
|
|
Dim i As Integer
|
|
Me.TSBtnFirst.Enabled = False
|
|
Me.TSBtnPrevious.Enabled = False
|
|
Me.TSBtnNext.Enabled = False
|
|
Me.TSBtnLast.Enabled = False
|
|
Suchen()
|
|
Exit Sub
|
|
|
|
Select Case Me.TsBtnSuchArt.Text
|
|
Case "Lizenz-Filter"
|
|
Treeviewdata.Load_Tree(Me.TreeLizenzen, False, Me.tstxtSuche.Text, Me.cboxNurAktive.CheckState, , Me.rbsortalpha.Checked)
|
|
Try
|
|
Me.TreeLizenzen.SelectedNode = Me.TreeLizenzen.Nodes(0)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Case "Lizenz-Suche"
|
|
If Me.tstxtSuche.Text = "" Then
|
|
treeviewdata_Suche.Load_Tree(Me.TreeLizenzen, False, Me.tstxtSuche.Text, Me.cboxNurAktive.CheckState, Me.rbsortalpha.Checked, False)
|
|
Try
|
|
Me.TreeLizenzen.SelectedNode = Me.TreeLizenzen.Nodes(0)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
Else
|
|
treeviewdata_Suche.Load_Tree(Me.TreeSuche, False, Me.tstxtSuche.Text, Me.cboxNurAktive.CheckState, Me.rbsortalpha.Checked, True)
|
|
Me.MaxSuchTreffer = treeviewdata_Suche.MaxSuchTreffer
|
|
If Me.MaxSuchTreffer > -1 Then
|
|
Me.TSBtnFirst.Enabled = True
|
|
Me.TSBtnPrevious.Enabled = True
|
|
Me.TSBtnNext.Enabled = True
|
|
Me.TSBtnLast.Enabled = True
|
|
Search_Node(0)
|
|
Else
|
|
msg.show_standardmessage(873, MsgBoxStyle.Information)
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
End Select
|
|
End Sub
|
|
|
|
Sub Suchen()
|
|
Select Case Me.TsBtnSuchArt.Text
|
|
Case "Lizenz-Filter"
|
|
Treeviewdata.Load_Tree(Me.TreeLizenzen, False, Me.tstxtSuche.Text, Me.cboxNurAktive.CheckState, , Me.rbsortalpha.Checked)
|
|
Try
|
|
Me.TreeLizenzen.SelectedNode = Me.TreeLizenzen.Nodes(0)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Case "Lizenz-Suche"
|
|
If Me.tstxtSuche.Text = "" Then
|
|
treeviewdata_Suche.Load_Tree(Me.TreeLizenzen, False, Me.tstxtSuche.Text, Me.cboxNurAktive.CheckState, Me.rbsortalpha.Checked, False)
|
|
Try
|
|
Me.TreeLizenzen.SelectedNode = Me.TreeLizenzen.Nodes(0)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
Else
|
|
treeviewdata_Suche.Load_Tree(Me.TreeSuche, False, Me.tstxtSuche.Text, Me.cboxNurAktive.CheckState, Me.rbsortalpha.Checked, True)
|
|
Me.MaxSuchTreffer = treeviewdata_Suche.MaxSuchTreffer
|
|
If Me.MaxSuchTreffer > -1 Then
|
|
Me.TSBtnFirst.Enabled = True
|
|
Me.TSBtnPrevious.Enabled = True
|
|
Me.TSBtnNext.Enabled = True
|
|
Me.TSBtnLast.Enabled = True
|
|
Search_Node(0)
|
|
Else
|
|
msg.show_standardmessage(873, MsgBoxStyle.Information)
|
|
End If
|
|
|
|
End If
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "Daten"
|
|
''' <summary>
|
|
''' Daten ab DB laden uns ins Form befüllen
|
|
''' </summary>
|
|
''' <param name="Vertragselementnr"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub Get_Data(ByVal Lizenznr As Integer)
|
|
Try
|
|
Lizenz.Get_Lizenz(Lizenznr)
|
|
Refresh_Vertragselemente(Me.Lizenz.vp.iVertragspartnerNr)
|
|
Me.txtBezeichnung.Text = Lizenz.sBezeichnung.Value
|
|
Me.txtbemerkung.Text = Lizenz.sBeschreibung.Value
|
|
|
|
Dim i As Integer = Me.cbboxParentTree.TreeView.Height
|
|
Me.cbboxParentTree.TreeView.Height = 0
|
|
Me.cbboxParentTree.TreeView.Visible = True
|
|
Me.cbboxParentTree.SelectedNode = Me.TreeParent.FindNode(Me.cbboxParentTree.TreeView.Nodes, Lizenz.iParentID.Value, "")
|
|
Application.DoEvents()
|
|
Me.cbboxParentTree.TreeView.Visible = False
|
|
Me.cbboxParentTree.TreeView.Height = i
|
|
Me.txtErstelltam.Text = Lizenz.daErstellt_am.ToString
|
|
Me.txtMutiertam.Text = Lizenz.daMutiert_am.ToString
|
|
Me.txtMutierer.Text = Lizenz.iMutierer.ToString
|
|
Try
|
|
Me.cbaktiv.Checked = Lizenz.bAktiv.Value = True
|
|
|
|
Catch ex As Exception
|
|
Me.cbaktiv.Checked = True
|
|
End Try
|
|
|
|
Me.cboxSecurityLevel.SelectedValue = Me.Lizenz.iSecurityLevelNr.Value
|
|
|
|
Me.cbboxVertragselement.SelectedValue = Me.Lizenz.ve.iVertragselementnr.Value
|
|
|
|
Me.txtVertragselement.Text = Me.Lizenz.ve.sBezeichnung.Value.ToString
|
|
Me.txtPartner.Text = Me.Lizenz.vp.sNameZ1.Value.ToString
|
|
Me.txtApplikation.Text = Me.Lizenz.ap.sBezeichnung.Value
|
|
Me.Applikationnr = Me.Lizenz.ap.iApplikationNr.Value
|
|
Me.txtvaerstelltam.Text = Me.Lizenz.va.daErstellt_am.ToString
|
|
Me.txtvamutiertam.Text = Me.Lizenz.va.daMutiert_am.ToString
|
|
Me.txtvamutierer.Text = Me.Lizenz.va.iMutierer.ToString
|
|
Me.cbvaaktiv.Checked = Me.Lizenz.va.bAktiv.Value = True
|
|
|
|
|
|
If Not Anzeige And Not Me.FormReadonly Then
|
|
For Each o As Object In Me.ToolStrip1.Items
|
|
If o.GetType.Name = "ToolStripButton" Then
|
|
o.Enabled = True
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
sec.Set_Form_Security(Me)
|
|
Me.FormDataChanged = False
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Try
|
|
For Each ctl As ToolStripButton In Me.ToolStrip1.Items
|
|
ctl.Enabled = False
|
|
Next
|
|
Catch
|
|
End Try
|
|
Me.TSBtnQuit.Enabled = True
|
|
Me.TSBtnSuche.Enabled = True
|
|
End Try
|
|
Me.FormDataChanged = False
|
|
End Sub
|
|
|
|
Private Sub Set_Checkedlistbox(ByRef clb As CheckedListBox, ByRef data As DataTable)
|
|
Dim i As Integer
|
|
For i = 0 To clb.Items.Count - 1
|
|
clb.SetItemCheckState(i, CheckState.Unchecked)
|
|
Next
|
|
|
|
Dim chk As Integer = 0
|
|
Dim ii As Integer
|
|
Dim oc As CheckedListBox.ObjectCollection = clb.Items
|
|
For i = 0 To data.Rows.Count - 1
|
|
For ii = 0 To oc.Count - 1
|
|
If oc.Item(ii).item(0) = data.Rows(i).Item(2) Then
|
|
clb.SetItemCheckState(ii, CheckState.Checked)
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
|
|
End Sub
|
|
''' <summary>
|
|
''' Daten ab Form speichern
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Save_data()
|
|
Me.FormDataChanged = False
|
|
Me.Lizenz.sBezeichnung = New SqlString(CType(Me.txtBezeichnung.Text, String))
|
|
Me.Lizenz.sBeschreibung = New SqlString(CType(Me.txtbemerkung.Text, String))
|
|
Me.Lizenz.iParentID = New SqlInt32(CType(Me.cbboxParentTree.SelectedNode.Tag, Int32))
|
|
Me.Lizenz.iSecurityLevelNr = New SqlInt32(CType(Me.cboxSecurityLevel.SelectedValue, Int32))
|
|
Me.Lizenz.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked, Boolean))
|
|
Me.Lizenz.Save_Data()
|
|
End Sub
|
|
|
|
Private Function Get_CheckedItems(ByRef clb As CheckedListBox) As String
|
|
End Function
|
|
#End Region
|
|
|
|
#Region "Security"
|
|
''' <summary>
|
|
''' Laden der Securitylevel-Daten in die Combobox
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Load_Securitylevel()
|
|
Dim seclevel As New TKB.VV.DB.clsSecurityLevel
|
|
Dim secleveldata As New DataTable
|
|
|
|
seclevel.cpMainConnectionProvider = Globals.conn
|
|
Globals.conn.OpenConnection()
|
|
secleveldata = seclevel.SelectAll
|
|
Globals.conn.CloseConnection(True)
|
|
|
|
Me.cboxSecurityLevel.DataSource = secleveldata
|
|
Me.cboxSecurityLevel.DisplayMember = "Bezeichnung"
|
|
Me.cboxSecurityLevel.ValueMember = "SecurityLevelNr"
|
|
|
|
seclevel.Dispose()
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "Suche"
|
|
Dim SearchRecID As Integer = 0
|
|
Dim Found As Boolean = False
|
|
Dim Foundnode As TreeNode
|
|
Private Function Search_Node(ByVal recid As Integer) As Boolean
|
|
Dim suchtext As String = "*** " + Trim(Str(recid))
|
|
Found = False
|
|
Dim nodeX As TreeNode
|
|
For Each nodeX In Me.TreeSuche.Nodes
|
|
If Tranverse_Nodes1(Me.TreeSuche, nodeX, Suchtext) Then
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Found = True Then
|
|
Found = False
|
|
SearchNode(Foundnode.Text)
|
|
|
|
If Found Then
|
|
Me.TreeLizenzen.SelectedNode = Foundnode
|
|
Me.TreeLizenzen.Focus()
|
|
End If
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Function SearchNode(ByVal Suchtext As String) As Boolean
|
|
Found = False
|
|
Dim nodeX As TreeNode
|
|
For Each nodeX In Me.TreeLizenzen.Nodes
|
|
If TranverseNodes1(Me.TreeLizenzen, nodeX, Suchtext) Then
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Found = True Then
|
|
Me.TreeLizenzen.SelectedNode = Me.Foundnode
|
|
Me.TreeLizenzen.Focus()
|
|
End If
|
|
End Function
|
|
|
|
Private Function Tranverse_Nodes1(ByVal tv As TreeView, ByVal selectedNode As TreeNode, ByVal SearchObject As String) As Boolean
|
|
Dim nodeX As TreeNode
|
|
If selectedNode.Tag = SearchObject Then
|
|
Me.Foundnode = selectedNode
|
|
Found = True
|
|
Tranverse_Nodes1 = True
|
|
Exit Function
|
|
End If
|
|
For Each nodeX In selectedNode.Nodes
|
|
Try
|
|
If nodeX.Tag = SearchObject Then
|
|
nodeX.Expand()
|
|
Me.Foundnode = nodeX
|
|
Found = True
|
|
Tranverse_Nodes1 = True
|
|
Exit Function
|
|
Else
|
|
Tranverse_Nodes1(tv, nodeX, SearchObject)
|
|
End If
|
|
Catch
|
|
If nodeX.Text = Trim(Str(SearchObject)) Then
|
|
nodeX.Expand()
|
|
Me.Foundnode = nodeX
|
|
Found = True
|
|
Tranverse_Nodes1 = True
|
|
Exit Function
|
|
Else
|
|
Tranverse_Nodes1(tv, nodeX, SearchObject)
|
|
End If
|
|
End Try
|
|
|
|
Next
|
|
End Function
|
|
Private Function TranverseNodes1(ByVal tv As TreeView, ByVal selectedNode As TreeNode, ByVal SearchObject As String) As Boolean
|
|
If selectedNode.Text = SearchObject Then
|
|
Me.Foundnode = selectedNode
|
|
Found = True
|
|
TranverseNodes1 = True
|
|
Exit Function
|
|
End If
|
|
Dim nodeX As TreeNode
|
|
For Each nodeX In selectedNode.Nodes
|
|
Try
|
|
If nodeX.Text = SearchObject Then
|
|
nodeX.Expand()
|
|
Me.Foundnode = nodeX
|
|
Found = True
|
|
TranverseNodes1 = True
|
|
Exit Function
|
|
Else
|
|
TranverseNodes1(tv, nodeX, SearchObject)
|
|
End If
|
|
Catch
|
|
If nodeX.Text = Trim(Str(SearchObject)) Then
|
|
nodeX.Expand()
|
|
Me.Foundnode = nodeX
|
|
Found = True
|
|
TranverseNodes1 = True
|
|
Exit Function
|
|
Else
|
|
TranverseNodes1(tv, nodeX, SearchObject)
|
|
End If
|
|
End Try
|
|
|
|
Next
|
|
End Function
|
|
#End Region
|
|
|
|
#Region "Vertragselement-Applikation"
|
|
Private Sub btnVertragspartnersuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVertragspartnersuche.Click
|
|
If ve.Vertragspartner_suchen(Me.Aktueller_Vertragspartner, Me.txtPartner) Then
|
|
Me.Refresh_Vertragselemente(Me.Aktueller_Vertragspartner)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Refresh_Vertragselemente(ByVal Vertragspartnernr As Integer)
|
|
Dim dt As New DataTable
|
|
dt = ve.Get_Lizenzvertragselemente(Vertragspartnernr)
|
|
Me.cbboxVertragselement.DataSource = Nothing
|
|
Me.cbboxVertragselement.DataSource = dt
|
|
Me.cbboxVertragselement.ValueMember = "Vertragselementnr"
|
|
Me.cbboxVertragselement.DisplayMember = "Bezeichnung"
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
|
|
Dim f As New frmVertragselementApplikation(Me.Lizenz.ve.iVertragselementnr.Value, True)
|
|
f.ShowDialog()
|
|
If f.SelectedApplication <> Me.Applikationnr And f.SelectedApplication > 0 Then
|
|
Me.Applikationnr = f.SelectedApplication
|
|
Dim ap As New TKB.VV.DB.clsApplikation
|
|
ap.iApplikationNr = New SqlInt32(CType(Me.Applikationnr, Int32))
|
|
ap.cpMainConnectionProvider = Globals.conn
|
|
ap.SelectOne()
|
|
Me.txtApplikation.Text = ap.sBezeichnung.Value
|
|
End If
|
|
'If Me.ApplikationNr = -1 Then
|
|
' Me.btnApplikationSelect.Enabled = False
|
|
'Else
|
|
' Me.btnApplikationSelect.Enabled = True
|
|
'End If
|
|
'If Me.txtApplikation.Text <> "" Then Me.btnNeueVersion.Enabled = True
|
|
'Me.refresh_applikationen()
|
|
End Sub
|
|
End Class |