Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Namespace edokadb Public Class clsMySysadminfunkion Inherits edokadb.clsSysadminfunktion #Region "Select Hierarchy" Public Function SelectHierarchy() As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() 'scmCmdToExecute.CommandText = "dbo.[sp_sysadminfunktion_hierarchie]" scmCmdToExecute.CommandText = "dbo.[sp_get_sysadmin_tree]" scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = New DataTable("sysadminfunktion") Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) ' // Use base class' connection object scmCmdToExecute.Connection = m_scoMainConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iroot", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Sprache)) scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MandantNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) If m_bMainConnectionIsCreatedLocal Then ' // Open connection. m_scoMainConnection.Open() Else If m_cpMainConnectionProvider.bIsTransactionPending Then scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction End If End If ' // Execute query. sdaAdapter.Fill(dtToReturn) m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then ' // Throw error. Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) End If Return dtToReturn Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("clsSysadminfunktion::SelectAll::Error occured." + ex.Message, ex) Finally If m_bMainConnectionIsCreatedLocal Then ' // Close connection. m_scoMainConnection.Close() End If scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Public Function Check_for_MenuEntries() As Boolean Dim tmpdata As New DataTable tmpdata = Me.SelectHierarchy If tmpdata.Rows.Count > 0 Then Return True Else Return False tmpdata.Dispose() End Function #End Region #Region "LoadTreeMenu" Public Sub LoadTreeMenu(ByVal otv As TreeView) Dim menueintraege As New clsMySysadminfunkion() Dim menudata As DataTable Dim i As Integer Dim m_collDeletedNodes As Collection Dim collNodeKeys As New Collection() Dim tnNew As TreeNode Dim tnParent As TreeNode m_collDeletedNodes = Nothing m_collDeletedNodes = New Collection() menueintraege.cpMainConnectionProvider = conn menudata = menueintraege.SelectHierarchy For i = 0 To menudata.Rows.Count - 1 If menudata.Rows(i).Item("ParentID") = 0 Then tnNew = otv.Nodes.Add(menudata.Rows(i).Item("bezeichnung")) With tnNew .Tag() = menudata.Rows(i).Item("sysadminfnktnr") .ImageIndex() = menudata.Rows(i).Item("ImageIndex") .SelectedImageIndex() = menudata.Rows(i).Item("ImageIndexOpen") End With Try collNodeKeys.Add(tnNew, CType(menudata.Rows(i).Item("sysadminfnktnr"), String)) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) End Try Else Try tnParent = CType(collNodeKeys.Item(CType(menudata.Rows(i).Item("ParentID"), String)), TreeNode) tnNew = tnParent.Nodes.Add(CType(menudata.Rows(i).Item("bezeichnung"), String)) With tnNew .Tag() = CType(menudata.Rows(i).Item("sysadminfnktnr"), String) .ImageIndex() = menudata.Rows(i).Item("ImageIndex") .SelectedImageIndex() = menudata.Rows(i).Item("ImageIndexOpen") End With collNodeKeys.Add(tnNew, CType(menudata.Rows(i).Item("sysadminfnktnr"), String)) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) End Try End If Next End Sub #End Region End Class End Namespace