MS WMsharedrive Integration

This commit is contained in:
2022-11-11 14:37:36 +01:00
parent f01ffe312d
commit 01b066e4e3
19 changed files with 280 additions and 435 deletions

View File

@@ -513,15 +513,6 @@ Public Class ClassDOC_SEARCH
End Try
End Function
Public Shared Function REFRESH_DOC_TABLE_RESULTS()
Try
Dim execute = "EXEC[dbo].[PRPMO_DOCRESULT_CHANGE]"
Return ClassDatabase.Execute_non_Query_withConn(execute, 1)
Catch ex As Exception
MsgBox("Unexpected Error in REFRESH_TABLE_RESULTS: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Public Shared Function CREATE_DOC_RELATED_LINKS(DOC_ID As Integer, RECORD_ID As Integer)
Try
Dim execute = String.Format("EXEC [dbo].[PRPMO_DOC_CREATE_NEW_DOC] {0},{1},'{2}'", DOC_ID, RECORD_ID, USER_USERNAME)

View File

@@ -89,44 +89,49 @@ Public Class ClassGridFormatter
End Function
Public Sub FormatGridView(gridView As GridView)
If IsNothing(gridView.GridControl.DataSource) Then
Throw New Exception("Error in FormatGridView: DataSource is Empty!")
End If
' Editoren zum Grid hinzufügen
gridView.GridControl.RepositoryItems.AddRange({checkboxEdit, dateEdit})
For Each columnName As String In Me.dateColumns
Dim column As GridColumn = gridView.Columns(columnName)
If Not IsNothing(column) Then
column.DisplayFormat.FormatType = FormatType.DateTime
column.DisplayFormat.FormatString = CURRENT_DATE_FORMAT
column.OptionsFilter.FilterPopupMode = FilterPopupMode.Date
column.FilterMode = ColumnFilterMode.Value ' was DisplayText
column.ColumnEdit = dateEdit
Try
If IsNothing(gridView.GridControl.DataSource) Then
Throw New Exception("Error in FormatGridView: DataSource is Empty!")
End If
Next
For Each columnName As String In Me.checkboxColumns
Dim column As GridColumn = gridView.Columns(columnName)
' Editoren zum Grid hinzufügen
gridView.GridControl.RepositoryItems.AddRange({checkboxEdit, dateEdit})
If Not IsNothing(column) Then
column.ColumnEdit = checkboxEdit
End If
Next
For Each columnName As String In Me.dateColumns
Dim column As GridColumn = gridView.Columns(columnName)
currencyColumns = GetCurrencyColumns()
If Not IsNothing(column) Then
column.DisplayFormat.FormatType = FormatType.DateTime
column.DisplayFormat.FormatString = CURRENT_DATE_FORMAT
column.OptionsFilter.FilterPopupMode = FilterPopupMode.Date
column.FilterMode = ColumnFilterMode.Value ' was DisplayText
column.ColumnEdit = dateEdit
End If
Next
For Each columnName As String In currencyColumns
Dim column As GridColumn = gridView.Columns(columnName)
For Each columnName As String In Me.checkboxColumns
Dim column As GridColumn = gridView.Columns(columnName)
If Not IsNothing(column) Then
column.ColumnEdit = checkboxEdit
End If
Next
currencyColumns = GetCurrencyColumns()
For Each columnName As String In currencyColumns
Dim column As GridColumn = gridView.Columns(columnName)
If Not IsNothing(column) Then
column.DisplayFormat.FormatType = FormatType.Numeric
column.DisplayFormat.FormatString = "C"
column.DisplayFormat.Format = New CurrencyFormatter()
End If
Next
Catch ex As Exception
LOGGER.Warn("Unexpected Error in FormatGridView: " & ex.Message)
End Try
If Not IsNothing(column) Then
column.DisplayFormat.FormatType = FormatType.Numeric
column.DisplayFormat.FormatString = "C"
column.DisplayFormat.Format = New CurrencyFormatter()
End If
Next
End Sub

View File

@@ -10,11 +10,11 @@ Public Class ClassHelper
Try
Dim ochanged As Boolean = False
If WMpath.StartsWith("W:") Then
WMpath = WMpath.Replace("W:", "\\windream\Objects")
WMpath = WMpath.Replace("W:", WMPATH_PREFIX)
ochanged = True
ElseIf WMpath.StartsWith("\") Then
If WMpath.StartsWith("\\windream\Objects") = False Then
WMpath = "\\windream\Objects" & WMpath
If WMpath.StartsWith(WMPATH_PREFIX) = False Then
WMpath = WMPATH_PREFIX & WMpath
ochanged = True
End If
End If
@@ -24,6 +24,23 @@ Public Class ClassHelper
Return WMpath
End Try
End Function
Public Shared Function GetRelPath(WMpath As String)
Try
If WMpath.StartsWith("W:") Then
WMpath = WMpath.Replace("W:", "")
ElseIf WMpath.StartsWith("\") Then
If WMpath.StartsWith(WMPATH_PREFIX) = False Then
WMpath = WMpath.Replace("WMPATH_PREFIX:", "")
End If
End If
LOGGER.Debug("WMpath is: " & WMpath)
Return WMpath
Catch ex As Exception
Return WMpath
End Try
End Function
Public Shared Function Format_Currency(value As String, language As String)
Try
@@ -161,7 +178,7 @@ Public Class ClassHelper
If USER_GENERAL_VIEWER = "NONE" Then
Dim EXT = Path.GetExtension(RESULT_DOC_PATH)
EXT = EXT.Replace(".", "")
Dim sql = String.Format("SELECT VIEWER FROM TBPMO_DOC_USER_VIEW WHERE USER_ID = {0} AND UPPER(FILE_EXTENSION) = UPPER('{1}')", USER_GUID, EXT)
Dim sql = String.Format("SELECT VIEWER FROM TBPMO_DOC_USER_VIEW WHERE USER_ID = {0} AND FILE_EXTENSION = '{1}'", USER_GUID, EXT)
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql)
If DT.Rows.Count = 1 Then
Select Case DT.Rows(0).Item("VIEWER")
@@ -192,6 +209,7 @@ Public Class ClassHelper
Public Shared Sub Open_Folder(RESULT_DOC_PATH As Object, DocID As String)
Try
If RESULT_DOC_PATH <> Nothing Then
RESULT_DOC_PATH = FORMAT_WM_PATH(RESULT_DOC_PATH)
Dim _path = Path.GetDirectoryName(RESULT_DOC_PATH)
FOLDER_OPEN(_path, DocID)
Else

View File

@@ -135,6 +135,7 @@ Public Class ClassImport_Windream
oROOTWM_FOLDER = ""
End Try
If oROOTWM_FOLDER <> String.Empty Then
oROOTWM_FOLDER = ClassHelper.FORMAT_WM_PATH(oROOTWM_FOLDER)
LOGGER.Debug($"oROOTWM_FOLDER '{oROOTWM_FOLDER}' will be used")
oWMTARGET_FOLDER = oROOTWM_FOLDER
End If

View File

@@ -76,7 +76,7 @@ Public Class ClassInit
Public Sub InitAddons()
Try
Dim CurrentDir As String = My.Application.Info.DirectoryPath
' Dim Sql As String = "SELECT PATH_ADDONS from TBPMO_KONFIGURATION WHERE GUID = 1"
Dim AddonPath As String = MY_ADDON_PATH ' ClassDatabase.Execute_Scalar(Sql)
Dim Dev_AddonPath As String = System.IO.Path.GetFullPath(System.IO.Path.Combine(CurrentDir, "..\..\..\..\app"))
@@ -133,9 +133,14 @@ Public Class ClassInit
End Try
WD_UNICODE = KONFIG_DT.Rows(0).Item("WD_UNICODE")
SQL_FULLTEXT = KONFIG_DT.Rows(0).Item("SQL_FULLTEXT")
WMDriveLetter = KONFIG_DT.Rows(0).Item("WM_LAUFWERKBUCHSTABE")
WMPATH_PREFIX = KONFIG_DT.Rows(0).Item("WMPATH_PREFIX")
If Not WMPATH_PREFIX.ToUpper.StartsWith("\\WINDREAM\OBJECTS") Then
SHARE_DRIVE_ACTIVE = True
End If
End If
sql = "SELECT * FROM TBDD_SQL_COMMANDS"
sql = "SELECT * FROM TBDD_SQL_COMMANDS"
Dim oDTSQL_COMMANDS As DataTable = ClassDatabase.Return_Datatable(sql, True)
For Each oRow As DataRow In oDTSQL_COMMANDS.Rows
If oRow.Item("TITLE") = "ADDI_DOC_SEARCH_RECORD" Then
@@ -187,14 +192,13 @@ Public Class ClassInit
End If
Dim sql = String.Format("SELECT T.*, T1.IS_ADMIN FROM TBDD_USER T INNER JOIN TBDD_USER_MODULES T1 ON T.GUID = T1.USER_ID INNER JOIN TBDD_MODULES T2 ON T1.MODULE_ID = T2.GUID
WHERE (LOWER(USERNAME) = LOWER('{0}')) AND T2.SHORT_NAME = 'ADDI'", USER_USERNAME)
WHERE (USERNAME = '{0}') AND T2.SHORT_NAME = 'ADDI'", USER_USERNAME)
LOGGER.Info("Login at: " & Now.ToString)
LOGGER.Info("Username: " & USER_USERNAME)
Dim USER_DT As DataTable = ClassDatabase.Return_Datatable(sql, True)
If USER_DT.Rows.Count = 0 Then
LOGGER.Warn(" - User '" & USER_USERNAME & "' not listed in Useradminsitration!")
'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
'Me.Close()
LOGGER.Warn(" - User '" & USER_USERNAME & "' not listed in Useradministration!")
Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.")
MsgBox(msg, MsgBoxStyle.Exclamation)
ClassHelper.InsertEssential_Log(0, "USER-ID", String.Format("User '{0}' not listed in Userconfiguration", USER_USERNAME))
@@ -203,7 +207,7 @@ WHERE (LOWER(USERNAME) = LOWER('{0}')) AND T2.SHORT_NAME = 'ADDI'", USER_USERNAM
Dim Right_RO As Boolean = False
USER_GUID = USER_DT.Rows(0).Item("GUID")
USERID_FK_INT_ECM = USER_DT.Rows(0).Item("USERID_FK_INT_ECM")
USER_WAN = USER_DT.Rows(0).Item("WAN_ENVIRONMENT") 'ClassDatabase.Execute_Scalar("SELECT WAN_ENVIRONMENT FROM TBDD_USER WHERE GUID = " & USER_GUID, False)
USER_WAN = USER_DT.Rows(0).Item("WAN_ENVIRONMENT")
USER_LANGUAGE = USER_DT.Rows(0).Item("LANGUAGE")
clsCURRENT.USER_LANGUAGE = USER_LANGUAGE
USER_DATE_FORMAT = USER_DT.Rows(0).Item("DATE_FORMAT")
@@ -276,6 +280,19 @@ WHERE (LOWER(USERNAME) = LOWER('{0}')) AND T2.SHORT_NAME = 'ADDI'", USER_USERNAM
End If
Try
If SHARE_DRIVE_ACTIVE = True Then
End If
LOGGER.Info($"SHAREDRIVE IS ACTIVE = {SHARE_DRIVE_ACTIVE.ToString}")
Try
WMMOD = New DigitalData.Modules.Windream.Windream(LOGCONFIG, False, WMDriveLetter, WMPATH_PREFIX, True, "", "", "", "")
If IsNothing(WMMOD) Then
MsgBox("No windream connectable", MsgBoxStyle.Exclamation)
End If
Catch ex As Exception
LOGGER.Warn("Could not create the login for DigitalData.Modules.Windream.Windream!")
End Try
If clsWindream.Create_Session = False Then
LOGGER.Warn("Could not create the login for windream - No session created!")
ClassHelper.MSGBOX_Handler("ERROR", "windream-login Error:", "Could not create the login/session!", "ADDI will start anyway but be aware that searching and importing won't be possible!")

View File

@@ -67,9 +67,9 @@ Public Class ClassWDRights
Return False
End Try
End Function
Public Shared Function Doc_Renew_Rights(doc_id As Integer, docpath As String, deleterights As Boolean) As Boolean
Public Shared Function Doc_Renew_Rights(doc_id As Integer, reldocpath As String, deleterights As Boolean) As Boolean
Try
LOGGER.Debug(String.Format("Working on rights for file: {0}", docpath))
LOGGER.Debug(String.Format("Working on rights for file: {0}", reldocpath))
Dim DT_USER_RIGHT As DataTable
Dim DT_GROUP_RIGHT As DataTable
Dim oSession
@@ -77,6 +77,8 @@ Public Class ClassWDRights
Dim UserGroupRelation
Dim UserOrGroup
Dim oUSer
reldocpath = ClassHelper.GetRelPath(reldocpath)
Try
'Dedizierte Session herstellen
oSession = GetWMSessionAsUser(AD_DOMAIN, AD_SERVER, AD_USER, AD_USER_PW)
@@ -102,10 +104,10 @@ Public Class ClassWDRights
LOGGER.Debug(String.Format("Amount of Grouprights: {0}", DT_GROUP_RIGHT.Rows.Count))
Try
'Object definieren
oWMObject = oSession.GetWMObjectByPath(0, docpath.Substring(2))
oWMObject = oSession.GetWMObjectByPath(1, reldocpath)
LOGGER.Debug("Object created.")
Catch ex As Exception
Dim msg = "Error GetWMObjectByPath: (FDSR) " & docpath.Substring(2) & vbNewLine & Err.Description
Dim msg = "Error GetWMObjectByPath: (FDSR) " & reldocpath & vbNewLine & Err.Description
LOGGER.Warn(msg)
Return False
End Try
@@ -232,7 +234,7 @@ 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, docpath) & vbNewLine
MSG_RESULT &= String.Format("Error while working on RightChange:" & vbNewLine & "Fileright: {0}" & vbNewLine & "User: {1} " & vbNewLine & "File: {2}", _right, StringUserRight, reldocpath) & vbNewLine
LOGGER.Warn(ex.Message)
End Try
Next
@@ -283,7 +285,7 @@ Public Class ClassWDRights
Case WMAccessRightReadWrite
_right = "READ WRITE"
End Select
MSG_RESULT &= String.Format("Error while working on RightChange2:" & vbNewLine & "Fileright: {0}" & vbNewLine & "Group: {1} " & vbNewLine & "File: {2}", _right, StringGroupRight, docpath) & vbNewLine
MSG_RESULT &= String.Format("Error while working on RightChange2:" & vbNewLine & "Fileright: {0}" & vbNewLine & "Group: {1} " & vbNewLine & "File: {2}", _right, StringGroupRight, reldocpath) & vbNewLine
clsLogger.Add(ex.Message)
End Try
Next