This commit is contained in:
SchreiberM
2016-06-01 13:09:57 +02:00
parent e74b44e1e9
commit 6caf74d671
12 changed files with 3341 additions and 3102 deletions

View File

@@ -548,26 +548,26 @@ Public Class frmConstructor_Main
GridControlMain.MainView = grvwTiles
End Sub
Public Sub Hide_Grid_Columns()
Try
Dim DefaultHiddenColumns As New List(Of String) From {"Record-ID", "Form-ID", "ROW_COLOR", "COLOR"}
Dim QuickHiddenColumns As New List(Of String) From {"AddedWho", "AddedWhen", "ChangedWho", "ChangedWhen"}
'Public Sub Hide_Grid_Columns()
' Try
' Dim DefaultHiddenColumns As New List(Of String) From {"Record-ID", "Form-ID", "ROW_COLOR", "COLOR"}
' Dim QuickHiddenColumns As New List(Of String) From {"AddedWho", "AddedWhen", "ChangedWho", "ChangedWhen"}
If GRID_TYPE = GridType.Carousel Or GRID_TYPE = GridType.Tiles Then
DefaultHiddenColumns.AddRange(QuickHiddenColumns)
End If
' If GRID_TYPE = GridType.Carousel Or GRID_TYPE = GridType.Tiles Then
' DefaultHiddenColumns.AddRange(QuickHiddenColumns)
' End If
For Each colname As String In DefaultHiddenColumns
Dim col = grvwTiles.Columns.Item(colname)
If col IsNot Nothing Then
col.Visible = False
End If
Next
Catch ex As Exception
ClassLogger.Add("Unexpected Error in Hide_Grid_Columns: " & ex.Message, True)
End Try
' For Each colname As String In DefaultHiddenColumns
' Dim col = grvwTiles.Columns.Item(colname)
' If col IsNot Nothing Then
' col.Visible = False
' End If
' Next
' Catch ex As Exception
' ClassLogger.Add("Unexpected Error in Hide_Grid_Columns: " & ex.Message, True)
' End Try
End Sub
'End Sub
Public Function Get_Grid_Sql(ConstructorId As Integer, FormId As Integer, ConstructorDetailID As Integer)
Try
@@ -1121,21 +1121,15 @@ Public Class frmConstructor_Main
Dim selnode As TreeNode = TreeViewMain.SelectedNode
Dim a As Integer = 0
For Each childNodeLevel1 As TreeNode In selnode.Nodes
Dim PARENT_ID As Integer
Dim TYPE_ID As Integer
Dim PARENT_ID1 As Integer
Dim TYPE_ID1 As Integer
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 DT As DataTable = ClassDatabase.Return_Datatable(sql, "ShowNodeAmounts")
PARENT_ID = DT.Rows(0).Item(0)
TYPE_ID = DT.Rows(0).Item(1)
PARENT_ID1 = DT.Rows(0).Item(0)
TYPE_ID1 = DT.Rows(0).Item(1)
End If
If TYPE_ID <> 5 Then
If TYPE_ID1 <> 5 Then
If childNodeLevel1.Text = "Allgemein" Then
Console.WriteLine("Allgemein-Reiter")
End If
@@ -1336,17 +1330,37 @@ Public Class frmConstructor_Main
#Region "DetailView - Toolstrip"
Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click
'If CtrlCommandUI.IsInsert Then
' Exit Sub
'End If
'Wenn es eine Parent_ID gibt aber kein PArent_Datensatz ausgewählt wurde muss dies nachgeholt werden
If PARENT_ID > 0 Then
If PARENT_SKIPPED = True Then
If PARENT_SKIPPED = True And PARENT_RECORDID = 0 Then
Dim msg = "Achtung es wurde noch kein Parent-Datensatz ausgewählt! Bitte wählen Sie einen Datensatz aus!"
If USER_LANGUAGE <> "de-DE" Then
msg = "Attention: No parent-record was selected! Please choose a parent record!"
End If
MsgBox(msg, MsgBoxStyle.Exclamation)
Exit Sub
Try
Dim sql
sql = "select * from VWTEMP_PMO_FORM" & PARENT_ID.ToString
CURRENT_PARENT_DT = ClassDatabase.Return_Datatable(sql, "VariableSelect ParentEntity")
frmChooseParentRecord.ShowDialog()
If CURRENT_PARENT_RECORD_ID = 0 Then
MsgBox("No Parent-Record selected. Adding will be terminated.", MsgBoxStyle.Exclamation)
Exit Sub
End If
PARENT_RECORDID = CURRENT_PARENT_RECORD_ID
Select Case ACT_EBENE '#### Hier muss nun der Parent-Record gesetzt werden ####
Case 1
EBENE1_RECID = CURRENT_PARENT_RECORD_ID
Case 2
EBENE1_RECID = CURRENT_PARENT_RECORD_ID
Case 3
EBENE2_RECID = CURRENT_PARENT_RECORD_ID
End Select
Catch ex As Exception
MsgBox("Fehler bei Load_ParentConnections:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End If
End If
Me.Cursor = Cursors.WaitCursor
@@ -1365,8 +1379,8 @@ Public Class frmConstructor_Main
CURRENT_RECORD_ID = NewRecordId
RECORD_ID = NewRecordId
SELECTED_RECORD_ID = NewRecordId
If PARENT_ID > 0 Then
If ClassControlCommandsUI.ConnectRecord(PARENT_ID, CURRENT_RECORD_ID, "INSERT RECORD") = False Then
If PARENT_ID > 0 And PARENT_RECORDID > 0 Then
If ClassControlCommandsUI.ConnectRecord(PARENT_RECORDID, CURRENT_RECORD_ID, "INSERT RECORD") = False Then
MsgBox("Unexpected Error in Connect Record - Please check the logfile and inform the admin!", MsgBoxStyle.Critical)
End If
End If
@@ -1872,14 +1886,8 @@ Public Class frmConstructor_Main
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
MsgBox("Error in GetParentID for selectedNode - Check Logfile", MsgBoxStyle.Exclamation)
Exit Sub
End If
PARENT_ID = result1.Item("PARENT_ID")
CURRENT_PARENT_ID = PARENT_ID
'Abhängig von der Entität die Selektierungs-Daten laden
Get_Grid_Sql(CONSTRUCTORID, ENTITY_ID, CURRENT_CONSTRUCTOR_DETAIL_ID)
@@ -1896,7 +1904,6 @@ Public Class frmConstructor_Main
EBENE3_RECID = 0
PARENT_RECORDID = 0
PARENT_ID = 0
EBENE1_ENTITY = TreeViewMain.SelectedNode.Text
ACT_EBENE_STRING = EBENE1_ENTITY
If LogErrorsOnly = False Then ClassLogger.Add(" >> Level 1 selected in TreeView", False)
@@ -1932,9 +1939,8 @@ Public Class frmConstructor_Main
'Wenn bereits ein Record für Ebene 1 gewählt wurde dann einschränken
If EBENE1_RECID > 0 Then
PARENT_RECORDID = EBENE1_RECID
PARENT_ID = EBENE1_RECID
If GRID_TYPE = GridType.Grid Then
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & ENTITY_ID.ToString & " T, TBPMO_RECORD_CONNECT t1 where T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = " & PARENT_ID
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & ENTITY_ID.ToString & " T, TBPMO_RECORD_CONNECT t1 where T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = " & PARENT_RECORDID
Else
_ENTITYSQL = _ENTITYSQL.Replace("@RecordID", EBENE2_RECID)
_ENTITYSQL = _ENTITYSQL.ToString.Replace("TBPMO_FORM T1", "TBPMO_FORM T1 ,TBPMO_RECORD_CONNECT T2")
@@ -1943,7 +1949,6 @@ Public Class frmConstructor_Main
End If
Else
SELECTED_RECORD_ID = 0
PARENT_ID = 0
PARENT_RECORDID = 0
NavPane.Categories.Clear()
tsslblRecord.Text = ""
@@ -1976,10 +1981,9 @@ Public Class frmConstructor_Main
If EBENE2_RECID > 0 Then
'Parent-ID setzen
PARENT_RECORDID = EBENE2_RECID
PARENT_ID = EBENE2_RECID
Try
If GRID_TYPE = GridType.Grid Then
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & ENTITY_ID.ToString & " T, TBPMO_RECORD_CONNECT t1 where T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = " & PARENT_ID
_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & ENTITY_ID.ToString & " T, TBPMO_RECORD_CONNECT t1 where T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = " & PARENT_RECORDID
Else
_ENTITYSQL = _ENTITYSQL.Replace("@RecordID", EBENE2_RECID)
_ENTITYSQL = _ENTITYSQL.ToString.Replace("TBPMO_FORM T1", "TBPMO_FORM T1 ,TBPMO_RECORD_CONNECT T2")
@@ -1992,7 +1996,6 @@ Public Class frmConstructor_Main
Else
SELECTED_RECORD_ID = 0
PARENT_ID = 0
PARENT_RECORDID = 0
NavPane.Categories.Clear()
Update_Status_Label(True, "Entity 2 skipped - All Records loaded", EditState.Update)
@@ -2010,7 +2013,7 @@ Public Class frmConstructor_Main
_ENTITYSTRING = ACT_EBENE_STRING
PARENT_ID = PARENT_RECORDID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
act_FormViewID = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBPMO_FORM_VIEW where FORM_ID = " & ENTITY_ID)
If EDIT_STATE = EditState.None Then
@@ -2179,7 +2182,7 @@ Public Class frmConstructor_Main
Select Case ACT_EBENE
Case 1
PARENT_RECORDID = Grid_RecordID
PARENT_ID = PARENT_RECORDID
CURRENT_RECORD_ID = PARENT_RECORDID
SELECTED_RECORD_ID = Grid_RecordID
RECORD_ID = Grid_RecordID
ENTITY_RELOAD_AFT_CONTROL_LOAD = False
@@ -2667,19 +2670,20 @@ Public Class frmConstructor_Main
EBENE2_RECID = PARENT_RECORD1
PARENT_RECORDID = PARENT_RECORD1
PARENT_ID = PARENT_RECORD1
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
End If
Case 2
linkedRecord = GET_LINKED_RECORD(Rec_ID, ENTITY_ID)
If linkedRecord > 0 Then
EBENE1_RECID = Rec_ID
PARENT_RECORDID = EBENE1_RECID
PARENT_ID = PARENT_RECORDID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
End If
Case 1
PARENT_RECORDID = Rec_ID
EBENE1_RECID = PARENT_RECORDID
PARENT_ID = PARENT_RECORDID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
End Select
RECORD_ID = CInt(linkedRecord)
SELECTED_RECORD_ID = RECORD_ID
@@ -2693,7 +2697,7 @@ Public Class frmConstructor_Main
Case 1
PARENT_RECORDID = RECORD_ID
EBENE1_RECID = PARENT_RECORDID
PARENT_ID = EBENE1_RECID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
If Not EBENE1_COLUMNNAME Is Nothing Then
EBENE1_GRID_RESULT = Get_GridResult(EBENE1_COLUMNNAME)
End If
@@ -2704,9 +2708,9 @@ Public Class frmConstructor_Main
End If
If EBENE1_RECID > 0 Then
PARENT_RECORDID = EBENE1_RECID
PARENT_ID = EBENE1_RECID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
Else
PARENT_ID = EBENE2_RECID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
End If
Case 3
EBENE3_RECID = SELECTED_RECORD_ID
@@ -2715,7 +2719,7 @@ Public Class frmConstructor_Main
End If
If EBENE2_RECID > 0 Then
PARENT_RECORDID = EBENE2_RECID
PARENT_ID = EBENE2_RECID
CURRENT_PARENT_RECORD_ID = PARENT_RECORDID
End If
End Select
End If
@@ -4689,15 +4693,6 @@ Public Class frmConstructor_Main
TreeViewMain.Select()
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
sw.Stop()
If LogErrorsOnly = False Then ClassLogger.Add(String.Format(" >> Load_Level1 took {0} to load", Format(elapsed, "0.000000000") & " seconds"), False)
@@ -4852,123 +4847,43 @@ Public Class frmConstructor_Main
Show_Verknuepfungen()
End Sub
Sub Show_Verknuepfungen()
If SplitContainerBottom.Collapsed = True Then
Dim msg = "Verknüpfungen ausblenden"
If USER_LANGUAGE <> "de-DE" Then
msg = "Hide record-links"
End If
VerknüpfungenAnzeigenToolStripMenuItem.Text = msg
Load_ParentConnections()
TCDetails.SelectedTabPageIndex = 0
SplitContainerBottom.Collapsed = False
Else
Dim msg = "Verknüpfungen einblenden"
If USER_LANGUAGE <> "de-DE" Then
msg = "Show record-links"
End If
VerknüpfungenAnzeigenToolStripMenuItem.Text = msg
SplitContainerBottom.Collapsed = True
'Save_GridViewParentEntityLayout()
Dim result As MsgBoxResult
Dim msg = "Möchten Sie den Parent-Datensatz für den aktuellen Datensatz wirklich aktualisieren?"
If USER_LANGUAGE <> "de-DE" Then
msg = "Would You like to change the parent-record?"
End If
End Sub
Sub Load_ParentConnections()
Try
' TODO: LINQ für Zugriff auf DT_VWPMO_CONSTRUCTOR_FORMS
Dim result = (From form In DT_VWPMO_CONSTRUCTOR_FORMS.AsEnumerable()
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()
If Not IsNothing(Parent_ID) And Not IsNothing(Colname) Then
Dim sql
If Colname = "[]" Then
Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
Else
Try
Sql = "select [Record-ID], " & Colname & " from VWTEMP_PMO_FORM" & Parent_ID.ToString
Catch ex As Exception
Sql = "select * from VWTEMP_PMO_FORM" & Parent_ID.ToString
End Try
End If
Dim DTGrid As DataTable = ClassDatabase.Return_Datatable(Sql, "VariableSelect ParentEntity")
GridControlParent.DataSource = Nothing
GridViewParent.Columns.Clear()
'Databinding Neu
GridControlParent.DataSource = DTGrid
'TabPageParentEntity.Text = "Aktuelle Parent-Entity: " & Title
GridViewParent.Columns.Item("Record-ID").Visible = False
End If
Catch ex As Exception
MsgBox("Fehler bei Load_ParentConnections:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub GridViewParent_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewParent.FocusedRowChanged
Try
If GridViewParent.RowCount > 0 Then
Dim Grid_RecordID = GridViewParent.GetFocusedRowCellValue(GridViewParent.Columns("Record-ID"))
If Grid_RecordID Is Nothing = False Then
LinkParentID = Grid_RecordID
'lblParentID.Text = Grid_RecordID.ToString & " - " & GridViewParentEntity.GetFocusedRowCellValue(GridViewParent.Columns(1))
btnRelinkParentID.BackColor = Color.DarkOrange
btnRelinkParentID.FlatAppearance.BorderColor = Color.DarkOrange
btnRelinkParentID.Enabled = True
Else
btnRelinkParentID.Enabled = False
btnRelinkParentID.BackColor = Color.WhiteSmoke
btnRelinkParentID.FlatAppearance.BorderColor = Color.WhiteSmoke
ClassLogger.Add(">> Grid_RecordID koncould not be chosen - GetFocusedParentID", True)
' lblParentID.Text = "keine Auswahl möglich"
End If
Else
btnRelinkParentID.Enabled = False
btnRelinkParentID.BackColor = Color.WhiteSmoke
btnRelinkParentID.FlatAppearance.BorderColor = Color.WhiteSmoke
'lblParentID.Text = "keine Rows gefunden"
End If
Catch ex As Exception
MsgBox("Fehler bei GetFocusedParentID:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub btnRelinkParentID_Click(sender As Object, e As EventArgs) Handles btnRelinkParentID.Click
If PARENT_ID > 0 Then
Dim result As MsgBoxResult
Dim msg = "Möchten Sie den Parent-Datensatz für den aktuellen Datensatz wirklich aktualisieren?"
If USER_LANGUAGE <> "de-DE" Then
msg = "Would You like to change the parent-record?"
End If
result = MessageBox.Show(msg, "Change parent-record:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result <> MsgBoxResult.Yes Then
Exit Sub
Else
If ClassDatabase.Execute_non_Query("DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = " & RECORD_ID & " AND RECORD1_ID = (SELECT PARENT_ID FROM TBPMO_FORM WHERE GUID = " & ENTITY_ID & ")", True) = False Then
Exit Sub
End If
End If
result = MessageBox.Show(msg, "Change parent-record:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result <> MsgBoxResult.Yes Then
Exit Sub
End If
If ClassControlCommandsUI.ConnectRecord(LinkParentID, RECORD_ID, "ReLInk ENTITY " & ENTITY_ID.ToString) = True Then
Dim sql
sql = "select * from VWTEMP_PMO_FORM" & PARENT_ID.ToString
CURRENT_PARENT_DT = ClassDatabase.Return_Datatable(sql, "VariableSelect ParentEntity")
frmChooseParentRecord.ShowDialog()
If CURRENT_PARENT_RECORD_ID = 0 Then
MsgBox("No Parent-Record selected. Changing Process will be terminated", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim del = "DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = " & RECORD_ID
If ClassDatabase.Execute_non_Query(del, True) = False Then
MsgBox("Error in deleting old Record-Link. Check the logfile", MsgBoxStyle.Exclamation)
Exit Sub
End If
If ClassControlCommandsUI.ConnectRecord(CURRENT_PARENT_RECORD_ID, RECORD_ID, "ReLInk ENTITY " & ENTITY_ID.ToString) = True Then
'Save_GridViewParentEntityLayout()
Dim msg = "Die Parent-Entität wurde erfolgreich aktualisiert!"
msg = "Die Parent-Entität wurde erfolgreich aktualisiert!"
If USER_LANGUAGE <> "de-DE" Then
msg = "The Parent-Record was changed successful!"
End If
MsgBox(msg, MsgBoxStyle.Information)
'Load_Data_for_TreeView()
btnRelinkParentID.BackColor = Color.Lime
btnRelinkParentID.FlatAppearance.BorderColor = Color.Lime
Load_Entity_Data_Only()
'Show_Verknuepfungen()
End If
End Sub
Private Sub RecordKopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RecordKopierenToolStripMenuItem.Click
Dim result As MsgBoxResult
Dim msg = "Möchten Sie den Datensatz wirklich kopieren?"