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.
213 lines
8.6 KiB
213 lines
8.6 KiB
Imports DevComponents
|
|
Imports System.Data.SqlClient
|
|
Imports System.Data.SqlDbType
|
|
Imports System.IO
|
|
|
|
Imports System.Data
|
|
|
|
Public Class LCStrukturEditor
|
|
|
|
Dim clslc As New TKB.VV.Lifecycle.clslifeCycle
|
|
Dim produkt As New TKB.VV.Lifecycle.clsProdukt
|
|
|
|
Private Sub LCStrukturEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
clslc.Load_Treestrukutr(Me.TreeStruktur, True, 1)
|
|
Me.TreeStruktur.ExpandAll()
|
|
load_images()
|
|
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
|
|
End Sub
|
|
|
|
Sub load_images()
|
|
Me.ImgList.Images.Clear()
|
|
Dim filesList As String() = Directory.GetFiles(Application.StartupPath + "\LCIcons")
|
|
Dim files As String
|
|
For Each files In filesList
|
|
'files = files.Replace(files.Substring(0, files.LastIndexOf("\") + 1), "")
|
|
ImgList.Images.Add(Bitmap.FromFile(files))
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub NeuesElementToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesElementToolStripMenuItem.Click
|
|
Dim s As String
|
|
s = InputBox("Name des Strukturelementes", "Neues Strukturelement")
|
|
If s <> "" Then
|
|
Produkt.Add_New(Me.TreeStruktur.SelectedNode.Tag)
|
|
produkt.bIstStruktur = New SqlTypes.SqlBoolean(CType(True, Boolean))
|
|
produkt.sBezeichnung = New SqlTypes.SqlString(CType(s, String))
|
|
If produkt.Get_Image_for_Structure(Me.TreeStruktur.SelectedNode.Level) = True Then
|
|
produkt.iImageindex = New SqlTypes.SqlInt32(CType(Me.TreeStruktur.SelectedNode.ImageIndex, Int32))
|
|
Else
|
|
produkt.iImageindex = New SqlTypes.SqlInt32(CType(-1, Int32))
|
|
End If
|
|
produkt.Save_Data()
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = produkt.sBezeichnung.Value
|
|
tn.Tag = produkt.iLC_ProduktNr.Value
|
|
tn.ImageIndex = produkt.iImageindex.Value
|
|
Me.TreeStruktur.SelectedNode.Nodes.Add(tn)
|
|
'Me.TreeStruktur.SelectedNode.Nodes.Sort()
|
|
Me.TreeStruktur.SelectedNode = clslc.FindNode(Me.TreeStruktur.Nodes, produkt.iLC_ProduktNr.Value, produkt.iLC_ProduktNr.Value)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click
|
|
Dim s As String
|
|
s = Me.TreeStruktur.SelectedNode.Text
|
|
s = InputBox("Name", "Element umbenennen", s)
|
|
If s <> "" Then
|
|
produkt.Get_Produkt(Me.TreeStruktur.SelectedNode.Tag)
|
|
produkt.sBezeichnung = New SqlTypes.SqlString(CType(s, String))
|
|
produkt.daMutiert_am = New SqlTypes.SqlDateTime(CType(Now, DateTime))
|
|
produkt.iMutierer = New SqlTypes.SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
produkt.Save_Data()
|
|
Me.TreeStruktur.SelectedNode.Text = s
|
|
If Me.TreeStruktur.SelectedNode.Parent Is Nothing Then
|
|
'Me.TreeStruktur.Nodes.Sort()
|
|
Else
|
|
'Me.TreeStruktur.SelectedNode.Parent.Nodes.Sort()
|
|
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub EintragLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragLöschenToolStripMenuItem.Click
|
|
Delete_Entries()
|
|
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
|
|
|
|
End Sub
|
|
|
|
Sub Delete_Entries()
|
|
|
|
Dim i As Integer
|
|
Dim Allnodes As List(Of String) = New List(Of String)
|
|
Dim subnodes As List(Of String) = New List(Of String)
|
|
Dim dn As DevComponents.AdvTree.Node
|
|
For Each n As DevComponents.AdvTree.Node In Me.TreeStruktur.SelectedNodes
|
|
subnodes = GetChildren(n)
|
|
For i = 0 To subnodes.Count - 1
|
|
Allnodes.Add(subnodes(i))
|
|
Next
|
|
Allnodes.Add(n.Tag)
|
|
Next
|
|
|
|
For i = Allnodes.Count - 1 To 0 Step -1
|
|
Dim s As String
|
|
s = produkt.Check_Delete(Allnodes(i), 2)
|
|
If s <> "" Then
|
|
MsgBox("Das Element oder ein untergeornetes Element wird noch verwendet und kann nicht gelöscht werden." + vbCrLf + vbCrLf + s, MsgBoxStyle.Exclamation, "Produkt löschen")
|
|
Exit Sub
|
|
End If
|
|
Next
|
|
|
|
For i = Allnodes.Count - 1 To 0 Step -1
|
|
produkt.Delete_Produkt(Allnodes(i))
|
|
Try
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn = clslc.FindNode(Me.TreeStruktur.Nodes, Allnodes(i), Allnodes(i))
|
|
tn.Remove()
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
End Sub
|
|
|
|
Function GetChildren(parentNode As DevComponents.AdvTree.Node) As List(Of String)
|
|
Dim nodes As List(Of String) = New List(Of String)
|
|
GetAllChildren(parentNode, nodes)
|
|
Return nodes
|
|
End Function
|
|
|
|
Sub GetAllChildren(parentNode As DevComponents.AdvTree.Node, nodes As List(Of String))
|
|
For Each childNode As DevComponents.AdvTree.Node In parentNode.Nodes
|
|
nodes.Add(childNode.Tag)
|
|
GetAllChildren(childNode, nodes)
|
|
Next
|
|
End Sub
|
|
|
|
|
|
Private Sub SymbolÄndernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SymbolÄndernToolStripMenuItem.Click
|
|
Dim f As New frmIconSelector
|
|
f.Images = Me.ImgList
|
|
f.ShowDialog()
|
|
If f.DialogResult = Windows.Forms.DialogResult.OK Then
|
|
Me.TreeStruktur.SelectedNode.ImageIndex = f.SelectedImage
|
|
produkt.Get_Produkt(Me.TreeStruktur.SelectedNode.Tag)
|
|
produkt.iImageindex = New SqlTypes.SqlInt32(CType(f.SelectedImage, Int32))
|
|
produkt.Save_Data()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub NeuesRootElementToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesRootElementToolStripMenuItem.Click
|
|
Dim s As String
|
|
s = InputBox("Name des Strukturelementes", "Neues Strukturelement")
|
|
If s <> "" Then
|
|
produkt.Add_New(0)
|
|
produkt.bIstStruktur = New SqlTypes.SqlBoolean(CType(True, Boolean))
|
|
produkt.sBezeichnung = New SqlTypes.SqlString(CType(s, String))
|
|
produkt.iImageindex = New SqlTypes.SqlInt32(CType(-1, Int32))
|
|
produkt.Save_Data()
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = produkt.sBezeichnung.Value
|
|
tn.Tag = produkt.iLC_ProduktNr.Value
|
|
tn.ImageIndex = produkt.iImageindex.Value
|
|
Me.TreeStruktur.Nodes.Add(tn)
|
|
'Me.TreeStruktur.Nodes.Sort()
|
|
Me.TreeStruktur.SelectedNode = clslc.FindNode(Me.TreeStruktur.Nodes, produkt.iLC_ProduktNr.Value, produkt.iLC_ProduktNr.Value)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub TreeStruktur_AfterNodeDrop(sender As Object, e As DevComponents.AdvTree.TreeDragDropEventArgs) Handles TreeStruktur.AfterNodeDrop
|
|
|
|
For Each n As DevComponents.AdvTree.Node In e.Nodes
|
|
produkt.Get_Produkt(n.Tag)
|
|
Try
|
|
produkt.iLC_ProduktNr_Parent = New SqlTypes.SqlInt32(CType(e.NewParentNode.Tag, Int32))
|
|
Catch
|
|
produkt.iLC_ProduktNr_Parent = New SqlTypes.SqlInt32(CType(0, Int32))
|
|
End Try
|
|
|
|
produkt.Save_Data()
|
|
Save_Order(n)
|
|
Next
|
|
|
|
Me.TreeStruktur.SelectedNode = clslc.FindNode(Me.TreeStruktur.Nodes, e.Node.Tag, e.Node.Tag)
|
|
End Sub
|
|
|
|
Public Sub Save_Order(ByRef n As DevComponents.AdvTree.Node)
|
|
Dim parentno As Integer
|
|
Dim sortkey As Integer
|
|
Try
|
|
parentno = n.Parent.Tag
|
|
sortkey = parentno * 10
|
|
|
|
For Each n1 As DevComponents.AdvTree.Node In n.Parent.Nodes
|
|
produkt.Get_Produkt(n1.Tag)
|
|
sortkey = sortkey + 1
|
|
produkt.iSort = New SqlTypes.SqlInt32(CType(sortkey, Int32))
|
|
produkt.Save_Data()
|
|
Next
|
|
Catch
|
|
parentno = 0
|
|
For Each n1 As DevComponents.AdvTree.Node In Me.TreeStruktur.Nodes
|
|
produkt.Get_Produkt(n1.Tag)
|
|
sortkey = sortkey + 1
|
|
produkt.iSort = New SqlTypes.SqlInt32(CType(sortkey, Int32))
|
|
produkt.Save_Data()
|
|
Next
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub SymbolEntfernenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SymbolEntfernenToolStripMenuItem.Click
|
|
produkt.Get_Produkt(Me.TreeStruktur.SelectedNode.Tag)
|
|
produkt.iImageindex = New SqlTypes.SqlInt32(CType(-1, Int32))
|
|
produkt.Save_Data()
|
|
Me.TreeStruktur.SelectedNode.ImageIndex = -1
|
|
End Sub
|
|
End Class |