Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports C1.Win.C1TrueDBGrid Namespace TKB.VV.Lizenz Public Class clsLizenz Inherits TKB.VV.DB.clsLizenz Public ve As New TKB.VV.vertrag.clsVertragselement Public vp As New TKB.VV.vertrag.clsVertragspartner Public va As New TKB.VV.vertrag.clsVertragselementApplikation Public ap As New TKB.VV.Applikation.clsApplikation Public VEAP As New DataSet Dim mMutierer As String Property MutiererText() As String Get Return mMutierer End Get Set(ByVal value As String) mMutierer = value End Set End Property Public Overloads Sub dispose() MyBase.Dispose() Try ve.dispose() vp.dispose() va.dispose() ap.dispose() Catch ex As Exception End Try End Sub Public Function get_umgebung(ByVal lizenznr As Integer) Try va.cpMainConnectionProvider = Globals.conn va.iVertragselementApplikationnr = New SqlInt32(CType(Me.iVertragselementApplikationnr, Int32)) va.SelectOne() ve.cpMainConnectionProvider = Globals.conn ve.iVertragselementnr = New SqlInt32(CType(va.iVertragselementnr.Value, Int32)) ve.SelectOne() vp.cpMainConnectionProvider = Globals.conn vp.iVertragspartnerNr = New SqlInt32(CType(ve.iVertragspartnerNr.Value, Int32)) vp.SelectOne() ap.cpMainConnectionProvider = Globals.conn ap.iApplikationNr = New SqlInt32(CType(va.iApplikationnr.Value, Int32)) ap.SelectOne() Catch End Try End Function Public Function Get_Lizenz(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iLizenzNr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.SelectOne() get_umgebung(Me.iLizenzNr.Value) Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) Globals.conn.CloseConnection(True) End Function Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Return Me.iLizenzNr.Value End Function ''' ''' Mutierer auslesen ''' ''' ''' Public Function Get_Mutierer(ByVal nr As Integer) As String Dim ma As New TKB.VV.DB.clsMitarbeiter Dim dt As New DataTable Dim Retvalue As String ma.cpMainConnectionProvider = Globals.conn ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) dt = ma.SelectOne() If dt.Rows.Count = 0 Then Retvalue = ("{" + nr.ToString + "}") Else Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString End If ma.Dispose() dt.Dispose() Return Retvalue End Function ''' ''' Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_Lizenz(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Lizenz(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Löschen eines Datensatzes . ''' ''' ''' ''' Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Lizenz(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(Optional ByVal Parentid As Integer = 0) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("Lizenz") db.Dispose() Me.iLizenzNr = New SqlInt32(CType(newkey, Int32)) Me.sBezeichnung = New SqlString(CType("*** Neues Element ***", String)) Me.sBeschreibung = New SqlString(CType("", String)) Me.iParentID = New SqlInt32(CType(0, Int32)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.iSecurityLevelNr = New SqlInt32(CType(0, Int32)) Me.bStrukturelement = New SqlBoolean(CType(False, Boolean)) Me.cpMainConnectionProvider = Globals.conn Me.iVertragselementApplikationnr = New SqlInt32(CType(0, Int32)) If Parentid <> 0 Then Me.iParentID = New SqlInt32(CType(Parentid, Int32)) End If Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function Public Function Get_Vertragselement_Applikation(ByVal Lizenznr As Integer) As DataTable Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) Me.VEAP.Tables.Clear() selectcommand.CommandText = "sp_get_lizenz_vertragselement_applikation" selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@Lizenznr", SqlDbType.Int, 4) selectcommand.Parameters(0).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value selectcommand.Parameters(1).Value = Lizenznr selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(VEAP, "VeAe") Return VEAP.Tables(0) Catch ex As Exception Return Nothing Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function End Class Public Class clsLizenzTree Public MaxSuchTreffer As Integer Dim Treedata As New DataSet ''' ''' Laden der Treedaten und Tree aufbauen ''' ''' ''' ''' Public Function Load_Tree(ByRef tree As TreeView, Optional ByVal Insert_Initial_Entry As Boolean = False, Optional ByVal suchstring As String = "", Optional ByVal status As Integer = 2, Optional ByVal alphasort As Boolean = False, Optional ByVal suche As Boolean = False, Optional ByVal Applikationnr As Integer = 0, Optional ByVal Lizenztyp As Integer = 0) tree.Enabled = False tree.BeginUpdate() If suchstring <> "" Then Load_Treedata(suchstring, status, alphasort, suche) Else Load_Treedata(status, alphasort, Applikationnr, Lizenztyp) End If tree.Nodes.Clear() If Insert_Initial_Entry Then Dim tn As TreeNode = tree.Nodes.Add("--- Keine ---") tn.Tag = 0 End If Load_Treeview(Treedata, tree, suche) Me.MaxSuchTreffer = Me.TreeaufbauNr tree.ExpandAll() tree.EndUpdate() tree.Enabled = True End Function ''' ''' Treedaten ab Datenbank laden ''' ''' ''' Private Function Load_Treedata(ByVal status As Integer, ByVal alphasort As Boolean) As DataTable Treedata.Tables.Clear() Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_get_Lizenzstruktur" selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@NurAktive", SqlDbType.Int, 4) selectcommand.Parameters.Add("@Alphasort", SqlDbType.Int, 4) selectcommand.Parameters(0).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value selectcommand.Parameters(1).Value = status If alphasort = True Then selectcommand.Parameters(2).Value = 1 Else selectcommand.Parameters(2).Value = 0 selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(Treedata, "Tree") Catch ex As Exception Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function Private Function Load_Treedata(ByVal status As Integer, ByVal alphasort As Boolean, ByVal Applikationnr As Integer, ByVal lizenztyp As Integer) As DataTable Treedata.Tables.Clear() Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_get_Lizenzstruktur" selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@NurAktive", SqlDbType.Int, 4) selectcommand.Parameters.Add("@Alphasort", SqlDbType.Int, 4) selectcommand.Parameters.Add("@Applikationnr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@Lizenztyp", SqlDbType.Int, 4) selectcommand.Parameters(0).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value selectcommand.Parameters(1).Value = status selectcommand.Parameters(1).Value = 0 selectcommand.Parameters(3).Value = Applikationnr selectcommand.Parameters(4).Value = lizenztyp If alphasort = True Then selectcommand.Parameters(2).Value = 1 Else selectcommand.Parameters(2).Value = 0 selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(Treedata, "Tree") Catch ex As Exception Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function Private Function Load_Treedata(ByVal Suchstring As String, ByVal status As Integer, ByVal alphasort As Boolean, Optional ByVal suche As Boolean = False) As DataTable Treedata.Tables.Clear() Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_get_Lizenzstruktur_suche" selectcommand.Parameters.Add("@suchstring", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@nuraktive", SqlDbType.Int, 4) selectcommand.Parameters.Add("@alphasort", SqlDbType.Int, 4) selectcommand.Parameters.Add("@suche", SqlDbType.Int, 4) selectcommand.Parameters(1).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value selectcommand.Parameters(0).Value = Suchstring selectcommand.Parameters(2).Value = status If alphasort = True Then selectcommand.Parameters(3).Value = 1 Else selectcommand.Parameters(3).Value = 0 If suche = True Then selectcommand.Parameters(4).Value = 1 Else selectcommand.Parameters(4).Value = 0 selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(Treedata, "Tree") Catch ex As Exception Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function ''' ''' Interne Relation aufbauen und Tree aufbauen ''' ''' ''' ''' Dim TreeaufbauSuche As Boolean = False Dim TreeaufbauNr As Integer = 0 Private Sub Load_Treeview(ByVal oSourceData As DataSet, ByRef tree As TreeView, ByVal suche As Boolean) TreeaufbauSuche = suche TreeaufbauNr = -1 If Not (oSourceData Is Nothing) Then Dim oView As DataView = oSourceData.Tables(0).DefaultView Dim oTable As DataTable = oView.Table Dim oDS As DataSet = New DataSet() oDS.Tables.Add(oTable.Copy()) Try If oDS.Relations.Contains("SelfRefenceRelation") = False Then oDS.Relations.Add("SelfRefenceRelation", _ oDS.Tables(0).Columns("Lizenznr"), _ oDS.Tables(0).Columns("Parentid")) End If Catch ex As Exception MsgBox(ex.Message) End Try oTable.Dispose() oTable = Nothing LoadTreeView(oDS, tree) oDS.Dispose() oDS = Nothing End If End Sub Public Sub Load_Treeview(ByRef tree As TreeView, Optional ByVal suche As Boolean = False) Dim oSourceData As New DataSet oSourceData = Treedata TreeaufbauSuche = suche TreeaufbauNr = -1 If Not (oSourceData Is Nothing) Then Dim oView As DataView = oSourceData.Tables(0).DefaultView Dim oTable As DataTable = oView.Table Dim oDS As DataSet = New DataSet() oDS.Tables.Add(oTable.Copy()) Try If oDS.Relations.Contains("SelfRefenceRelation") = False Then oDS.Relations.Add("SelfRefenceRelation", _ oDS.Tables(0).Columns("Lizenznr"), _ oDS.Tables(0).Columns("Parentid")) End If Catch ex As Exception MsgBox(ex.Message) End Try oTable.Dispose() oTable = Nothing LoadTreeView(oDS, tree) oDS.Dispose() oDS = Nothing End If End Sub ''' ''' Tree aufbauen ''' ''' ''' ''' Private Sub LoadTreeView(ByVal oDS As DataSet, ByRef oTreeview As TreeView) 'Dim oTreeView As TreeView = New TreeView() Dim oDataRow As DataRow For Each oDataRow In oDS.Tables(0).Rows If Not oDataRow.IsNull("Parentid") Then If oDataRow.Item("Parentid") = 0 Then 'If oDataRow.IsNull("Parentid") Then Dim oNode As New TreeNode() oNode.Text = oDataRow("Bezeichnung").ToString() oNode.Tag = oDataRow("Lizenznr").ToString If Me.TreeaufbauSuche = True Then If oDataRow("Treffer").ToString = "*" Then Me.TreeaufbauNr = Me.TreeaufbauNr + 1 oNode.Tag = "*** " + Trim(Str(Me.TreeaufbauNr)) End If End If If Me.TreeaufbauSuche = False Then If oNode.Tag < 0 Then oNode.ImageIndex = 0 oNode.SelectedImageIndex = 0 oNode.StateImageIndex = 0 Else If oDataRow.Item("Aktiv") = 0 Then oNode.ImageIndex = 3 oNode.SelectedImageIndex = 3 oNode.StateImageIndex = 3 If oDataRow.Item("Strukturelement") = True Then oNode.ImageIndex = 1 oNode.SelectedImageIndex = 1 oNode.StateImageIndex = 1 End If Else oNode.ImageIndex = 2 oNode.SelectedImageIndex = 2 oNode.StateImageIndex = 2 If oDataRow.Item("Strukturelement") = True Then oNode.ImageIndex = 0 oNode.SelectedImageIndex = 0 oNode.StateImageIndex = 0 End If End If End If End If oTreeview.Nodes.Add(oNode) RecursivelyLoadTree(oDataRow, oNode) End If End If Next oDataRow oDS.Dispose() oDS = Nothing End Sub ''' ''' Child-Nodes hinzufügen ''' ''' ''' ''' Private Sub RecursivelyLoadTree(ByVal oDataRow As DataRow, ByRef oNode As TreeNode) Dim oChildRow As DataRow For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation") Dim oChildNode As New TreeNode() oChildNode.Text = oChildRow("Bezeichnung").ToString() oChildNode.Tag = oChildRow("Lizenznr").ToString() If Me.TreeaufbauSuche = True Then If oChildRow("Treffer").ToString = "*" Then Me.TreeaufbauNr = Me.TreeaufbauNr + 1 oChildNode.Tag = "*** " + Trim(Str(Me.TreeaufbauNr)) End If End If If oChildRow.Item("Aktiv") = False Then oChildNode.ImageIndex = 3 oChildNode.SelectedImageIndex = 3 oChildNode.StateImageIndex = 3 If oChildRow.Item("Strukturelement") = True Then oChildNode.ImageIndex = 0 oChildNode.SelectedImageIndex = 0 oChildNode.StateImageIndex = 0 End If Else oChildNode.ImageIndex = 2 oChildNode.SelectedImageIndex = 2 oChildNode.StateImageIndex = 2 If oChildRow.Item("Strukturelement") = True Then oChildNode.ImageIndex = 0 oChildNode.SelectedImageIndex = 0 oChildNode.StateImageIndex = 0 End If End If oNode.Nodes.Add(oChildNode) RecursivelyLoadTree(oChildRow, oChildNode) Next oChildRow End Sub Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode Dim tmpNode As TreeNode For Each _child As TreeNode In _nodeCollection If _child.Tag = SearchVal Then Return _child End If tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) If Not tmpNode Is Nothing Then Return tmpNode End If Next Return Nothing End Function End Class ''' ''' Klasse für die Verwaltung der Lizenzinformationen eines Vertragselementes bzw. einer Applikation ''' ''' Public Class clsLizenzinformationen ''' ''' Domaintable für Lizenkauf ''' ''' Public Lizenzkauf As TKB.VV.Sysadmin.DomainTable ''' ''' Domaintable für Lizenzschlüssel ''' ''' Public Lizenzschluessel As TKB.VV.Sysadmin.DomainTable ''' ''' Destructor Dispose für umd die beiden Domaintables frei zu geben ''' ''' Sub Dispose() If Me.Lizenzkauf.Tabledata.HasChanges Then Dim msg As New TKB.VV.Utils.MyMessage If msg.Show_MessageYesNoCancel(800) = MsgBoxResult.Yes Then Me.Lizenzkauf.Save_Data() End If msg.dispose() End If Me.Lizenzkauf.dispose() Me.Lizenzkauf = Nothing If Me.Lizenzschluessel.Tabledata.HasChanges Then Dim msg As New TKB.VV.Utils.MyMessage If msg.Show_MessageYesNoCancel(801) = MsgBoxResult.Yes Then Me.Lizenzkauf.Save_Data() End If msg.dispose() End If Me.Lizenzschluessel.dispose() Me.Lizenzschluessel = Nothing End Sub ''' ''' Laufinformationen eines Lizenz-Vertragselementes auslesen und dem Grid übergeben ''' ''' Nr. Des Lizenz-Vertragselementes ''' C1TrueDBGrid ''' ''' Public Function Get_Lizenzkauf(ByVal Vertragselementapplikationnr As Integer, ByRef c1data As C1TrueDBGrid) Try Me.Lizenzkauf.dispose() Me.Lizenzkauf = Nothing Catch ex As Exception End Try Me.Lizenzkauf = New TKB.VV.Sysadmin.DomainTable("Lizenzkauf", 0, Vertragselementapplikationnr, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = Me.Lizenzkauf.Tabledata c1data.DataMember = Me.Lizenzkauf.Tabledata.Tables(0).TableName c1data.AllowAddNew = True End Function ''' ''' Daten der Domaintable Lizenzkauf sichern ''' ''' Public Sub Save_Lizenzkauf() Me.Lizenzkauf.Save_Data() End Sub Public Function Get_Lizenzschluessel(ByVal Lizenzkaufnr As Integer, ByRef c1data As C1TrueDBGrid) Try Me.Lizenzschluessel.dispose() Me.Lizenzschluessel = Nothing Catch ex As Exception End Try Me.Lizenzschluessel = New TKB.VV.Sysadmin.DomainTable("Lizenzschluessel", 0, Lizenzkaufnr, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = Me.Lizenzschluessel.Tabledata.Tables(0) c1data.DataMember = Me.Lizenzschluessel.Tabledata.Tables(0).TableName c1data.AllowAddNew = True End Function Public Sub Save_Lizenzschluessel() Me.Lizenzkauf.Save_Data() End Sub Public Function Check_Vertragstyp_Fuer_Lizenz(ByVal Vertragstypnr As Integer) As Boolean Dim vertragstyp As New TKB.VV.DB.clsVertragstyp vertragstyp.cpMainConnectionProvider = Globals.conn vertragstyp.iVertragstypnr = New SqlInt32(CType(Vertragstypnr, Int32)) vertragstyp.SelectOne() If vertragstyp.bAlsLizenz.Value = True Then Return True Else Return False End Function Public Function aktive_lizenzinformationen_vorhanden(ByVal vertragselement As Integer) As Boolean If Get_Lizenzen(vertragselement) > 0 Then Return True Else Return False End Function Public Function aktive_lizenzinformationen_vorhanden(ByVal vertragselementapplikationnr As Integer, ByVal inaktivieren As Boolean) As Boolean If inaktivieren = False Then If Get_Lizenzen(vertragselementapplikationnr, "Get1") > 0 Then Return True Else Return False Else Get_Lizenzen(vertragselementapplikationnr, "Del") End If End Function Private Function Get_Lizenzen(ByVal vertragselementnr As Integer, Optional ByVal fnkt As String = "Get") As Integer Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_Check_lizenzkauf" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@vertragselementnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, vertragselementnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Anzahl", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) sdaAdapter.Fill(dtToReturn) Return scmCmdToExecute.Parameters("@anzahl").Value Catch ex As Exception Throw New Exception("clsParentelemente::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() dtToReturn.Dispose() End Try End Function End Class Public Class clsLizenzVertragselementApplikation Inherits TKB.VV.DB.clsLizenzVertragselementApplikation Public Sub Get_Data(ByVal BaseNr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iLizenzVEApplNr = New SqlInt32(CType(basenr, SqlInt32)) Globals.conn.OpenConnection() Me.SelectOne() Globals.conn.CloseConnection(True) End Sub Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Return Me.iLizenzNr.Value End Function ''' ''' Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_LizenzVertragselementApplikation(Optional ByVal Basenr As Integer = 0) As Integer Me.cpMainConnectionProvider = Globals.conn If Basenr > 0 Then Get_Data(Basenr) Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Löschen eines Datensatzes . ''' ''' ''' ''' Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer If Basenr > 0 Then Get_Data(Basenr) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(ByVal Lizenznr As Integer, ByVal VertragselementApplikationnr As Integer) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("LizenzVertragselementApplikation") db.Dispose() Me.iLizenzVEApplNr = New SqlInt32(CType(newkey, Int32)) Me.iVertragselementApplikationNr = New SqlInt32(CType(VertragselementApplikationnr, Int32)) Me.iLizenznr = New SqlInt32(CType(Lizenznr, Int32)) Me.sBemerkung = New SqlString(CType("", String)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.cpMainConnectionProvider = Globals.conn 'Me.iVertragselementApplikationNr = New SqlInt32(CType(0, Int32)) Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function End Class Public Class clsLizenzkauf Inherits TKB.VV.DB.clsLizenzkauf Public Sub Get_Data(ByVal BaseNr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iLizenzkaufNr = New SqlInt32(CType(BaseNr, SqlInt32)) Globals.conn.OpenConnection() Me.SelectOne() Globals.conn.CloseConnection(True) End Sub Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_Lizenzkauf(Optional ByVal Basenr As Integer = 0) As Integer Me.cpMainConnectionProvider = Globals.conn If Basenr > 0 Then Get_Data(Basenr) Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Löschen eines Datensatzes . ''' ''' ''' ''' Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer If Basenr > 0 Then Get_Data(Basenr) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(ByVal Lizenznr As Integer) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("Lizenzkauf") db.Dispose() Me.iLizenzkaufNr = New SqlInt32(CType(newkey, Int32)) Me.iLizenznr = New SqlInt32(CType(Lizenznr, Int32)) Me.sBemerkung = New SqlString(CType("", String)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function Public Function Get_Lizenzkauf(ByVal Lizenznr As Integer) As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_get_lizenz_lizenzkauf" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@lizenznr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Lizenznr)) sdaAdapter.Fill(dtToReturn) Return dtToReturn Catch ex As Exception Throw New Exception("clsParentelemente::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() dtToReturn.Dispose() End Try End Function End Class Public Class ClsLizenzschluessel Inherits TKB.VV.DB.clsLizenzschluessel Public Sub Get_Data(ByVal BaseNr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iLizenzschluesselnr = New SqlInt32(CType(BaseNr, Int32)) Globals.conn.OpenConnection() Me.SelectOne() Globals.conn.CloseConnection(True) End Sub Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_Lizenzschluessel(Optional ByVal Basenr As Integer = 0) As Integer Me.cpMainConnectionProvider = Globals.conn If Basenr > 0 Then Get_Data(Basenr) Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(ByVal Lizenzkaufnr As Integer) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("LizenzSchluessel") db.Dispose() Me.iLizenzschluesselnr = New SqlInt32(CType(newkey, Int32)) Me.iLizenzkaufnr = New SqlInt32(CType(Lizenzkaufnr, Int32)) Me.sBemerkung = New SqlString(CType("", String)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function End Class End Namespace