This commit is contained in:
SchreiberM
2016-08-22 15:22:33 +02:00
parent 98a527c8b8
commit 7a9b460360
16 changed files with 1061 additions and 119 deletions

View File

@@ -19,7 +19,7 @@ Public Class frmReworkUsers
cmbUser.DataSource = Nothing
cmbUser.DataSource = DT_WORK_USER_RIGHTS
cmbUser.ValueMember = DT_WORK_USER_RIGHTS.Columns(0).ColumnName
cmbUser.DisplayMember = DT_WORK_USER_RIGHTS.Columns(1).ColumnName
cmbUser.DisplayMember = DT_WORK_USER_RIGHTS.Columns(2).ColumnName
If DT_WORK_USER_RIGHTS.Rows.Count = 0 Then
MsgBox("No more Users to rework. Form will be closed!", MsgBoxStyle.Information)
Me.Close()
@@ -34,6 +34,19 @@ Public Class frmReworkUsers
If cmbUser.SelectedIndex <> -1 Then
GUID_WORKING = 0
Try
Dim USER_ID As Integer
Dim expression As String
expression = "TYPE_NODE = 0"
Dim foundRowsLevel0() As DataRow
' Use the Select method to find all rows matching the filter.
foundRowsLevel0 = DT_WORK_USER_RIGHTS.Select(expression)
Dim i As Integer
' For each row
For i = 0 To foundRowsLevel0.GetUpperBound(0)
USER_ID = foundRowsLevel0(i)("USER_ID")
Next
ENTITIES_WORKED = 0
Try
ECM_USER_ID = ClassDatabase.Execute_Scalar(String.Format("SELECT USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = (SELECT USER_ID FROM TBPMO_USER_RIGHTS_JOBS WHERE GUID = {0} )", cmbUser.SelectedValue))
@@ -46,11 +59,20 @@ Public Class frmReworkUsers
Dim sql = String.Format("SELECT ENTITY_ID FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {0}) GROUP BY ENTITY_ID", ECM_USER_ID)
Dim DT_ENTITY As DataTable = ClassDatabase.Return_Datatable(sql)
COUNT_ENTITIES = DT_ENTITY.Rows.Count
If DT_ENTITY.Rows.Count = 0 Then
MsgBox("No files found for User. Job will be terminated!")
Finish_Job()
Exit Sub
End If
For Each row As DataRow In DT_ENTITY.Rows
CURR_ENTITY = row.Item("ENTITY_ID")
sql = String.Format("SELECT * FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = {0}) AND ENTITY_ID = {1}", ECM_USER_ID, row.Item("ENTITY_ID"))
DT_FILES = ClassDatabase.Return_Datatable(sql)
If DT_FILES.Rows.Count = 0 Then
MsgBox("No files found for User. Job will be terminated!")
Finish_Job()
Exit Sub
End If
If DD_Rights.ClassRights.Init(row.Item("ENTITY_ID"), chklogging.Checked, DT_FILES.Rows.Count) = False Then
MsgBox("Could not init rights management. " & vbNewLine & "Check logfile", MsgBoxStyle.Critical)
Exit Sub
@@ -95,7 +117,7 @@ Public Class frmReworkUsers
e.Cancel = True
Exit For
Else
If DD_Rights.ClassRights.Collect_Users(row.Item("RECORD_ID")) = True Then
If DD_Rights.ClassRights.Collect_Users(row.Item("RECORD_ID"), row.Item("ENTITY_ID")) = True Then
WorkingFiles += 1
If DD_Rights.ClassRights.File_DeleteAndSetRight(row.Item("DocID"), row.Item("FULL_FILENAME"), True) Then
If DD_Rights.ClassRights.MSG_RESULT <> "" Then
@@ -135,13 +157,7 @@ Public Class frmReworkUsers
lblstate.Visible = False
If _error = False Then
If ENTITIES_WORKED = COUNT_ENTITIES Then
Dim upd = String.Format("UPDATE TBPMO_USER_RIGHTS_JOBS SET WORKED = 1, CHANGED_WHO = 'JOB-RIGHTS FINISHER' WHERE GUID = {0}", GUID_WORKING)
If ClassDatabase.Execute_non_Query(upd) = True Then
'Überprüfen ob es User gibt die aktualisiert werden müssen
Dim Sql = SQL_USER_RIGHTS_CHANGED
DT_WORK_USER_RIGHTS = ClassDatabase.Return_Datatable(Sql)
Refresh_Combo()
End If
Finish_Job()
MsgBox("All rights of files belonging to entity/User were checked and refreshed successfully!", MsgBoxStyle.Information)
End If
@@ -151,5 +167,15 @@ Public Class frmReworkUsers
Catch ex As Exception
End Try
End Sub
Private Sub Finish_Job()
Dim upd = String.Format("UPDATE TBPMO_USER_RIGHTS_JOBS SET WORKED = 1, CHANGED_WHO = 'JOB-RIGHTS FINISHER' WHERE GUID = {0}", GUID_WORKING)
If ClassDatabase.Execute_non_Query(upd) = True Then
'Überprüfen ob es User gibt die aktualisiert werden müssen
Dim Sql = SQL_USER_RIGHTS_CHANGED
DT_WORK_USER_RIGHTS = ClassDatabase.Return_Datatable(Sql)
Refresh_Combo()
End If
End Sub
End Class