From 1cd24f6637f00c02cbb06858fdef606b3268eee6 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Thu, 30 Jan 2025 15:13:58 +0100 Subject: [PATCH] MS Adding documents --- .../Classes/ClassFolderWatcher.vb | 12 +--- .../Classes/ClassHelper.vb | 10 ++++ .../Classes/ClassWDRights.vb | 56 +++++++++++-------- .../My Project/AssemblyInfo.vb | 2 +- .../frmConstructor_Main.vb | 2 +- app/DD-Record-Organizer/frmNodeNavigation.vb | 2 +- .../frmRecOrgConfig_Basic.vb | 19 +++++-- app/DD-Record-Organizer/frmScanFiles.vb | 2 +- app/DD-Record-Organizer/frmWM_IndexFile.vb | 3 + app/Setup_NoUpdaterVS19/Product.wxs | 25 +++++---- 10 files changed, 76 insertions(+), 57 deletions(-) diff --git a/app/DD-Record-Organizer/Classes/ClassFolderWatcher.vb b/app/DD-Record-Organizer/Classes/ClassFolderWatcher.vb index c392264..639e434 100644 --- a/app/DD-Record-Organizer/Classes/ClassFolderWatcher.vb +++ b/app/DD-Record-Organizer/Classes/ClassFolderWatcher.vb @@ -87,7 +87,7 @@ Public Class ClassFolderWatcher 'Die Datei übergeben LOGGER.Debug("OnCreated-File:" & e.FullPath) If FileExistsinDropTable(CURRENT_FILENAME) = False Then - Insert_USER_File(e.FullPath, handleType) + ClassHelper.Insert_USER_File(e.FullPath, handleType) Else Console.WriteLine("File existiert bereits") End If @@ -111,16 +111,6 @@ Public Class ClassFolderWatcher End Try End Function - Public Shared Function Insert_USER_File(filename As String, handleType As String) - Try - Dim filename_only As String = Path.GetFileName(filename) - Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK,HANDLE_TYPE,FILENAME_ONLY) VALUES ('{0}','{1}','{2}','{3}')", filename, USER_USERNAME, handleType, filename_only) - Return MYDB_ECM.ExecuteNonQuery(ins) - Catch ex As Exception - MsgBox("Unexpected Error in Insert Scan-File: " & ex.Message, MsgBoxStyle.Critical) - Return False - End Try - End Function Public Shared Function DELETE_SCAN_File(filename As String) Try Dim filename_only As String = Path.GetFileName(filename) diff --git a/app/DD-Record-Organizer/Classes/ClassHelper.vb b/app/DD-Record-Organizer/Classes/ClassHelper.vb index 268dc60..aa23479 100644 --- a/app/DD-Record-Organizer/Classes/ClassHelper.vb +++ b/app/DD-Record-Organizer/Classes/ClassHelper.vb @@ -446,4 +446,14 @@ Public Class ClassHelper Return False End Try End Function + Public Shared Function Insert_USER_File(filename As String, handleType As String) + Try + Dim filename_only As String = Path.GetFileName(filename) + Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK,HANDLE_TYPE,FILENAME_ONLY) VALUES ('{0}','{1}','{2}','{3}')", filename, USER_USERNAME, handleType, filename_only) + Return MYDB_ECM.ExecuteNonQuery(ins) + Catch ex As Exception + MsgBox("Unexpected Error in Insert Scan-File: " & ex.Message, MsgBoxStyle.Critical) + Return False + End Try + End Function End Class diff --git a/app/DD-Record-Organizer/Classes/ClassWDRights.vb b/app/DD-Record-Organizer/Classes/ClassWDRights.vb index 8931f1b..38b2cad 100644 --- a/app/DD-Record-Organizer/Classes/ClassWDRights.vb +++ b/app/DD-Record-Organizer/Classes/ClassWDRights.vb @@ -86,10 +86,10 @@ Public Class ClassWDRights If Not IsNothing(oSession) Then LOGGER.Debug("Session created.") - Dim sql = String.Format("SELECT * FROM [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] ({0}) where USER_OR_GROUP = 'USER'", doc_id) - DT_USER_RIGHT = MYDB_ECM.GetDatatable(sql) - sql = String.Format("SELECT * FROM [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] ({0}) where USER_OR_GROUP = 'GROUP'", doc_id) - DT_GROUP_RIGHT = MYDB_ECM.GetDatatable(sql) + Dim oSql = String.Format("SELECT * FROM [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] ({0},{1}) where USER_OR_GROUP = 'USER'", doc_id, CURRENT_ENTITY_ID) + DT_USER_RIGHT = MYDB_ECM.GetDatatable(oSql) + oSql = String.Format("SELECT * FROM [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] ({0},{1}) where USER_OR_GROUP = 'GROUP'", doc_id, CURRENT_ENTITY_ID) + DT_GROUP_RIGHT = MYDB_ECM.GetDatatable(oSql) If IsNothing(DT_USER_RIGHT) Then Dim msg = "Error while receiving rights for DocID" LOGGER.Warn(msg) @@ -127,6 +127,11 @@ Public Class ClassWDRights End If '############################# Rechte löschen ################################################################################ '############################################################################################################################# + + If Not (DT_USER_RIGHT.Rows.Count > 0 Or DT_GROUP_RIGHT.Rows.Count > 0) Then + LOGGER.Warn("ONLY FOLDERRIGHTS WILL BE USED, AS NO RIGHTS WERE FOUND!") + Return True + End If If deleterights = True Then LOGGER.Debug("rights for document will now be deleted.") 'Erst einmal alle anderen Rechte löschen @@ -151,7 +156,7 @@ Public Class ClassWDRights Else _msg = "Right for User: '" & UserOrGroup.aName & "'""" End If - LOGGER.Debug(String.Format("[{0}] will now be deleted.", _msg)) + LOGGER.Debug(String.Format("[{0}] will now be deleted ...", _msg)) If Err.Number <> 0 Then Dim msg = "Error in setting UserGroupRelation - Err.Number: " & Err.Number & vbCrLf & Err.Description LOGGER.Warn(msg) @@ -169,9 +174,10 @@ Public Class ClassWDRights End Try i += 1 _msg = _msg.Replace(" '", "") - LOGGER.Debug(String.Format("{0} was deleted.", _msg)) + LOGGER.Debug(String.Format("{0} has been deleted!", _msg)) Next - LOGGER.Debug("All rights for doc were deleted....") + LOGGER.Debug("All rights for doc were deleted!") + LOGGER.Debug("================================") End If Err.Clear() @@ -179,29 +185,30 @@ Public Class ClassWDRights ' dann muss mindestens EIN Rechteträger mit dem Recht zur Rechteänderung ' wieder zugefügt werden!!!!! Dies ist der OrgFlow-Right User! 'Für jeden User das Recht einzeln hinzufügen + LOGGER.Debug("Nun hinzufügen von User-Rechten ...") For Each User_Row As DataRow In DT_USER_RIGHT.Rows - Dim fileright 'Recht als Integer - Dim StringUserRight + Dim ofilerightfromFunc 'Recht als Integer + Dim oFileRightString + oFileRightString = AD_DOMAIN & "\" & User_Row.Item("USR_NAME") + ofilerightfromFunc = User_Row.Item("USR_RIGHT") Try - StringUserRight = AD_DOMAIN & "\" & User_Row.Item("USR_NAME") - fileright = User_Row.Item("USR_RIGHT") - LOGGER.Debug(String.Format("Working on right for user-right: {0}-{1}", StringUserRight, fileright)) + LOGGER.Debug(String.Format("Working on right for user-right: {0}-{1}", oFileRightString, ofilerightfromFunc)) Try ' User holen - oUSer = oSession.GetWMObjectByName(WMEntityUser, StringUserRight) + oUSer = oSession.GetWMObjectByName(WMEntityUser, oFileRightString) LOGGER.Debug("got oUSer...") Catch ex As Exception - Dim msg = String.Format("Could not create windream-Usersession for user '{0}' - check whether user is part of windream-group!", StringUserRight) + Dim msg = String.Format("Could not create windream-Usersession for user '{0}' - check whether user is part of windream-group!", oFileRightString) LOGGER.Warn(msg) MSG_RESULT &= msg & vbNewLine Continue For End Try If Not IsNothing(oUSer) Then Try - AccessRights.Insert2(oUSer, fileright) 'WMAccessRightAllRights) - LOGGER.Debug("Right was set...") + AccessRights.Insert2(oUSer, ofilerightfromFunc) 'WMAccessRightAllRights) + LOGGER.Debug("==> Right was set!") Catch ex As Exception - Dim msg = String.Format("Could not set right for user {0} - AccessRights.Insert2: {1}", StringUserRight, ex.Message) + Dim msg = String.Format("Could not set right for user {0} - AccessRights.Insert2: {1}", oFileRightString, ex.Message) LOGGER.Warn(msg) Continue For End Try @@ -209,7 +216,7 @@ Public Class ClassWDRights Catch ex As Exception Dim _right - Select Case fileright + Select Case ofilerightfromFunc Case WMAccessRightRead _right = "READ" Case WMAccessRightWrite @@ -221,13 +228,14 @@ Public Class ClassWDRights Case WMAccessRightReadWrite _right = "READ WRITE" End Select - MSG_RESULT &= String.Format("Error while working on RightChange:" & vbNewLine & "Fileright: {0}" & vbNewLine & "User: {1} " & vbNewLine & "File: {2}", _right, StringUserRight, reldocpath) & vbNewLine + MSG_RESULT &= String.Format("Error while working on RightChange:" & vbNewLine & "Fileright: {0}" & vbNewLine & "User: {1} " & vbNewLine & "File: {2}", _right, oFileRightString, reldocpath) & vbNewLine LOGGER.Warn(ex.Message) - End Try - Next + End Try + Next - 'Für jede Gruppe das Recht einzeln hinzufügen + 'Für jede Gruppe das Recht einzeln hinzufügen + LOGGER.Debug("Nun hinzufügen von Gruppen-Rechten ...") For Each Group_Row As DataRow In DT_GROUP_RIGHT.Rows Dim fileright 'Recht als Integer Dim StringGroupRight @@ -235,7 +243,7 @@ Public Class ClassWDRights Try StringGroupRight = AD_DOMAIN & "\" & Group_Row.Item("USR_NAME") fileright = Group_Row.Item("USR_RIGHT") - LOGGER.Debug(String.Format("Working on right for group-right: {0}-{1}", StringGroupRight, fileright)) + LOGGER.Debug(String.Format("Working on right for group-right: {0}-{1} ...", StringGroupRight, fileright)) Try ' User holen _oGroup = oSession.GetWMObjectByName(WMEntityGroups, StringGroupRight) @@ -250,7 +258,7 @@ Public Class ClassWDRights If Not IsNothing(_oGroup) Then Try AccessRights.Insert2(_oGroup, fileright) 'WMAccessRightAllRights) - LOGGER.Debug("Right was set...") + LOGGER.Debug("==> Right was set!") Catch ex As Exception Dim msg = String.Format("Could not set right for docID: {0} group {1} - AccessRights.Insert2: {2}", doc_id, StringGroupRight, ex.Message) LOGGER.Warn(msg) diff --git a/app/DD-Record-Organizer/My Project/AssemblyInfo.vb b/app/DD-Record-Organizer/My Project/AssemblyInfo.vb index a22443d..10c6657 100644 --- a/app/DD-Record-Organizer/My Project/AssemblyInfo.vb +++ b/app/DD-Record-Organizer/My Project/AssemblyInfo.vb @@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + \ No newline at end of file diff --git a/app/DD-Record-Organizer/frmConstructor_Main.vb b/app/DD-Record-Organizer/frmConstructor_Main.vb index 9877391..70d151c 100644 --- a/app/DD-Record-Organizer/frmConstructor_Main.vb +++ b/app/DD-Record-Organizer/frmConstructor_Main.vb @@ -4621,7 +4621,7 @@ Public Class frmConstructor_Main MsgBox("File contains invalid operator '!" & vbNewLine & "Please rename file and try again!", MsgBoxStyle.Exclamation) Continue For End If - ClassFolderWatcher.Insert_USER_File(CURRENT_WORKFILE, DropType) + ClassHelper.Insert_USER_File(CURRENT_WORKFILE, DropType) End If End If Next diff --git a/app/DD-Record-Organizer/frmNodeNavigation.vb b/app/DD-Record-Organizer/frmNodeNavigation.vb index cd7c688..5b29e23 100644 --- a/app/DD-Record-Organizer/frmNodeNavigation.vb +++ b/app/DD-Record-Organizer/frmNodeNavigation.vb @@ -2117,7 +2117,7 @@ Public Class frmNodeNavigation MsgBox("File contains invalid operator '!" & vbNewLine & "Please rename file and try again!", MsgBoxStyle.Exclamation) Continue For End If - ClassFolderWatcher.Insert_USER_File(CURRENT_WORKFILE, DropType) + ClassHelper.Insert_USER_File(CURRENT_WORKFILE, DropType) End If End If Next diff --git a/app/DD-Record-Organizer/frmRecOrgConfig_Basic.vb b/app/DD-Record-Organizer/frmRecOrgConfig_Basic.vb index e97a520..26a32a2 100644 --- a/app/DD-Record-Organizer/frmRecOrgConfig_Basic.vb +++ b/app/DD-Record-Organizer/frmRecOrgConfig_Basic.vb @@ -168,13 +168,20 @@ Public Class frmRecOrgConfig_Basic Dim oWMMOD As DigitalData.Modules.Windream.Windream = New DigitalData.Modules.Windream.Windream(LOGCONFIG, False, WMDriveLetter, WMPATH_PREFIX, True, Me.txtServername.Text, Me.txtUser.Text, Me.txtPW.Text, Me.txtDomäne.Text) If Not IsNothing(oWMMOD) Then MsgBox("The persionalized connection to windream was created successfully!", MsgBoxStyle.Information) - Dim wrapper As New ClassEncryption("!35452didalog=") - Dim cipherText As String = wrapper.EncryptData(Me.txtPW.Text) - Dim pw As String = cipherText + Dim oresult As MsgBoxResult + Dim msg = "The persionalized connection to windream was created successfully! Do You want to save this configuration?" + + oresult = MessageBox.Show(msg, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If oresult = MsgBoxResult.Yes Then + Dim wrapper As New ClassEncryption("!35452didalog=") + Dim cipherText As String = wrapper.EncryptData(Me.txtPW.Text) + Dim pw As String = cipherText + + Dim upd = String.Format("UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET AD_DOMAIN = '{0}', AD_USER = '{1}', AD_USER_PW = '{2}', AD_SERVER = '{3}', CHANGED_WHO = '{4}' WHERE GUID = 1", Me.txtDomäne.Text, Me.txtUser.Text, pw, Me.txtServername.Text, USER_USERNAME) + MYDB_ECM.ExecuteNonQuery(upd) + btnsave.Enabled = False + End If - Dim upd = String.Format("UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET AD_DOMAIN = '{0}', AD_USER = '{1}', AD_USER_PW = '{2}', AD_SERVER = '{3}', CHANGED_WHO = '{4}' WHERE GUID = 1", Me.txtDomäne.Text, Me.txtUser.Text, pw, Me.txtServername.Text, USER_USERNAME) - MYDB_ECM.ExecuteNonQuery(upd) - btnsave.Enabled = False Else MsgBox("The persionalized connection to windream could NOT be created." & vbNewLine & "Please check the User-Data!", MsgBoxStyle.Critical) End If diff --git a/app/DD-Record-Organizer/frmScanFiles.vb b/app/DD-Record-Organizer/frmScanFiles.vb index 32e5548..f849578 100644 --- a/app/DD-Record-Organizer/frmScanFiles.vb +++ b/app/DD-Record-Organizer/frmScanFiles.vb @@ -48,7 +48,7 @@ Public Class frmScanFiles Else handletype = "SCAN" End If - ClassFolderWatcher.Insert_USER_File(fri.FullName, handletype) + ClassHelper.Insert_USER_File(fri.FullName, handletype) End If Next fri ClassFolderWatcher.Check_Scan_Files() diff --git a/app/DD-Record-Organizer/frmWM_IndexFile.vb b/app/DD-Record-Organizer/frmWM_IndexFile.vb index 922fb59..5a09fc4 100644 --- a/app/DD-Record-Organizer/frmWM_IndexFile.vb +++ b/app/DD-Record-Organizer/frmWM_IndexFile.vb @@ -37,6 +37,8 @@ Public Class frmWM_IndexFile Try CURRENT_DOC_ID = Nothing Dim odeleteRights As Boolean = True + Dim oSQL = $"SELECT GUID FROM TBPMO_FILES_USER WHERE FILENAME2WORK = '{ImportFilePath}' AND WORKED = 0 AND USER_WORK = '{Environment.UserName}'" + CURRENT_FILEID = MYDB_ECM.GetScalarValue(oSQL) CURRENT_DOKARTSTRING = vDokart Dim err As Boolean = False @@ -293,6 +295,7 @@ Public Class frmWM_IndexFile ClassFileResult.DocID = CURRENT_DOC_ID ClassFileResult.SET_DOCID_INDICES() If ClassDOC_SEARCH.CREATE_DOC_RELATED_LINKS(CURRENT_DOC_ID, CURRENT_RECORD_ID) = False Then + stg = "Unerwarteter Fehler: Der Record-Link konnte nicht erzeugt werden! Überprüfen Sie das Log." If USER_LANGUAGE <> "de-DE" Then stg = "Unexpected Error: Could not create the recordlink! Please check the log." diff --git a/app/Setup_NoUpdaterVS19/Product.wxs b/app/Setup_NoUpdaterVS19/Product.wxs index 41b2f04..b595a46 100644 --- a/app/Setup_NoUpdaterVS19/Product.wxs +++ b/app/Setup_NoUpdaterVS19/Product.wxs @@ -111,13 +111,13 @@ - - - - - - - + + + + + + + @@ -149,7 +149,8 @@ - + + @@ -174,10 +175,10 @@ - - - - + + + +