MS UserItemsReplace

This commit is contained in:
2019-12-04 13:40:05 +01:00
parent 5daf8617ed
commit 9ad1fe7709
46 changed files with 3229 additions and 1819 deletions

View File

@@ -260,7 +260,22 @@ Public Class frmConstructor_Main
End If
Next
End Sub
Private Sub Load_Configurable_Nodes()
Try
Dim oSql = String.Format("SELECT * FROM TBPMO_STRUCTURE_NODES_CONFIGURATION where TYPE_NODE = 1000 AND ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID)
NODE_CONFIGURABLE_NODES_DT = ClassDatabase.Return_Datatable(oSql, False)
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Load_Configurable_Nodes")
End Try
End Sub
Sub Load_Adding_users()
Try
Dim oSql = String.Format("SELECT * FROM TBPMO_ENTITY_USERRIGHT_ADDING where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID)
DT_ADDING_USERS = ClassDatabase.Return_Datatable(oSql, False)
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Load_Adding_users")
End Try
End Sub
Private Sub frmForm_Constructor_Main_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim sw As New SW("Form Load")
Dim DT_PROXY_ENTITY As DataTable
@@ -341,10 +356,9 @@ Public Class frmConstructor_Main
CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS = ClassDatabase.Return_Datatable(String.Format("SELECT * FROM TBPMO_ENTITY_RIGHT_CONTROLS where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID), False)
SQL = String.Format("SELECT * FROM TBPMO_ENTITY_USERRIGHT_ADDING where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID)
DT_ADDING_USERS = ClassDatabase.Return_Datatable(SQL, False)
SQL = String.Format("SELECT * FROM TBPMO_STRUCTURE_NODES_CONFIGURATION where TYPE_NODE = 1000 AND ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID)
NODE_CONFIGURABLE_NODES_DT = ClassDatabase.Return_Datatable(SQL, False)
Load_Adding_users()
Load_Configurable_Nodes()
Catch ex As System.Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, "Error in Loading Form part 2")
End Try
@@ -1551,17 +1565,20 @@ Public Class frmConstructor_Main
Dim SelectedNode As TreeNode = TryCast(TreeViewMain.SelectedNode, TreeNode)
If SelectedNode IsNot Nothing Then
Dim _TagENT_ID = ClassNodeNavigation.Return_ENTITY_FOR_TAG(SelectedNode.Tag)
If _TagENT_ID <> 0 And _TagENT_ID <> ENTITY_ID Then
If (_TagENT_ID <> 0 And _TagENT_ID <> ENTITY_ID) Or _TagENT_ID <> CURRENT_ENTITY_ID Then
ClassLogger.Add("Entity-Data needs to be reloaded...", False)
ENTITY_ID = _TagENT_ID
CURRENT_ENTITY_ID = ENTITY_ID
CURRENT_CONSTRUCTOR_ID = CONSTRUCTORID
Load_Adding_users()
Load_Configurable_Nodes()
Else
If pManually = False Then
Exit Sub
End If
End If
End If
'If NODE_NAVIGATION = True Then
@@ -2255,15 +2272,31 @@ Public Class frmConstructor_Main
Dim EditingUser = ClassRecordState.IsRecordLocked(SELECTED_RECORD_ID)
' Überprüfen, ob der Record gerade bearbeitet wird
If Not IsNothing(EditingUser) And EditingUser <> USER_USERNAME Then
If USER_IS_ADMIN = True Then
Dim msg = "Record is in work: " & vbNewLine & $"Dieser Datensatz wird gerade vom Benutzer '{EditingUser}' bearbeitet. Wollen Sie diesen entsperren?"
Dim msg1 = "Achtung"
If USER_LANGUAGE <> "de-DE" Then
msg = "Record is in work: " & vbNewLine & $"This Record is currently being edited by User '{EditingUser}'. Do You want to unlock the record?"
msg1 = "Attention"
End If
Dim result As DialogResult = MessageBox.Show(msg, msg1, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = System.Windows.Forms.DialogResult.Yes Then
ClassRecordState.UnlockRecord(SELECTED_RECORD_ID)
Exit Sub
End If
tslblLocked.Visible = True
If USER_LANGUAGE = "de-DE" Then
ClassHelper.MSGBOX_Handler("INFO", "Achtung", "Record is in work: " & vbNewLine & String.Format("Dieser Datensatz wird gerade vom Benutzer '{0}' bearbeitet und kann nur lesend abgerufen werden.", EditingUser))
Else
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Record is in work: " & vbNewLine & String.Format("This Record is currently being edited by User '{0}' and only available in Read-Only mode.", EditingUser))
tslblLocked.Visible = True
If USER_LANGUAGE = "de-DE" Then
ClassHelper.MSGBOX_Handler("INFO", "Achtung", "Record is in work: " & vbNewLine & String.Format("Dieser Datensatz wird gerade vom Benutzer '{0}' bearbeitet und kann nur lesend abgerufen werden.", EditingUser))
Else
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Record is in work: " & vbNewLine & String.Format("This Record is currently being edited by User '{0}' and only available in Read-Only mode.", EditingUser))
End If
' Wenn Record bearbeitet wird, EnableEditMode abbrechen!
Exit Sub
End If
' Wenn Record bearbeitet wird, EnableEditMode abbrechen!
Exit Sub
Else
'Wenn Record bearbeitet werden kann, IN_WORK auf 1 setzen, um Bearbeitung durch andere zu verhindern!
@@ -2480,17 +2513,12 @@ Public Class frmConstructor_Main
ClassLogger.Add("ADDING RECORDS IS PROHIBITED FOR ENTITY: " & ENTITY_ID, False)
End If
'sql = String.Format("select * from TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE VISIBLE = 1 AND ENTITY_ID = {0} AND LANGUAGE = '{1}' ORDER BY SEQUENCE", ENTITY_ID, USER_LANGUAGE) 'TBPMO_WINDREAM_RESULTLIST_CONFIG"
expression = String.Format("ENTITY_ID = {0} AND LANGUAGE = '{1}'", ENTITY_ID, USER_LANGUAGE)
DT_WINDREAM_COLUMNS_GRID = ClassHelper.FILTER_DATATABLE(CURRENT_RESULTLIST_CONFIG, expression, "SEQUENCE") 'ClassDatabase.Return_Datatable(sql, True)
expression = String.Format("ENTITY_ID = {0} AND TYPE_ID = 3 AND LANGUAGE = '{1}'", ENTITY_ID, USER_LANGUAGE)
'sql = String.Format("select T.*, T1.HEADER_CAPTION from TBPMO_DOCRESULT_DROPDOWN_ITEMS T, TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WHERE T.CONFIG_ID = T1.GUID AND T.CONFIG_ID IN (SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = {0} AND TYPE_ID = 3 AND LANGUAGE = '{1}') ORDER BY T.SEQUENCE ", ENTITY_ID, USER_LANGUAGE)
DT_DOCRESULT_DROPDOWN_ITEMS = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_DOCRESULT_DROPDOWN_ITEMS, expression, "SEQUENCE") 'ClassDatabase.Return_Datatable(sql, True)
'sql = String.Format("select * from TBPMO_DOCSEARCH_VARIABLE_CONTROLS WHERE ENTITY_ID = {0}", ENTITY_ID)
DT_RESULTLIST_OPTIONS = ClassHelper.FILTER_DATATABLE(CURRENT_VARIABLE_CONTROLS, "ENTITY_ID = " & ENTITY_ID, "") ' ClassDatabase.Return_Datatable(sql, True)
' sql = String.Format("select * from TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE VISIBLE = 1 AND ENTITY_ID = {0} AND LANGUAGE = '{1}' AND COLUMN_VIEW LIKE 'VALUE%' ORDER BY SEQUENCE", ENTITY_ID, USER_LANGUAGE)
expression = String.Format("ENTITY_ID = {0} AND LANGUAGE = '{1}' AND COLUMN_VIEW LIKE 'VALUE%'", ENTITY_ID, USER_LANGUAGE)
DT_RESULTLIST_VARIABLE_VALUE = ClassHelper.FILTER_DATATABLE(CURRENT_RESULTLIST_CONFIG, expression, "SEQUENCE") 'ClassDatabase.Return_Datatable(sql, True)
Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable()
@@ -3728,6 +3756,50 @@ Public Class frmConstructor_Main
sw.Done()
Cursor = Cursors.Default
End Sub
Private Sub RUN_ENTITY_DOC_SEARCH()
Dim sw As New SW("RUN_ENTITY_DOC_SEARCH")
Try
Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {ENTITY_ID}"
CURRENT_DOCSEARCH_SQL = ClassDatabase.Execute_Scalar(oSQL, True)
Dim oText = $"Die Entität-weite Suche wird im Hintergrund ausgeführt und angezeigt sobald sie fertig ist."
If USER_LANGUAGE <> "de-De" Then
oText = $"The entity-wide search will be started in background. The result will be displayed when ready."
End If
MsgBox(oText, vbOKOnly, "Information")
If CURRENT_DOCSEARCH_SQL = "" Then
CURRENT_DOCSEARCH_SQL = String.Format("SELECT DISTINCT T.* " & vbNewLine &
"FROM " & vbNewLine &
"VWPMO_DOC_SEARCH T" & vbNewLine &
"WHERE T.DocID IN (select DISTINCT T.DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0}) " & vbNewLine &
"AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {2} AND dwObjectID = T.DocID)", ENTITY_ID, USER_LANGUAGE, USERID_FK_INT_ECM)
Else
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@ENTITY_ID", ENTITY_ID)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_LANGUAGE", USER_LANGUAGE)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_ECM_ID", USERID_FK_INT_ECM)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_ID", USER_GUID)
End If
If USER_LANGUAGE <> "de-DE" Then
CURRENT_DOCSEARCH_CAPTION = "Entity-wide search"
Else
CURRENT_DOCSEARCH_CAPTION = "Entitätssuche"
End If
Dim myformThread = New Thread(Sub()
Using frm As New frmDocSearchResult
Application.Run(frm)
End Using
End Sub)
myformThread.Start()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error RUN_ENTITY_DOC_SEARCH", ex.Message, ex.StackTrace)
End Try
sw.Done()
End Sub
Private Sub RUN_WDSEARCH_GRID()
Me.Cursor = Cursors.WaitCursor
Dim sw As New SW("RUN_WDSEARCH_GRID")
@@ -4250,16 +4322,30 @@ Public Class frmConstructor_Main
End If
End Sub
Private Sub ButtonResetView_Click(sender As Object, e As EventArgs) Handles ButtonResetView.Click
'TODO: Ansicht zurücksetzen
Reset_View_layout
End Sub
Sub Reset_View_layout()
Try
Dim XMLPath = Get_Grid_Layout_Filename()
Dim XMLPath = Get_DocGrid_Layout_Filename()
If File.Exists(XMLPath) Then
Me.Cursor = Cursors.WaitCursor
File.Delete(XMLPath)
Load_Entity_Data_CONTROLS_RECORDS()
GridControlDocSearch.DataSource = Nothing
GridViewDoc_Search.Columns.Clear()
RUN_WDSEARCH_GRID()
Else
MsgBox("Set back of Layout not successfull - File not existing!", MsgBoxStyle.Information)
End If
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Reset Layout Grid: ", ex.Message)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Reset Layout DocGrid: ", ex.Message)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub AnsichtZurücksetzenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles docCM_ResetView.Click
' TODO: Ansicht zurücksetzen
Reset_View_layout()
End Sub
#End Region
@@ -5319,13 +5405,13 @@ Public Class frmConstructor_Main
End Sub
Private Sub GridViewDoc_Search_FocusedColumnChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedColumnChangedEventArgs) Handles GridViewDoc_Search.FocusedColumnChanged
GridViewDoc_Search.EndSelection()
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
Refresh_DocID()
End Sub
Private Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
GridViewDoc_Search.EndSelection()
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
Refresh_DocID()
End Sub
@@ -5767,11 +5853,14 @@ Public Class frmConstructor_Main
Dim rowcolorname As String = ""
'Die Color für den value auswählen
For Each matchingRow As DataRow In matchingRows
rowcolorname = matchingRow.Item("COLOR")
If rowcolorname <> "" Then
Exit For
rowcolorname = ""
If Not IsDBNull(matchingRow.Item("COLOR")) Then
rowcolorname = matchingRow.Item("COLOR")
End If
If rowcolorname <> "" Then
Exit For
End If
Next
If rowcolorname <> "" Then
ColorRow = Color.FromName(rowcolorname)
@@ -5824,7 +5913,7 @@ Public Class frmConstructor_Main
e.Cancel = True
End If
Me.Cursor = Cursors.WaitCursor
GridViewDoc_Search.EndSelection()
ClassWindreamDocGrid.GetDocItems(GridViewDoc_Search)
If IsNothing(ClassWindreamDocGrid.DT_RESULTFILES) Then
e.Cancel = True
@@ -5947,26 +6036,7 @@ Public Class frmConstructor_Main
RUN_WDSEARCH_GRID()
End If
End Sub
Private Sub AnsichtZurücksetzenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles docCM_ResetView.Click
' TODO: Ansicht zurücksetzen
Try
Dim XMLPath = Get_DocGrid_Layout_Filename()
If File.Exists(XMLPath) Then
Me.Cursor = Cursors.WaitCursor
File.Delete(XMLPath)
GridControlDocSearch.DataSource = Nothing
GridViewDoc_Search.Columns.Clear()
RUN_WDSEARCH_GRID()
Else
MsgBox("Set back of Layout not successfull - File not existing!", MsgBoxStyle.Information)
End If
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Reset Layout DocGrid: ", ex.Message)
End Try
Me.Cursor = Cursors.Default
End Sub
Sub Set_Displayname()
Try
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
@@ -6423,7 +6493,7 @@ Public Class frmConstructor_Main
End Sub
Private Sub docCMEntityWideSearch_Click(sender As Object, e As EventArgs) Handles docCMEntityWideSearch.Click
CURRENT_SEARCH_TYPE = "ENTITY"
RUN_WDSEARCH_GRID()
RUN_ENTITY_DOC_SEARCH()
End Sub
Private Sub tsbtnDoc_Refresh_Click(sender As Object, e As EventArgs) Handles tsbtnDoc_Refresh.Click
@@ -6668,7 +6738,7 @@ Public Class frmConstructor_Main
Private Sub EnitätssucheToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles tsmientitySearch.Click
CURRENT_SEARCH_TYPE = "ENTITY"
RUN_WDSEARCH_GRID()
RUN_ENTITY_DOC_SEARCH()
End Sub
Private Sub OberhalbToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OberhalbToolStripMenuItem.Click
@@ -7243,4 +7313,8 @@ Public Class frmConstructor_Main
MsgBox("Unexpected Error in Showing DocLinks: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub tsmiNodeNew_Click(sender As Object, e As EventArgs) Handles tsmiNodeNew.Click
End Sub
End Class