406 lines
19 KiB
VB.net
406 lines
19 KiB
VB.net
Imports DevExpress.XtraTreeList
|
|
Public Class frmForm_Overview
|
|
Sub New()
|
|
|
|
InitializeComponent()
|
|
End Sub
|
|
Private Shared _Instance As frmForm_Overview = Nothing
|
|
Private insert As Boolean = False
|
|
Public Shared Function Instance() As frmForm_Overview
|
|
If _Instance Is Nothing OrElse _Instance.IsDisposed = True Then
|
|
_Instance = New frmForm_Overview
|
|
End If
|
|
_Instance.BringToFront()
|
|
Return _Instance
|
|
End Function
|
|
|
|
Private Sub frmForm_Overview_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
|
Try
|
|
ClassWindowLocation.SaveFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmForm_Overview")
|
|
'Load_Forms()
|
|
SaveLayout()
|
|
Catch ex As Exception
|
|
MsgBox("Error in Form Close:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub frmForm_Overview_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
'TODO: Diese Codezeile lädt Daten in die Tabelle "DD_DMSDataSet.TBPMO_FORM_TYPE". Sie können sie bei Bedarf verschieben oder entfernen.
|
|
|
|
Try
|
|
TBPMO_FORMTableAdapter.Connection.ConnectionString = MyConnectionString
|
|
TBPMO_FORM_VIEWTableAdapter.Connection.ConnectionString = MyConnectionString
|
|
Me.TBPMO_FORM_TYPETableAdapter.Connection.ConnectionString = MyConnectionString
|
|
Load_TreeView()
|
|
Me.TBPMO_FORM_TYPETableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_FORM_TYPE)
|
|
ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmForm_Overview")
|
|
|
|
|
|
LoadLayout()
|
|
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Error in Form Load:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
Sub Load_TreeView()
|
|
Try
|
|
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT T.GUID, T1.FORM_TITLE FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.FORM_TYPE_ID = 1 AND T.PARENT_ID = 0")
|
|
If DT.Rows.Count > 0 Then
|
|
TreeViewEntity.Nodes.Clear()
|
|
For Each Row As DataRow In DT.Rows
|
|
Dim Node As TreeNode
|
|
Node = TreeViewEntity.Nodes.Add(Row.Item("FORM_TITLE").ToString)
|
|
Node.Tag = Row.Item("GUID")
|
|
Node.BackColor = Color.Orange
|
|
'Jetzt die Ebene1Knoten einhängen
|
|
Dim sql As String = "SELECT T.GUID, T1.FORM_TITLE FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.FORM_TYPE_ID in (2,5) AND T.PARENT_ID = " & Row.Item("GUID") & " ORDER BY LEVEL"
|
|
Dim dtEbene1 As DataTable = ClassDatabase.Return_Datatable(sql)
|
|
If dtEbene1.Rows.Count > 0 Then
|
|
For Each row1 As DataRow In dtEbene1.Rows
|
|
Dim Node1 As TreeNode
|
|
Node1 = Node.Nodes.Add(row1.Item("FORM_TITLE").ToString)
|
|
Node1.Tag = row1.Item("GUID")
|
|
Dim sql1 As String = "SELECT T.GUID, T1.FORM_TITLE FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.FORM_TYPE_ID in (3,5) AND T.PARENT_ID = " & row1.Item("GUID") & " ORDER BY LEVEL"
|
|
'Jetzt die Ebene2 Knoten einhängen
|
|
Dim dtEbene2 As DataTable = ClassDatabase.Return_Datatable(sql1)
|
|
If dtEbene2.Rows.Count > 0 Then
|
|
For Each row2 As DataRow In dtEbene2.Rows
|
|
Dim Node2 As TreeNode
|
|
Node2 = Node1.Nodes.Add(row2.Item("FORM_TITLE").ToString)
|
|
Node2.Tag = row2.Item("GUID")
|
|
Next
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
Next
|
|
Dim sql2 As String = "SELECT T.GUID, T1.FORM_TITLE FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.FORM_TYPE_ID = 4 AND T.PARENT_ID = 0 ORDER BY T1.FORM_TITLE"
|
|
Dim DT3 As DataTable = ClassDatabase.Return_Datatable(sql2)
|
|
If DT3.Rows.Count > 0 Then
|
|
Dim Node As TreeNode
|
|
Node = TreeViewEntity.Nodes.Add("Unabhängige/Eigenständige Entitäten")
|
|
For Each row3 As DataRow In DT3.Rows
|
|
Dim Node2 As TreeNode
|
|
Node2 = Node.Nodes.Add(row3.Item("FORM_TITLE").ToString)
|
|
Node2.Tag = row3.Item("GUID")
|
|
Next
|
|
End If
|
|
TreeViewEntity.ExpandAll()
|
|
TreeViewEntity.Nodes(0).EnsureVisible()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Error in Load_TreeView:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
Sub Load_Forms(FORMID As Integer)
|
|
Try
|
|
Me.TBPMO_FORMTableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_FORM, FORMID)
|
|
Me.TBPMO_FORM_VIEWTableAdapter.FillByFORMID(Me.DD_DMSDataSet.TBPMO_FORM_VIEW, FORMID)
|
|
|
|
If PARENT_IDTextBox.Text = 0 And ComboBox1.SelectedValue = 1 Then
|
|
Me.btnGenerate.Visible = True
|
|
Else
|
|
btnGenerate.Visible = False
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Error in Load_Forms:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
Sub Open_Designer()
|
|
Cursor = Cursors.WaitCursor
|
|
OpenFormLevelDesigner()
|
|
Cursor = Cursors.Default
|
|
End Sub
|
|
|
|
Sub Open_Viewer()
|
|
Try
|
|
If GUIDTextBox.Text = "" Then
|
|
Exit Sub
|
|
End If
|
|
Dim FormId As Integer = GUIDTextBox.Text 'GetCurrentGUID()
|
|
If FormId <> -1 Then
|
|
Me.Hide()
|
|
|
|
Cursor = Cursors.WaitCursor
|
|
OpenFormInputFor(FormId, 1)
|
|
Cursor = Cursors.Default
|
|
' Me.Visible = True
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Error while Opening Entity View!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
|
Try
|
|
If GUIDTextBox.Text <> "" Then
|
|
Dim FormId As Integer = GUIDTextBox.Text 'GetCurrentGUID()
|
|
If FormId <> -1 Then
|
|
CURRENT_FORM_ID = FormId
|
|
Open_Designer()
|
|
Me.Hide()
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Error while Opening Entity!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
|
|
Open_Viewer()
|
|
End Sub
|
|
|
|
Private Sub gvMainView_DoubleClick(sender As Object, e As EventArgs)
|
|
Open_Viewer()
|
|
End Sub
|
|
|
|
Private Function GetCurrentGUID() As Integer
|
|
Dim FormId As Integer
|
|
Try
|
|
Dim CurrentRow As DataRowView = Me.TBPMO_FORMBindingSource.Current
|
|
FormId = CurrentRow.Row.Item("GUID")
|
|
Catch ex As Exception
|
|
FormId = -1
|
|
End Try
|
|
|
|
Return FormId
|
|
End Function
|
|
|
|
Private Sub TBPMO_FORMBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBPMO_FORMBindingSource.AddingNew
|
|
DD_DMSDataSet.TBPMO_FORM.ADDED_WHOColumn.DefaultValue = Environment.UserName
|
|
DD_DMSDataSet.TBPMO_FORM_VIEW.ADDED_WHOColumn.DefaultValue = Environment.UserName
|
|
Me.GroupBox1.Visible = True
|
|
insert = True
|
|
End Sub
|
|
Private Sub SaveLayout()
|
|
Try
|
|
Dim XMLPath = System.IO.Path.Combine(Application.UserAppDataPath(), "FORM-OVERVIEW-UserLayout.xml")
|
|
' treeListForms.SaveLayoutToXml(XMLPath)
|
|
Catch ex As Exception
|
|
MsgBox("Error while saving custom Layout!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub LoadLayout()
|
|
Try
|
|
Dim XMLPath = System.IO.Path.Combine(Application.UserAppDataPath(), "FORM-OVERVIEW-UserLayout.xml")
|
|
' treeListForms.RestoreLayoutFromXml(XMLPath)
|
|
Catch notFoundEx As System.IO.FileNotFoundException
|
|
ClassLogger.Add("Layout added for Overview")
|
|
Catch ex As Exception
|
|
MsgBox("Error while loading custom Layout!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
|
|
Try
|
|
If FORM_TITLETextBox.Text = "" Then
|
|
MsgBox("Bitte geben Sie einen Titel für die Entität ein!", MsgBoxStyle.Exclamation)
|
|
FORM_TITLETextBox.Focus()
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim FORM_TITLE As String = FORM_TITLETextBox.Text
|
|
Dim DESCRIPTION As String = DESCRIPTIONTextBox.Text
|
|
Me.TBPMO_FORMBindingSource.EndEdit()
|
|
Dim changes = False
|
|
|
|
' Save FORM Properties
|
|
If DD_DMSDataSet.TBPMO_FORM.GetChanges Is Nothing = False Then
|
|
Me.CHANGED_WHOTextBoxPMOForm.Text = Environment.UserName
|
|
Me.TBPMO_FORMBindingSource.EndEdit()
|
|
TBPMO_FORMTableAdapter.Update(DD_DMSDataSet.TBPMO_FORM)
|
|
|
|
changes = True
|
|
End If
|
|
|
|
' Save FORM_VIEW Properties
|
|
If insert = True Then
|
|
Dim sql = "SELECT (MAX(GUID)) FROM TBPMO_FORM"
|
|
Dim FORM_ID = ClassDatabase.Execute_Scalar(sql)
|
|
|
|
Dim ADDED_WHO As String = Environment.UserName
|
|
|
|
|
|
'MsgBox(FORM_TITLETextBox.Text)
|
|
'ggg()
|
|
If FORM_ID Is Nothing = False Then
|
|
' Dim SQL1 = ClassDatabase.Execute_Scalar("SELECT SQL_RECORD_SQL1 FROM TBPMO_KONFIGURATION WHERE GUID = 1")
|
|
' Dim SQL2 = ClassDatabase.Execute_Scalar("SELECT SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1")
|
|
' SQL2 = SQL2.ToString.Replace("@FORM_ID", FORM_ID)
|
|
' sql = "INSERT INTO TBPMO_FORM_SQL_CONSTRUCT (SCREEN_ID,FORM_ID,SQL1,SQL2,ADDED_WHO) VALUES (" & FORM_ID & ", 1,'" & SQL1 & "','" & SQL2 & "','" & ADDED_WHO & "')"
|
|
' ClassDatabase.Execute_non_Query(sql)
|
|
sql = "INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES (" & FORM_ID & ", 1, '" & FORM_TITLE & "', '" & DESCRIPTION & "', '" & ADDED_WHO & "')"
|
|
ClassDatabase.Execute_non_Query(sql)
|
|
End If
|
|
Else
|
|
Me.TBPMO_FORM_VIEWBindingSource.EndEdit()
|
|
If DD_DMSDataSet.TBPMO_FORM_VIEW.GetChanges Is Nothing = False Then
|
|
Me.CHANGED_WHOTextBoxPMOFormView.Text = Environment.UserName
|
|
Me.TBPMO_FORM_VIEWBindingSource.EndEdit()
|
|
TBPMO_FORM_VIEWTableAdapter.Update(DD_DMSDataSet.TBPMO_FORM_VIEW)
|
|
changes = True
|
|
End If
|
|
End If
|
|
insert = False
|
|
If changes = True Then
|
|
Load_TreeView()
|
|
lblStatus.Text = "Änderungen erfolgreich gespeichert"
|
|
lblStatus.Visible = True
|
|
'MsgBox("Änderungen erfolgreich gespeichert!", MsgBoxStyle.Information)
|
|
Else
|
|
lblStatus.Visible = False
|
|
End If
|
|
' Load_Forms()
|
|
Catch ex As Exception
|
|
MsgBox("Error in Save:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click
|
|
Dim result As MsgBoxResult = MsgBox("Wollen Sie das Formular wirklich löschen?" & vbNewLine & "Alle Daten werden unwiderruflich gelöscht!", MsgBoxStyle.YesNo, "Bestätigung notwendig:")
|
|
If result = MsgBoxResult.Yes Then
|
|
Try
|
|
Dim CurrentID = GetCurrentGUID()
|
|
Dim delete As String = "DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = " & CurrentID
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_FORM_SQL_CONSTRUCT WHERE FORM_ID = " & CurrentID
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_WORKFLOW_FORM WHERE FORM_ID = " & CurrentID
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = " & CurrentID
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = " & CurrentID
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
' Delete controls (and control screens and control values)
|
|
If ClassFormCommands.DeleteFormControls(CurrentID) = True Then
|
|
' Delete form view
|
|
If ClassFormCommands.DeleteFormView(CurrentID) = True Then
|
|
delete = "DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = " & CurrentID & ")"
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = " & CurrentID & ")"
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = " & CurrentID & ")"
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
delete = "DELETE FROM TBPMO_RECORD WHERE FORM_ID = " & CurrentID
|
|
If ClassDatabase.Execute_non_Query(delete, True) = True Then
|
|
' Delete the actual form
|
|
Me.TBPMO_FORMTableAdapter.Delete(CurrentID)
|
|
MsgBox("Das Formular/Die Entität wurde erfolgreich gelöscht!", MsgBoxStyle.Information)
|
|
Load_TreeView()
|
|
Load_Forms(999999999)
|
|
End If
|
|
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Formular konnte nicht gelöscht werden:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btninsert_Click(sender As Object, e As EventArgs) Handles btninsert.Click
|
|
TBPMO_FORMBindingSource.AddNew()
|
|
End Sub
|
|
|
|
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeViewEntity.AfterSelect
|
|
Try
|
|
If Not TreeViewEntity.SelectedNode Is Nothing Then
|
|
Dim formId As Integer = Integer.Parse(TreeViewEntity.SelectedNode.Tag)
|
|
Load_Forms(formId)
|
|
TreeViewEntity.ExpandAll()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Error in AfterSelect:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub btncopy_Click(sender As Object, e As EventArgs) Handles btncopy.Click
|
|
Dim result As MsgBoxResult = MsgBox("Wollen Sie diese Entität kopieren?", MsgBoxStyle.YesNo, "Frage:")
|
|
If result = MsgBoxResult.Yes Then
|
|
Try
|
|
Dim CurrentID = GetCurrentGUID()
|
|
Dim sql As String = "EXEC PRPMO_COPY_ENTITY " & CurrentID.ToString
|
|
If ClassDatabase.Execute_non_Query(sql) = True Then
|
|
'MsgBox("Die Entität wurde erfolgreich kopiert!", MsgBoxStyle.Information)
|
|
Load_TreeView()
|
|
Load_Forms(999999999)
|
|
lblStatus.Text = "Die Entität wurde erfolgreich kopiert."
|
|
lblStatus.Visible = True
|
|
Else
|
|
lblStatus.Visible = False
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Formular konnte nicht gelöscht werden:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub NAMETextBox_TextChanged(sender As Object, e As EventArgs) Handles NAMETextBox.TextChanged
|
|
If insert = True Then
|
|
FORM_TITLETextBox.Text = NAMETextBox.Text
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnGenerate_Click(sender As Object, e As EventArgs) Handles btnGenerate.Click
|
|
Try
|
|
Dim CurrentID = GetCurrentGUID()
|
|
If CurrentID > 0 Then
|
|
Dim result As MsgBoxResult = MsgBox("Achtung mit dieser Funktion wird ein NEUES Kombi-Formular erzeugt!" & vbNewLine & "Wollen Sie fortfahren?", MsgBoxStyle.YesNo, "Frage:")
|
|
If result = MsgBoxResult.Yes Then
|
|
INTEGER1 = CurrentID
|
|
frmNewKombiForm.ShowDialog()
|
|
End If
|
|
End If
|
|
|
|
|
|
'Dim CurrentID = GetCurrentGUID()
|
|
'Dim sql As String = "EXEC PRPMO_COPY_ENTITY " & CurrentID.ToString
|
|
'If ClassDatabase.Execute_non_Query(sql) = True Then
|
|
' 'MsgBox("Die Entität wurde erfolgreich kopiert!", MsgBoxStyle.Information)
|
|
' Load_TreeView()
|
|
' Load_Forms(999999999)
|
|
' lblStatus.Text = "Die Entität wurde erfolgreich kopiert."
|
|
' lblStatus.Visible = True
|
|
'Else
|
|
' lblStatus.Visible = False
|
|
'End If
|
|
Catch ex As Exception
|
|
MsgBox("Formular konnte nicht gelöscht werden:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
|
|
If ComboBox1.SelectedIndex <> -1 Then
|
|
If ComboBox1.SelectedValue = 5 Then
|
|
ToolStripButton2.Enabled = False
|
|
ToolStripButton1.Enabled = False
|
|
Else
|
|
ToolStripButton2.Enabled = True
|
|
ToolStripButton1.Enabled = True
|
|
End If
|
|
End If
|
|
End Sub
|
|
End Class |