Initial commit
This commit is contained in:
375
SW/AssessmentMgmt/Sysadmin/frmSysadminMenu.vb
Normal file
375
SW/AssessmentMgmt/Sysadmin/frmSysadminMenu.vb
Normal file
@@ -0,0 +1,375 @@
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Data.SqlTypes
|
||||
Imports System.Drawing
|
||||
Imports System.Drawing.Color
|
||||
Imports System.IO
|
||||
Public Class frmSysadminMenu
|
||||
|
||||
#Region "Deklarationen"
|
||||
Const CtrlMask As Byte = 8
|
||||
Dim todelete(50) As Integer
|
||||
Dim itodelete As Integer
|
||||
Dim ssort As Integer
|
||||
|
||||
Dim msg As New Utils.MyMessage
|
||||
#End Region
|
||||
|
||||
#Region "Formular"
|
||||
''' <summary>
|
||||
''' Load des Formulars
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub FrmSysadminMenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
Dim menu As New db.clsMySysadminfunkion()
|
||||
menu.LoadTreeMenu(SysMenuTree)
|
||||
SysMenuTree.ExpandAll()
|
||||
itodelete = 0
|
||||
Me.SysMenuTree.ContextMenu = Me.ContextMenu1
|
||||
Me.Height = Me.Parent.ClientSize.Height
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Doppelklick auf einen Eintrag: Es wird geprüft, ob in der Tabelle SysadminFunktion im Attribut DomainTable
|
||||
''' einen Wert vorhanden ist. Sofern dies der Fall ist, wird der generelle Domain-Table-Editor aufgerufen
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub SysMenuTree_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SysMenuTree.DoubleClick
|
||||
Dim sysadmfnkt As New db.clsSysadminfunktion
|
||||
Dim wert As String
|
||||
wert = Me.SysMenuTree.SelectedNode.Tag
|
||||
If IsNumeric(wert) Then
|
||||
sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(wert, Int32))
|
||||
sysadmfnkt.cpMainConnectionProvider = Globals.conn
|
||||
Globals.conn.OpenConnection()
|
||||
sysadmfnkt.SelectOne()
|
||||
Globals.conn.CloseConnection(True)
|
||||
If sysadmfnkt.sDomaintable.Value.IndexOf(";") > -1 Then
|
||||
'Verbindungseditor
|
||||
Dim s As String = sysadmfnkt.sDomaintable.Value
|
||||
Dim sArray() As String = s.Split(";")
|
||||
Dim f As New FrmVerbindungEditor(sArray(0), sArray(1), sArray(2), sysadmfnkt.iSysadminfnktnr.Value)
|
||||
f.Width = sysadmfnkt.iFwidth.Value
|
||||
f.Height = sysadmfnkt.iFheight.Value
|
||||
f.Top = sysadmfnkt.iFtop.Value
|
||||
f.Left = sysadmfnkt.iFleft.Value
|
||||
f.MdiParent = Me.MdiParent
|
||||
f.Text = "Verbindungseditor: " + Me.SysMenuTree.SelectedNode.Text
|
||||
f.Show()
|
||||
Else
|
||||
'20090810 - Externe Tabellen mit dem Domaineditor mutieren
|
||||
If sysadmfnkt.sDomaintable.Value.IndexOf(":") > -1 Then
|
||||
Dim s As String = sysadmfnkt.sDomaintable.Value
|
||||
Dim sarray() As String = s.Split(":")
|
||||
Dim ofile As System.IO.File
|
||||
Dim oread As System.IO.StreamReader
|
||||
Dim scstring As String
|
||||
oread = ofile.OpenText(Application.StartupPath + "\" + sarray(0))
|
||||
sCString = oread.ReadLine
|
||||
scstring = Crypto.DecryptText(scstring, "HutterundMueller")
|
||||
scstring = Microsoft.VisualBasic.Left(scstring, Len(scstring) - 1)
|
||||
oread.Close()
|
||||
|
||||
Dim f As New frmDomainEditorExtTables(sarray(1), scstring)
|
||||
f.MdiParent = Me.MdiParent
|
||||
f.Text = "TicketXPert-Tabelle:" + sarray(1)
|
||||
f.Show()
|
||||
Else
|
||||
'Einzelne Domaintable
|
||||
|
||||
If sysadmfnkt.sDomaintable.Value = "ToolTip-Editor" Then
|
||||
Dim f As New FrmToolTipEditor
|
||||
f.MdiParent = Me.MdiParent
|
||||
f.Show()
|
||||
Exit Sub
|
||||
End If
|
||||
If sysadmfnkt.sDomaintable.Value <> "" Then
|
||||
Dim f As New frmDomainEditor(sysadmfnkt.sDomaintable.Value)
|
||||
f.MdiParent = Me.MdiParent
|
||||
f.Width = sysadmfnkt.iFwidth.Value
|
||||
f.Height = sysadmfnkt.iFheight.Value
|
||||
f.Top = sysadmfnkt.iFtop.Value
|
||||
f.Left = sysadmfnkt.iFleft.Value
|
||||
f.Text = "Tabellen-Editor: " + Me.SysMenuTree.SelectedNode.Text
|
||||
f.Show()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
sysadmfnkt.Dispose()
|
||||
End If
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' Schliessen des Formulares
|
||||
''' </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.Close()
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Fenster 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
|
||||
#End Region
|
||||
|
||||
#Region "SysMenuTree"
|
||||
''' <summary>
|
||||
''' Neuer Eintrag im Menu einfügen
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub MnuNeuerKnoten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuNeuerKnoten.Click
|
||||
Dim a As String
|
||||
Dim tn As New TreeNode()
|
||||
Dim tnnew As New TreeNode()
|
||||
a = InputBox(msg.Get_Meldungstext(100))
|
||||
If a = "" Then Exit Sub
|
||||
tn = Me.SysMenuTree.SelectedNode
|
||||
tnnew = tn.Nodes.Add(a)
|
||||
With tnnew
|
||||
.Tag() = 0
|
||||
.ImageIndex() = 3
|
||||
.SelectedImageIndex() = 3
|
||||
End With
|
||||
tn.ImageIndex = 1
|
||||
tn.SelectedImageIndex = 2
|
||||
If tn.GetNodeCount(True) > 0 Then
|
||||
tn.ImageIndex = 1
|
||||
tn.SelectedImageIndex = 2
|
||||
End If
|
||||
Me.SysMenuTree.Refresh()
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' Eintrag im Menu löschen
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub MnuKnotenLoeschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuKnotenLoeschen.Click
|
||||
Dim tn As New TreeNode()
|
||||
Dim tnp As New TreeNode()
|
||||
Dim i As Integer
|
||||
tn = Me.SysMenuTree.SelectedNode
|
||||
tnp = tn.Parent
|
||||
If Not (Me.SysMenuTree.SelectedNode Is Nothing) Then
|
||||
itodelete = itodelete + 1
|
||||
todelete(itodelete) = tn.Tag
|
||||
If msg.Show_MessageYesNo(101) = MsgBoxResult.Yes Then
|
||||
tn.Remove()
|
||||
End If
|
||||
If tnp.GetNodeCount(True) = 0 Then
|
||||
tnp.ImageIndex = 3
|
||||
tnp.SelectedImageIndex = 3
|
||||
End If
|
||||
Me.SysMenuTree.Refresh()
|
||||
End If
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' Umbenennen des aktuellen Menu-Eintrages
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub MenuKnotenRename_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuKnotenRename.Click
|
||||
Dim a As String
|
||||
a = InputBox("Neuer Name:")
|
||||
If a = "" Then Exit Sub
|
||||
Me.SysMenuTree.SelectedNode.Text = a
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' Menu Sichern
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub MnuSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuSave.Click
|
||||
Dim i As Integer
|
||||
conn.OpenConnection()
|
||||
ListNodeCollectionRecursive(Me.SysMenuTree.Nodes(0), 0)
|
||||
i = conn.CloseConnection(True)
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' Knoten rekursiv auslesen
|
||||
''' </summary>
|
||||
''' <param name="tnParent"></param>
|
||||
''' <param name="iSort"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub ListNodeCollectionRecursive(ByVal tnParent As TreeNode, ByRef iSort As Integer)
|
||||
Dim tn As TreeNode
|
||||
If tnParent.GetNodeCount(False) > 0 Then
|
||||
tn = tnParent.Nodes(0)
|
||||
Else
|
||||
tn = Nothing
|
||||
End If
|
||||
ssort = 0
|
||||
Do Until tn Is Nothing
|
||||
iSort = iSort + 1
|
||||
ListNodeSave(tn, iSort)
|
||||
If tn.GetNodeCount(False) > 0 Then
|
||||
Call ListNodeCollectionRecursive(tn, iSort)
|
||||
End If
|
||||
tn = tn.NextNode
|
||||
Loop
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' einzelner Knoten sichern
|
||||
''' </summary>
|
||||
''' <param name="tn"></param>
|
||||
''' <param name="isort"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub ListNodeSave(ByVal tn As TreeNode, ByRef isort As Integer)
|
||||
Dim dbkey As New db.clsMyKey_Tabelle()
|
||||
Dim t As DataTable
|
||||
Dim key As Long
|
||||
Dim i As Integer
|
||||
Dim ftop, fleft, fheight, fwidth As Integer
|
||||
Dim sDomaintable As String = ""
|
||||
Dim sKeyfields As String = ""
|
||||
Dim sysadmfnkt As New db.clsSysadminfunktion
|
||||
dbkey.cpMainConnectionProvider = conn
|
||||
sysadmfnkt.cpMainConnectionProvider = conn
|
||||
If tn.Tag <> 0 Then
|
||||
sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(tn.Tag, Int32))
|
||||
sysadmfnkt.SelectOne()
|
||||
ftop = sysadmfnkt.iFtop.Value
|
||||
fleft = sysadmfnkt.iFleft.Value
|
||||
fwidth = sysadmfnkt.iFwidth.Value
|
||||
fheight = sysadmfnkt.iFheight.Value
|
||||
sDomaintable = sysadmfnkt.sDomaintable.Value
|
||||
sKeyfields = sysadmfnkt.sKeyFields.Value
|
||||
End If
|
||||
sysadmfnkt.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
||||
sysadmfnkt.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
||||
sysadmfnkt.sBezeichnung = New SqlString(CType(tn.Text, String))
|
||||
sysadmfnkt.sBeschreibung = New SqlString(CType("", String))
|
||||
sysadmfnkt.iParentID = New SqlInt32(CType(tn.Parent.Tag, Int32))
|
||||
sysadmfnkt.iImageIndex = New SqlInt32(CType(tn.ImageIndex, Int32))
|
||||
sysadmfnkt.iImageIndexOpen = New SqlInt32(CType(tn.SelectedImageIndex, Int32))
|
||||
sysadmfnkt.iSort = New SqlInt32(CType(isort, Int32))
|
||||
sysadmfnkt.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
||||
sysadmfnkt.bAktiv = New SqlBoolean(CType(True, Boolean))
|
||||
sysadmfnkt.iSprache = New SqlInt32(CType(1, Int32))
|
||||
sysadmfnkt.iMandantnr = New SqlInt32(CType(Globals.clsmitarbeiter.iMandantnr.Value, Int32))
|
||||
sysadmfnkt.iFtop = New SqlInt32(CType(ftop, Int32))
|
||||
sysadmfnkt.iFleft = New SqlInt32(CType(fleft, Int32))
|
||||
sysadmfnkt.iFwidth = New SqlInt32(CType(fwidth, Int32))
|
||||
sysadmfnkt.iFheight = New SqlInt32(CType(fheight, Int32))
|
||||
sysadmfnkt.sDomaintable = New SqlString(CType(sDomaintable, String))
|
||||
sysadmfnkt.sKeyFields = New SqlString(CType(sKeyfields, String))
|
||||
|
||||
If tn.Tag <> 0 Then
|
||||
sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(tn.Tag, Int32))
|
||||
sysadmfnkt.Update()
|
||||
Else
|
||||
key = dbkey.get_dbkey("sysadminfunktion")
|
||||
conn.OpenConnection()
|
||||
sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(key, Int32))
|
||||
sysadmfnkt.Insert()
|
||||
tn.Tag = key
|
||||
End If
|
||||
|
||||
For i = 1 To itodelete
|
||||
sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(todelete(i), Int32))
|
||||
t = sysadmfnkt.SelectOne
|
||||
If t.Rows.Count > 0 Then
|
||||
sysadmfnkt.Delete()
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub SysMenutree_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles SysMenuTree.DragEnter
|
||||
If (e.Data.GetDataPresent("System.Windows.Forms.TreeNode")) Then
|
||||
If (e.KeyState And CtrlMask) = CtrlMask Then
|
||||
e.Effect = DragDropEffects.Copy
|
||||
Else
|
||||
e.Effect = DragDropEffects.Move
|
||||
End If
|
||||
Else
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SysMenuTree_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles SysMenuTree.ItemDrag
|
||||
If e.Button = MouseButtons.Left Then
|
||||
DoDragDrop(e.Item, DragDropEffects.Move Or DragDropEffects.Copy)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SysMenuTree_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles SysMenuTree.DragDrop
|
||||
Dim OriginationNode As TreeNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode)
|
||||
|
||||
If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then
|
||||
Dim pt As Point
|
||||
Dim DestinationNode As TreeNode
|
||||
pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))
|
||||
DestinationNode = CType(sender, TreeView).GetNodeAt(pt)
|
||||
DestinationNode.Nodes.Add(CType(OriginationNode.Clone, TreeNode))
|
||||
DestinationNode.Expand()
|
||||
If (e.KeyState And CtrlMask) <> CtrlMask Then
|
||||
OriginationNode.Remove()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Spaltentitel generieren"
|
||||
''' <summary>
|
||||
''' Generiert die Spaltentitel in der Tabelle Spalten aufgrund der im Formular frmSysadminTableSelector gewählten Tabelle
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub SpaltentitelGenerierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpaltentitelGenerierenToolStripMenuItem.Click
|
||||
Dim f As New frmSysadminTableSelector()
|
||||
Dim tablename As String
|
||||
tablename = (f.get_tablename())
|
||||
If tablename = "" Then Exit Sub
|
||||
Generate_Data(tablename)
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' Ruft die SP zur Spalten-Generierung auf
|
||||
''' </summary>
|
||||
''' <param name="tablename"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub Generate_Data(ByVal tablename As String)
|
||||
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
||||
Dim dttable As New DataTable(tablename)
|
||||
scmCmdToExecute.CommandText = "dbo.[sp_update_spalten]"
|
||||
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
||||
scmCmdToExecute.Connection = conn.scoDBConnection
|
||||
Try
|
||||
scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, tablename))
|
||||
scmCmdToExecute.Connection.Open()
|
||||
scmCmdToExecute.ExecuteNonQuery()
|
||||
Return
|
||||
Catch ex As Exception
|
||||
Throw New Exception(msg.Get_Meldungstext(103), ex)
|
||||
Finally
|
||||
scmCmdToExecute.Connection.Close()
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private Sub FrmSysadminMenu_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
|
||||
If Me.Width > 300 Then Me.Width = 300
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub SysMenuTree_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles SysMenuTree.AfterSelect
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user