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.

114 lines
5.5 KiB

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
#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