This commit is contained in:
SchreiberM
2016-05-23 16:54:50 +02:00
2 changed files with 203 additions and 169 deletions

View File

@@ -405,10 +405,13 @@
stopwatch.Start() stopwatch.Start()
End Sub End Sub
Public Sub Done() Public Function Done() As Long
stopwatch.Stop() stopwatch.Stop()
Console.WriteLine("{0} took {1} milliseconds to complete", label, stopwatch.ElapsedMilliseconds) Dim message = String.Format("{0} took {1} milliseconds to complete", label, stopwatch.ElapsedMilliseconds)
End Sub Console.WriteLine(message)
If LogErrorsOnly = False Then ClassLogger.Add(message, False)
Return stopwatch.ElapsedMilliseconds
End Function
End Class End Class

View File

@@ -221,8 +221,8 @@ Public Class frmConstructor_Main
Me.VWPMO_WF_ACTIVETableAdapter.Connection.ConnectionString = MyConnectionString Me.VWPMO_WF_ACTIVETableAdapter.Connection.ConnectionString = MyConnectionString
Dim SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _ Dim SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, CONSTRUCTORID) "FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, CONSTRUCTORID)
DT_VWPMO_CONSTRUCTOR_FORMS = ClassDatabase.Return_Datatable(SQL)
DT_VWPMO_CONSTRUCTOR_FORMS = ClassDatabase.Return_Datatable(SQL)
DT_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID) DT_CONSTRUCT_VIEW = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = " & CONSTRUCTORID)
If DT_CONSTRUCT_VIEW.Rows.Count = 1 Then If DT_CONSTRUCT_VIEW.Rows.Count = 1 Then
'Load Input Grid 'Load Input Grid
@@ -241,7 +241,6 @@ Public Class frmConstructor_Main
'System.Windows.Forms.MessageBox.Show(ex.Message) 'System.Windows.Forms.MessageBox.Show(ex.Message)
End Try End Try
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
End Sub End Sub
#Region "Layout" #Region "Layout"
@@ -565,28 +564,6 @@ Public Class frmConstructor_Main
End Sub End Sub
'Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer)
' If GRID_TYPE = GridType.Grid Then
' _ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
' Else 'Tiles und Carousel bekommen Quick View
' _ENTITYSQL = String.Format("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND FORM_ID = {1}", ConstructorId, FormId)
' _ENTITYSQL = ClassDatabase.Execute_Scalar(_ENTITYSQL, True)
' If _ENTITYSQL = String.Empty Then
' _ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
' If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then
' Else
' GRID_TYPE = GridType.Grid
' GridControlMain.MainView = grvwGrid
' VIEW_ID = 3
' End If
' GridControlMain.MainView = grvwGrid
' End If
' End If
'End Function
Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer, ConstructorDetailID As Integer) Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer, ConstructorDetailID As Integer)
Try Try
If GRID_TYPE = GridType.Grid Then If GRID_TYPE = GridType.Grid Then
@@ -594,19 +571,13 @@ Public Class frmConstructor_Main
_VIEWNAME = "VWTEMP_PMO_FORM" & FormId.ToString _VIEWNAME = "VWTEMP_PMO_FORM" & FormId.ToString
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T" _ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
Else 'Tiles und Carousel bekommen Quick View Else 'Tiles und Carousel bekommen Quick View
' Define the filter ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim DT As DataTable = DT_VWPMO_CONSTRUCTOR_FORMS Dim query = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Dim filter As String = "FORM_ID = " & FormId & " AND SCREEN_ID = " & CURRENT_SCREEN_ID Select form
' Filter the rows using Select() method of DataTable Where form.Item("FORM_ID") = FormId
Dim FilteredRows As DataRow() = DT.Select(filter)
For Each row As DataRow In FilteredRows _ENTITYSQL = query.Single().Item("SQL_QUICK_VIEW")
_ENTITYSQL = row("SQL_QUICK_VIEW")
' ListBox1.Items.Add(String.Format("{0}, {1}", row("CompanyName"), row("City")))
Next
' _ENTITYSQL = String.Format("SELECT SQL_QUICK_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0} AND FORM_ID = {1} AND SCREEN_ID = {2}", ConstructorId, FormId, CURRENT_SCREEN_ID)
' _ENTITYSQL = ClassDatabase.Execute_Scalar(_ENTITYSQL, True)
If _ENTITYSQL = String.Empty Then If _ENTITYSQL = String.Empty Then
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T" _ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T"
If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then If IS_SINGLE_RECORD = True Or FORM_TYPE = 5 Then
@@ -1018,88 +989,83 @@ Public Class frmConstructor_Main
End Sub End Sub
Sub Load_Tree_View(ConstructorId As Integer) Sub Load_Tree_View(ConstructorId As Integer)
Dim sw As New Stopwatch Dim sw As New SW("Load_Tree_View")
sw.Start()
TreeViewMain.Nodes.Clear() TreeViewMain.Nodes.Clear()
Dim SQL As String
Dim DT, DT2, DT3 As DataTable
' Daten für Level1 Nodes Laden ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _ Dim query1 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
"from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = {2} AND SCREEN_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, ConstructorId, CURRENT_SCREEN_ID) Select form
DT = ClassDatabase.Return_Datatable(SQL) Order By form.Item("SEQUENCE")
Where form.Item("PARENT_ID") = 0
If DT Is Nothing Then Dim Rows1 = query1.ToList()
Exit Sub
End If
If DT.Rows.Count >= 1 Then For Each Row1 In Rows1
For Each Row1 As DataRow In DT.Rows
Dim LEVEL1_NODE As TreeNode
Dim LEVEL2_NODE As TreeNode
Dim LEVEL3_NODE As TreeNode
Dim LEVEL1_TITLE = Row1.Item("CAPTION").ToString
Dim LEVEL1_ID = Row1.Item("FORM_ID").ToString
' Rootnode erstellen und taggen Dim LEVEL1_NODE As TreeNode
LEVEL1_NODE = New TreeNode(LEVEL1_TITLE) Dim LEVEL2_NODE As TreeNode
LEVEL1_NODE.Tag = LEVEL1_ID Dim LEVEL3_NODE As TreeNode
' TreeView Rootnode einfügen Dim LEVEL1_TITLE = Row1.Item("CAPTION").ToString
Dim LEVEL1_ID = Row1.Item("FORM_ID").ToString
TreeViewMain.Nodes.Add(LEVEL1_NODE) ' Rootnode erstellen und taggen
Dim SQL2 As String LEVEL1_NODE = New TreeNode(LEVEL1_TITLE)
' Daten für Level2 Nodes Laden LEVEL1_NODE.Tag = LEVEL1_ID
SQL2 = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND PARENT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, ConstructorId, LEVEL1_ID)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level2 Nodes SQL: " & SQL2, False)
DT2 = ClassDatabase.Return_Datatable(SQL2)
If Not (DT2 Is Nothing) Then ' TreeView Rootnode einfügen
For Each row As DataRow In DT2.Rows TreeViewMain.Nodes.Add(LEVEL1_NODE)
Dim LEVEL2_TITLE As String = row.Item("CAPTION").ToString
Dim LEVEL2_ID As Integer = row.Item("FORM_ID")
Dim LEVEL2_PARENT_ID As Integer = row.Item("PARENT_ID")
' Node erstellen.. ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
LEVEL2_NODE = New TreeNode(LEVEL2_TITLE) Dim query2 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
LEVEL2_NODE.Tag = LEVEL2_ID Select form
' ..und einfügen Order By form.Item("SEQUENCE")
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE) Where form.Item("PARENT_ID") = LEVEL1_ID
' Daten für Level3 Nodes laden Dim Rows2 = query2.ToList()
SQL = String.Format("SELECT *, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'CAPTION' " & _
"FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND PARENT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, ConstructorId, LEVEL2_ID)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level3 Nodes SQL " & SQL, False)
DT3 = ClassDatabase.Return_Datatable(SQL)
For Each subrow As DataRow In DT3.Rows For Each Row2 In Rows2
Dim LEVEL3_TITLE As String = subrow.Item("CAPTION")
Dim LEVEL3_ID As Integer = subrow.Item("FORM_ID")
' Node erstellen.. Dim LEVEL2_TITLE As String = Row2.Item("CAPTION").ToString
LEVEL3_NODE = New TreeNode(LEVEL3_TITLE) Dim LEVEL2_ID As Integer = Row2.Item("FORM_ID")
LEVEL3_NODE.Tag = LEVEL3_ID Dim LEVEL2_PARENT_ID As Integer = Row2.Item("PARENT_ID")
' ..und einfügen
LEVEL2_NODE.Nodes.Add(LEVEL3_NODE)
Next
Next
End If ' Node erstellen..
LEVEL2_NODE = New TreeNode(LEVEL2_TITLE)
LEVEL2_NODE.Tag = LEVEL2_ID
' ..und einfügen
LEVEL1_NODE.Nodes.Add(LEVEL2_NODE)
' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim query3 = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Order By form.Item("SEQUENCE")
Where form.Item("PARENT_ID") = LEVEL2_ID
Dim Rows3 = query3.ToList()
For Each Row3 In Rows3
Dim LEVEL3_TITLE As String = Row3.Item("CAPTION")
Dim LEVEL3_ID As Integer = Row3.Item("FORM_ID")
' Node erstellen..
LEVEL3_NODE = New TreeNode(LEVEL3_TITLE)
LEVEL3_NODE.Tag = LEVEL3_ID
' ..und einfügen
LEVEL2_NODE.Nodes.Add(LEVEL3_NODE)
Next
Next Next
Next
TreeViewMain.ExpandAll()
TreeViewMain.Nodes(0).EnsureVisible()
Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> TreeView Load took " & Format(elapsed, "0.000000000") & " seconds", False)
End If
TreeViewMain.ExpandAll() TreeViewMain.ExpandAll()
TreeViewMain.Nodes(0).EnsureVisible()
sw.Done()
End Sub End Sub
Sub Load_Tree_View_Data() Sub Load_Tree_View_Data()
Dim sw As New Stopwatch Dim sw As New Stopwatch
@@ -1122,8 +1088,14 @@ Public Class frmConstructor_Main
Else Else
ACT_EBENE = 1 ACT_EBENE = 1
End If End If
Dim Sql = "SELECT GUID from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar(Sql, True) Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
CONSTRUCTOR_DETAIL_ID = result.Item("GUID")
'Dim Sql = "SELECT GUID from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
'CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar(Sql, True)
Dim elapsed As Double Dim elapsed As Double
elapsed = sw.Elapsed.TotalSeconds elapsed = sw.Elapsed.TotalSeconds
@@ -1145,6 +1117,12 @@ Public Class frmConstructor_Main
Dim PARENT_ID As Integer Dim PARENT_ID As Integer
Dim TYPE_ID As Integer Dim TYPE_ID As Integer
If a = 0 Then If a = 0 Then
'Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
' Select form
' Where form.Item("FORM_ID") = childNodeLevel1.Tag).Single()
'PARENT_ID = result.Item("PARENT_ID")
'TYPE_ID = result.Item("FORM_TYPE_ID")
Dim sql As String = "SELECT PARENT_ID, FORM_TYPE_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & childNodeLevel1.Tag & " AND SCREEN_ID = " & CURRENT_SCREEN_ID Dim sql As String = "SELECT PARENT_ID, FORM_TYPE_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & childNodeLevel1.Tag & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "ShowNodeAmounts") Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "ShowNodeAmounts")
PARENT_ID = DT.Rows(0).Item(0) PARENT_ID = DT.Rows(0).Item(0)
@@ -1827,9 +1805,8 @@ Public Class frmConstructor_Main
End Sub End Sub
Sub Load_Entity_Data(ClickedLevel As Integer) Sub Load_Entity_Data(ClickedLevel As Integer)
Try Try
Dim sw As New Stopwatch Dim sw As New SW("Load_Entity_Data")
sw.Start()
Dim elapsed As Double
Me.Cursor = Cursors.WaitCursor Me.Cursor = Cursors.WaitCursor
RECORD_CHANGED = False RECORD_CHANGED = False
RECORD_ID = 0 RECORD_ID = 0
@@ -1837,14 +1814,28 @@ Public Class frmConstructor_Main
'Setzen von Rechten 'Setzen von Rechten
'GetSet_Rights() 'GetSet_Rights()
'VerknüpfungenToolStripMenuItem.Enabled = False 'VerknüpfungenToolStripMenuItem.Enabled = False
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
LOAD_DIRECT = result.Item("LOAD_DIRECT")
CURRENT_CONSTRUCTOR_DETAIL_ID = result.Item("GUID")
CONTROL_DOCTYPE_MATCH = result.Item("CONTROL_DOCTYPE_MATCH")
SQL_RIGHT_READ_AND_VIEW_ONLY = result.Item("SQL_RIGHT_READ_AND_VIEW_ONLY")
SQL_RIGHT_WINDREAM_FORBIDDEN = result.Item("SQL_RIGHT_WINDREAM_VIEW")
'LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
'CURRENT_CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar("SELECT GUID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
'CONTROL_DOCTYPE_MATCH = ClassDatabase.Execute_Scalar("SELECT CONTROL_DOCTYPE_MATCH FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
'SQL_RIGHT_READ_AND_VIEW_ONLY = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_READ_AND_VIEW_ONLY FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
'SQL_RIGHT_WINDREAM_FORBIDDEN = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_WINDREAM_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID) FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID) IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
LOAD_DIRECT = ClassDatabase.Execute_Scalar("SELECT LOAD_DIRECT FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
CURRENT_CONSTRUCTOR_DETAIL_ID = ClassDatabase.Execute_Scalar("SELECT GUID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
POS_ENTITY = ClassDatabase.Execute_Scalar("SELECT POS_ENTITY FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID) POS_ENTITY = ClassDatabase.Execute_Scalar("SELECT POS_ENTITY FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID)
CONTROL_DOCTYPE_MATCH = ClassDatabase.Execute_Scalar("SELECT CONTROL_DOCTYPE_MATCH FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
SQL_RIGHT_READ_AND_VIEW_ONLY = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_READ_AND_VIEW_ONLY FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
SQL_RIGHT_WINDREAM_FORBIDDEN = ClassDatabase.Execute_Scalar("SELECT SQL_RIGHT_WINDREAM_VIEW FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
If VIEW_ID_RUNTIME <> -1 Then If VIEW_ID_RUNTIME <> -1 Then
GRID_TYPE_ID = VIEW_ID_RUNTIME GRID_TYPE_ID = VIEW_ID_RUNTIME
Else Else
@@ -1870,8 +1861,15 @@ Public Class frmConstructor_Main
End Select End Select
SELECTED_RECORD_ID = 0 SELECTED_RECORD_ID = 0
Dim DT As DataTable Dim DT As DataTable
Dim sql As String = "SELECT PARENT_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
Dim PARENT_ID = ClassDatabase.Execute_Scalar(sql) ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim result1 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
Dim PARENT_ID = result1.Item("PARENT_ID")
'Dim sql As String = "SELECT PARENT_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID
'Dim PARENT_ID = ClassDatabase.Execute_Scalar(sql)
If PARENT_ID Is Nothing Then If PARENT_ID Is Nothing Then
MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation) MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation)
Exit Sub Exit Sub
@@ -1879,8 +1877,7 @@ Public Class frmConstructor_Main
'Abhängig von der Entität die Selektierungs-Daten laden 'Abhängig von der Entität die Selektierungs-Daten laden
Get_Grid_Sql(CONSTRUCTORID, ENTITY_ID, CURRENT_CONSTRUCTOR_DETAIL_ID) Get_Grid_Sql(CONSTRUCTORID, ENTITY_ID, CURRENT_CONSTRUCTOR_DETAIL_ID)
elapsed = sw.Elapsed.TotalSeconds
If LogErrorsOnly = False Then ClassLogger.Add(" >> Get_Grid_Sql took " & Format(elapsed, "0.000000000") & " seconds", False)
'Anzahl der Datensätze 'Anzahl der Datensätze
ENTITY_RECORD_COUNT = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBPMO_RECORD where FORM_ID = " & ENTITY_ID, True) ENTITY_RECORD_COUNT = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBPMO_RECORD where FORM_ID = " & ENTITY_ID, True)
Select Case ClickedLevel Select Case ClickedLevel
@@ -1902,7 +1899,13 @@ Public Class frmConstructor_Main
'tslblEntity2.Visible = False 'tslblEntity2.Visible = False
'tslblEntity3.Visible = False 'tslblEntity3.Visible = False
EBENE1_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
Dim result2 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
EBENE1_COLUMNNAME = result2.Item("COLUMN_NAME1")
'EBENE1_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
EBENE2_COLUMNNAME = "" EBENE2_COLUMNNAME = ""
EBENE3_COLUMNNAME = "" EBENE3_COLUMNNAME = ""
EBENE2_GRID_RESULT = Nothing EBENE2_GRID_RESULT = Nothing
@@ -1949,7 +1952,12 @@ Public Class frmConstructor_Main
' End If ' End If
'End Select 'End Select
EBENE2_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) Dim result3 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
EBENE2_COLUMNNAME = result3.Item("COLUMN_NAME1")
'EBENE2_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
EBENE3_COLUMNNAME = "" EBENE3_COLUMNNAME = ""
EBENE2_GRID_RESULT = Nothing EBENE2_GRID_RESULT = Nothing
EBENE3_GRID_RESULT = Nothing EBENE3_GRID_RESULT = Nothing
@@ -1959,7 +1967,12 @@ Public Class frmConstructor_Main
ACT_EBENE_STRING = EBENE3_ENTITY ACT_EBENE_STRING = EBENE3_ENTITY
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level 3 selected in TreeView", False) If LogErrorsOnly = False Then ClassLogger.Add(" >> Level 3 selected in TreeView", False)
EBENE3_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID) Dim result4 = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
EBENE3_COLUMNNAME = result4.Item("COLUMN_NAME1")
'EBENE3_COLUMNNAME = ClassDatabase.Execute_Scalar("SELECT COLUMN_NAME1 FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & ENTITY_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID)
'Wenn bereits ein Record für Ebene 1 gewählt wurde dann eisnchränken 'Wenn bereits ein Record für Ebene 1 gewählt wurde dann eisnchränken
If EBENE2_RECID > 0 Then If EBENE2_RECID > 0 Then
'Parent-ID setzen 'Parent-ID setzen
@@ -1995,8 +2008,7 @@ Public Class frmConstructor_Main
EBENE3_GRID_RESULT = Nothing EBENE3_GRID_RESULT = Nothing
End Select End Select
elapsed = sw.Elapsed.TotalSeconds - elapsed
If LogErrorsOnly = False Then ClassLogger.Add(" >> Select Case entities took " & Format(elapsed, "0.000000000") & " seconds", False)
_ENTITYSTRING = ACT_EBENE_STRING _ENTITYSTRING = ACT_EBENE_STRING
PARENT_ID = PARENT_RECORDID PARENT_ID = PARENT_RECORDID
act_FormViewID = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW where FORM_ID = " & ENTITY_ID) act_FormViewID = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW where FORM_ID = " & ENTITY_ID)
@@ -2157,10 +2169,8 @@ Public Class frmConstructor_Main
elapsed = sw.Elapsed.TotalSeconds sw.Done()
sw.Stop()
sw.Reset()
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Entity_Data took " & Format(elapsed, "0.000000000") & " seconds", False)
If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then
Reload_Entity_while_Control_Load() Reload_Entity_while_Control_Load()
End If End If
@@ -3276,14 +3286,14 @@ Public Class frmConstructor_Main
End If End If
TabWindream.Text = stg & " (" & windreamSucheErgebnisse.Count & ")" TabWindream.Text = stg & " (" & windreamSucheErgebnisse.Count & ")"
' AxObjectListControl.SetIconMode(True) AxObjectListControl.SetIconMode(True)
' AxObjectListControl.RemoveAllColumnHeader() AxObjectListControl.RemoveAllColumnHeader()
' Me.AxObjectListControl.SetSession(ClassWindream.oSession, "", "") Me.AxObjectListControl.SetSession(ClassWindream.oSession, "", "")
'Change the status icon 'Change the status icon
'ICON STATES: 'ICON STATES:
' Me.AxObjectListControl.SetStatusIcon(0) Me.AxObjectListControl.SetStatusIcon(0)
'Change the icon 'Change the icon
' Me.AxObjectListControl.SetStatusIcon(2) Me.AxObjectListControl.SetStatusIcon(2)
Try Try
Dim sql_ResultList = "select * from TBPMO_WINDREAM_RESULTLIST_CONFIG where guid = 1" Dim sql_ResultList = "select * from TBPMO_WINDREAM_RESULTLIST_CONFIG where guid = 1"
@@ -3305,7 +3315,7 @@ Public Class frmConstructor_Main
'You need to use the column name here 'You need to use the column name here
'Please note that some attributes or indices will not be displayed 'Please note that some attributes or indices will not be displayed
'Try not to add the same header twice, it will throw cause problems if you do that 'Try not to add the same header twice, it will throw cause problems if you do that
' Me.AxObjectListControl.AddColumnHeader(ColumnName, Width) Me.AxObjectListControl.AddColumnHeader(ColumnName, Width)
anzparam += 1 anzparam += 1
End If End If
End If End If
@@ -3343,7 +3353,7 @@ Public Class frmConstructor_Main
'You need to use the column name here 'You need to use the column name here
'Please note that some attributes or indices will not be displayed 'Please note that some attributes or indices will not be displayed
'Try not to add the same header twice, it will throw cause problems if you do that 'Try not to add the same header twice, it will throw cause problems if you do that
' Me.AxObjectListControl.AddColumnHeader(spar, width) Me.AxObjectListControl.AddColumnHeader(spar, width)
Next Next
End If End If
@@ -3355,22 +3365,22 @@ Public Class frmConstructor_Main
Dim results As WINDREAMLib.WMObjects = windreamSucheErgebnisse Dim results As WINDREAMLib.WMObjects = windreamSucheErgebnisse
If LogErrorsOnly = False Then ClassLogger.Add(" >> results loaded ", False) If LogErrorsOnly = False Then ClassLogger.Add(" >> results loaded ", False)
'Set the contents without displaying them 'Set the contents without displaying them
' AxObjectListControl.SetContentsEx(results) AxObjectListControl.SetContentsEx(results)
'Change the icon 'Change the icon
'AxObjectListControl.SetStatusIcon(5) AxObjectListControl.SetStatusIcon(5)
'Display the results... 'Display the results...
'The Previous Object Count 'The Previous Object Count
Dim poc As Integer = 0 Dim poc As Integer = 0
'Display new objects, as long as the objectcount changes after displaying the objects 'Display new objects, as long as the objectcount changes after displaying the objects
'Do Until (poc <> AxObjectListControl.GetObjectCount) Do Until (poc <> AxObjectListControl.GetObjectCount)
' poc = AxObjectListControl.GetObjectCount poc = AxObjectListControl.GetObjectCount
' 'If you want, you can display more items at a timeRefresh_FollowUp_TabHeader 'If you want, you can display more items at a timeRefresh_FollowUp_TabHeader
' 'But do not display to many at a time or the user interface could freeze 'But do not display to many at a time or the user interface could freeze
' 'Maybe try 50 'Maybe try 50
' AxObjectListControl.DisplayResults(WDResultListCount) AxObjectListControl.DisplayResults(WDResultListCount)
'Loop Loop
' AxObjectListControl.SetStatusIcon(3) AxObjectListControl.SetStatusIcon(3)
Else Else
Dim msg = "Windream-Dokumente für Record: " & RECORD_ID & " - Keine Dateien gefunden" Dim msg = "Windream-Dokumente für Record: " & RECORD_ID & " - Keine Dateien gefunden"
If USER_LANGUAGE <> "de-DE" Then If USER_LANGUAGE <> "de-DE" Then
@@ -3905,7 +3915,7 @@ Public Class frmConstructor_Main
ClassLogger.Add(" >> Undefined Search-pattern in windream-search config: " & content, True) ClassLogger.Add(" >> Undefined Search-pattern in windream-search config: " & content, True)
End Select End Select
End Function End Function
Private Sub AxObjectListControl_ItemClicked(sender As Object, e As EventArgs) Private Sub AxObjectListControl_ItemClicked(sender As Object, e As EventArgs) Handles AxObjectListControl.ItemClicked
CheckDocView() CheckDocView()
End Sub End Sub
@@ -3914,8 +3924,8 @@ Public Class frmConstructor_Main
Dim sw As New Stopwatch Dim sw As New Stopwatch
sw.Start() sw.Start()
' AxObjectListControl.RemoveAllColumnHeader() AxObjectListControl.RemoveAllColumnHeader()
' Me.AxObjectListControl.ClearResultList() Me.AxObjectListControl.ClearResultList()
Dim stg As String = "windream-Dateien" Dim stg As String = "windream-Dateien"
If USER_LANGUAGE <> "de-DE" Then If USER_LANGUAGE <> "de-DE" Then
stg = "windream-files" stg = "windream-files"
@@ -3932,10 +3942,10 @@ Public Class frmConstructor_Main
End Sub End Sub
Sub CheckDocView() Sub CheckDocView()
' Dim _index = AxObjectListControl.GetFirstSelectedObject Dim _index = AxObjectListControl.GetFirstSelectedObject
' Dim path As String = AxObjectListControl.GetObjectPath(_index) Dim path As String = AxObjectListControl.GetObjectPath(_index)
' path = path.Replace("?", vWLaufwerk) path = path.Replace("?", vWLaufwerk)
' DocViewString = path DocViewString = path
If WD_ShowDocs = True Then If WD_ShowDocs = True Then
CloseWDDocview() CloseWDDocview()
@@ -4669,16 +4679,28 @@ Public Class frmConstructor_Main
Dim sw As Stopwatch = Stopwatch.StartNew() Dim sw As Stopwatch = Stopwatch.StartNew()
Dim elapsed As Double Dim elapsed As Double
Dim sql As String = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = " & CONSTRUCTORID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID & " ORDER BY SEQUENCE"
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
If Not IsNothing(dt) Then ' LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
If dt.Rows.Count >= 1 Then Dim result = From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Dim tn As TreeNode = TreeViewMain.Nodes(0) Select form
TreeViewMain.SelectedNode = tn Order By form.Item("SEQUENCE")
TreeViewMain.Select() Where form.Item("PARENT_ID") = 0
End If
If result.Count >= 1 Then
Dim tn As TreeNode = TreeViewMain.Nodes(0)
TreeViewMain.SelectedNode = tn
TreeViewMain.Select()
End If End If
'Dim sql As String = "SELECT * from VWPMO_CONSTRUCTOR_FORMS WHERE PARENT_ID = 0 AND CONSTRUCT_ID = " & CONSTRUCTORID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID & " ORDER BY SEQUENCE"
'Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
'If Not IsNothing(dt) Then
' If dt.Rows.Count >= 1 Then
' Dim tn As TreeNode = TreeViewMain.Nodes(0)
' TreeViewMain.SelectedNode = tn
' TreeViewMain.Select()
' End If
'End If
elapsed = sw.Elapsed.TotalSeconds elapsed = sw.Elapsed.TotalSeconds
sw.Stop() sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load_Level1 took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False) If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load_Level1 took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
@@ -4832,25 +4854,34 @@ Public Class frmConstructor_Main
Sub Load_ParentConnections() Sub Load_ParentConnections()
Try Try
' SELECT COLUMN_NAME1 FROM VWTEMP_cPMO_FORM ' SELECT COLUMN_NAME1 FROM VWTEMP_cPMO_FORM
Dim sql = String.Format("SELECT TOP 1 PARENT_ID, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'FORM_TITLE' " & _ 'Dim sql = String.Format("SELECT TOP 1 PARENT_ID, [dbo].[FNPMO_GETOBJECTCAPTION]('{0}','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), {1}) AS 'FORM_TITLE' " & _
"from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND SCREEN_ID = {3} AND FORM_ID = {4}", USER_LANGUAGE, CURRENT_SCREEN_ID, CONSTRUCTORID, CURRENT_SCREEN_ID, ENTITY_ID) ' "from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {2} AND SCREEN_ID = {3} AND FORM_ID = {4}", USER_LANGUAGE, CURRENT_SCREEN_ID, CONSTRUCTORID, CURRENT_SCREEN_ID, ENTITY_ID)
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Parent-Data") 'Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, "Parent-Data")
Dim Parent_ID = DT.Rows(0).Item(0) ' TODO: LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim Title = DT.Rows(0).Item(1) Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
Dim Colname = "[" & ClassDatabase.Execute_Scalar("SELECT TOP 1 COLUMN_NAME1 from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & Parent_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, True) & "]" Select form
Where form.Item("FORM_ID") = ENTITY_ID).Single()
Dim Parent_ID = result.Item("PARENT_ID")
Dim Title = result.Item("CAPTION")
Dim Colname = "[" & result.Item("COLUMN_NAME1") & "]"
'Dim Parent_ID = DT.Rows(0).Item(0)
'Dim Title = DT.Rows(0).Item(1)
'Dim Colname = "[" & ClassDatabase.Execute_Scalar("SELECT TOP 1 COLUMN_NAME1 from VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = " & CONSTRUCTORID & " AND FORM_ID = " & Parent_ID & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, True) & "]"
'Load_GridViewParentEntity_Layout() 'Load_GridViewParentEntity_Layout()
If Not IsNothing(Parent_ID) And Not IsNothing(Colname) Then If Not IsNothing(Parent_ID) And Not IsNothing(Colname) Then
Dim sql
If Colname = "[]" Then If Colname = "[]" Then
sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
Else Else
Try Try
sql = "select [Record-ID], " & Colname & " from VWTEMP_PMO_FORM" & Parent_ID.ToString Sql = "select [Record-ID], " & Colname & " from VWTEMP_PMO_FORM" & Parent_ID.ToString
Catch ex As Exception Catch ex As Exception
sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
End Try End Try
End If End If
Dim DTGrid As DataTable = ClassDatabase.Return_Datatable(sql, "VariableSelect ParentEntity") Dim DTGrid As DataTable = ClassDatabase.Return_Datatable(Sql, "VariableSelect ParentEntity")
GridControlParent.DataSource = Nothing GridControlParent.DataSource = Nothing
GridViewParent.Columns.Clear() GridViewParent.Columns.Clear()
'Databinding Neu 'Databinding Neu
@@ -4987,15 +5018,15 @@ Public Class frmConstructor_Main
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub End Sub
Private Sub AxObjectListControl_CausesValidationChanged(sender As Object, e As EventArgs) Private Sub AxObjectListControl_CausesValidationChanged(sender As Object, e As EventArgs) Handles AxObjectListControl.CausesValidationChanged
Console.WriteLine("CausesValidationChanged") Console.WriteLine("CausesValidationChanged")
End Sub End Sub
Private Sub AxObjectListControl_SettingFlagChanged(sender As Object, e As EventArgs) Private Sub AxObjectListControl_SettingFlagChanged(sender As Object, e As EventArgs) Handles AxObjectListControl.SettingFlagChanged
Console.WriteLine("SettingFlagChanged") Console.WriteLine("SettingFlagChanged")
End Sub End Sub
Private Sub AxObjectListControl_Validated(sender As Object, e As EventArgs) Private Sub AxObjectListControl_Validated(sender As Object, e As EventArgs) Handles AxObjectListControl.Validated
Console.WriteLine("Validated") Console.WriteLine("Validated")
End Sub End Sub