diff --git a/GUIs.Common/DocumentResultList/Document.vb b/GUIs.Common/DocumentResultList/Document.vb
index aacc6dfa..1ef3c4d0 100644
--- a/GUIs.Common/DocumentResultList/Document.vb
+++ b/GUIs.Common/DocumentResultList/Document.vb
@@ -32,6 +32,7 @@ Namespace DocumentResultList
Public Property TempPath As String = Nothing
Public Property FileHash As String = Nothing
Public Property DocumentType As String = Nothing
+ Public Property DisplayFileName As String = Nothing
Public Sub New(pPrimaryKey As Long)
Id = pPrimaryKey
diff --git a/GUIs.Common/DocumentResultList/Loader.vb b/GUIs.Common/DocumentResultList/Loader.vb
index 52185407..cd1b4e52 100644
--- a/GUIs.Common/DocumentResultList/Loader.vb
+++ b/GUIs.Common/DocumentResultList/Loader.vb
@@ -56,15 +56,17 @@ Namespace DocumentResultList
Dim oDocumentInfo As DocumentInfo = Client.GetDocumentInfo(User.UserId, pObjectId)
Dim oFileInfo As New FileInfo(oDocumentInfo.FullPath)
- ' Load Doctype Attribute
+ ' Load System Attributes
Dim oDoctype As VariableValue = Client.GetVariableValue(pObjectId, Attributes.ATTRIBUTE_DOCTYPE)
+ Dim oDisplayFileName As VariableValue = Client.GetVariableValue(pObjectId, Attributes.ATTRIBUTE_DISPLAY_FILENAME)
Dim oResultDocumentInfo As New Document(pObjectId) With {
.Contents = Load_FromDisk(oDocumentInfo.FullPath),
.AccessRight = oDocumentInfo.AccessRight,
.FullPath = oDocumentInfo.FullPath,
.Extension = oFileInfo.Extension.Substring(1),
- .DocumentType = oDoctype.Value
+ .DocumentType = oDoctype.Value,
+ .DisplayFileName = oDisplayFileName.Value
}
Return oResultDocumentInfo
@@ -81,8 +83,9 @@ Namespace DocumentResultList
Return Nothing
End If
- ' Load Doctype Attribute
+ ' Load System Attributes
Dim oDoctype As VariableValue = Client.GetVariableValue(pObjectId, Attributes.ATTRIBUTE_DOCTYPE)
+ Dim oDisplayFileName As VariableValue = Client.GetVariableValue(pObjectId, Attributes.ATTRIBUTE_DISPLAY_FILENAME)
Dim oResultDocumentInfo As New Document(pObjectId) With {
.Contents = oFileObject._FileContents,
@@ -90,7 +93,8 @@ Namespace DocumentResultList
.AccessRight = Rights.AccessRight.FULL,
.FileHash = oFileObject._FileHash,
.FullPath = Nothing,
- .DocumentType = oDoctype.Value
+ .DocumentType = oDoctype.Value,
+ .DisplayFileName = oDisplayFileName.Value
}
Return oResultDocumentInfo
diff --git a/GUIs.Common/My Project/licenses.licx b/GUIs.Common/My Project/licenses.licx
index 2cf99fc3..4c23d9e3 100644
--- a/GUIs.Common/My Project/licenses.licx
+++ b/GUIs.Common/My Project/licenses.licx
@@ -1,4 +1,7 @@
-DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb
index 68968ad0..4cac70d8 100644
--- a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb
+++ b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb
@@ -71,7 +71,7 @@ Public Class frmObjectPropertyDialog
Private Async Function GetAttributesForBusinessEntity(EntityId As Long) As Task(Of List(Of Attribute))
Try
- Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE BE_ID = {EntityId}"
+ Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE BE_ID = {EntityId} AND LANG_CODE = '{_Environment.User.Language}'"
Dim oResult = Await _Client.GetDatatableFromIDBAsync(oSQL)
If oResult.OK = False Then
diff --git a/GUIs.Common/frmDocumentResultList.Designer.vb b/GUIs.Common/frmDocumentResultList.Designer.vb
index 2398c636..4d9a79b8 100644
--- a/GUIs.Common/frmDocumentResultList.Designer.vb
+++ b/GUIs.Common/frmDocumentResultList.Designer.vb
@@ -113,7 +113,7 @@ Partial Class frmDocumentResultList
'
Me.SplitContainerControl1.Panel2.Controls.Add(Me.SplitContainerControl2)
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
- Me.SplitContainerControl1.SplitterPosition = 382
+ Me.SplitContainerControl1.SplitterPosition = 389
'
'GridControl1
'
@@ -296,12 +296,12 @@ Partial Class frmDocumentResultList
Me.MenuItemPropertiesZooFlow.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.editcolors
Me.MenuItemPropertiesZooFlow.Name = "MenuItemPropertiesZooFlow"
'
- 'BarButtonItem1
+ 'ButtonRefresh
'
- resources.ApplyResources(Me.ButtonRefresh, "BarButtonItem1")
+ resources.ApplyResources(Me.ButtonRefresh, "ButtonRefresh")
Me.ButtonRefresh.Id = 29
Me.ButtonRefresh.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.refreshallpivottable
- Me.ButtonRefresh.Name = "BarButtonItem1"
+ Me.ButtonRefresh.Name = "ButtonRefresh"
'
'RibbonPage1
'
diff --git a/GUIs.Common/frmDocumentResultList.resx b/GUIs.Common/frmDocumentResultList.resx
index 03bc4f0f..4d9932fc 100644
--- a/GUIs.Common/frmDocumentResultList.resx
+++ b/GUIs.Common/frmDocumentResultList.resx
@@ -426,7 +426,7 @@
Eigenschaften
-
+
Ergebnisse aktualisieren
@@ -455,10 +455,10 @@
1189, 132
- 0, 647
+ 0, 649
- 1189, 24
+ 1189, 22
RibbonStatusBar
@@ -485,7 +485,7 @@
2
- 382, 511
+ 389, 513
0
@@ -539,7 +539,7 @@
GridBand2
- 370, 223
+ 363, 223
0
@@ -587,7 +587,7 @@
GridBand3
- 370, 278
+ 363, 280
0
@@ -620,7 +620,7 @@
1
- 370, 511
+ 363, 513
0
@@ -656,7 +656,7 @@
1
- 762, 511
+ 762, 513
2
@@ -704,7 +704,7 @@
0, 0
- 413, 511
+ 413, 513
0
@@ -737,7 +737,7 @@
1
- 1189, 515
+ 1189, 517
5
@@ -978,10 +978,10 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- BarButtonItem1
+
+ ButtonRefresh
-
+
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/GUIs.Common/frmDocumentResultList.vb b/GUIs.Common/frmDocumentResultList.vb
index b4b341c4..a54c3d05 100644
--- a/GUIs.Common/frmDocumentResultList.vb
+++ b/GUIs.Common/frmDocumentResultList.vb
@@ -77,7 +77,8 @@ Public Class frmDocumentResultList
Public Event NeedsRefresh As EventHandler(Of Integer) Implements IResultForm.NeedsRefresh
Public Event ResultsRefreshed As EventHandler(Of List(Of DocumentResultList.DocumentResult))
- Public Delegate Sub SetDatasourceCallback(pDatatable As DataTable)
+ Private Delegate Sub DatasourceDelegate(View As GridView, Datasource As Object)
+ Private Delegate Function RefreshResultsDelegate(Results As IEnumerable(Of BaseResult)) As Boolean
Public Sub New(pLogConfig As LogConfig, pEnvironment As Environment, pParams As DocumentResultList.Params)
' Dieser Aufruf ist für den Designer erforderlich.
@@ -315,6 +316,7 @@ Public Class frmDocumentResultList
Private Async Function Watcher_UpdateFile(pFile As DocumentResultList.Watcher.OpenFile, pCreateNewVersion As Boolean) As Task
Dim oFileInfo As New FileInfo(pFile.FilePath)
+ Dim oDisplayName As String = pFile.Document.DisplayFileName
Dim oObjectId = Await _IDBClient.UpdateFileAsync(pFile.Document.Id, pFile.FilePath, New Options.UpdateFileOptions With {
.CreateNewFileVersion = pCreateNewVersion,
.Language = Environment.User.Language,
@@ -322,16 +324,17 @@ Public Class frmDocumentResultList
})
If IsNothing(oObjectId) Then
- MsgBox($"Beim Speichern der Datei '{oFileInfo.Name}' Fehler ist ein Fehler aufgetreten!", MsgBoxStyle.Critical, Text)
+ MsgBox($"Beim Speichern der Datei '{oDisplayName}' Fehler ist ein Fehler aufgetreten!", MsgBoxStyle.Critical, Text)
Else
- MsgBox($"Die Datei '{oFileInfo.Name}' wurde erfolgreich gespeichert!", MsgBoxStyle.Information, Text)
+ 'MsgBox($"Die Datei '{oDisplayName}' wurde erfolgreich gespeichert!", MsgBoxStyle.Information, Text)
RaiseEvent NeedsRefresh(Me, Params.ProfileGuid)
End If
End Function
Private Async Function Watcher_Ask(pFile As DocumentResultList.Watcher.OpenFile) As Task
Dim oFileInfo = New FileInfo(pFile.FilePath)
- Dim oMessage = $"Die Datei '{oFileInfo.Name}' wurde außerhalb des Systems verändert. Wollen Sie diese Änderung als neue Version in das System übernehmen oder überschreiben?"
+ Dim oDisplayName = pFile.Document.DisplayFileName
+ Dim oMessage = $"Die Datei '{oDisplayName}' wurde außerhalb des Systems verändert. Wollen Sie diese Änderung als neue Version in das System übernehmen oder überschreiben?"
Dim oMessageBox As New MsgBoxEx(oMessage, "Datei verändert", MessageBoxIcon.Question)
oMessageBox.SetButtons("Überschreiben", "Neue Version", "Abbrechen")
@@ -370,23 +373,32 @@ Public Class frmDocumentResultList
Public Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean Implements IResultForm.RefreshResults
- _IsLoading = True
- Try
- UpdateTotalResults()
- UpdateGridData()
+ ' This is needed to update the grid from another form like frmMatch
+ ' Another form means another thread, so we need a delegate here
+ If InvokeRequired Then
+ Dim oDelegate As New RefreshResultsDelegate(AddressOf RefreshResults)
+ Return GridControl1.Invoke(oDelegate, pResults)
+ Else
+ _IsLoading = True
+ Try
+ _ResultLists = pResults
- Return True
- Catch ex As Exception
- Logger.Error(ex)
+ UpdateTotalResults()
+ UpdateGridData()
- MessageBox.Show("Error while loading results:" & vbNewLine & vbNewLine & ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
- Return False
- Finally
- _IsLoading = False
- End Try
+ Return True
+ Catch ex As Exception
+ Logger.Error(ex)
+
+ MessageBox.Show("Error while refreshing results:" & vbNewLine & vbNewLine & ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Return False
+ Finally
+ _IsLoading = False
+ End Try
+ End If
End Function
- Private Sub LoadGridData(Result As DocumentResultList.DocumentResult)
+ Private Sub LoadGridData(View As GridView, Result As DocumentResultList.DocumentResult)
If Result.Datatable.Columns.Contains(COLUMN_DOCID) = False Then
Throw New ApplicationException($"Datatable is missing DocId Column [{COLUMN_DOCID}] for search {Result.Title}!")
End If
@@ -395,22 +407,26 @@ Public Class frmDocumentResultList
Throw New ApplicationException($"Datatable is missing Filepath Column [{COLUMN_FILEPATH}] for search {Result.Title}!")
End If
- ' This is needed to update the grid from another form like frmMatch
- ' Another form means another thread, so we need a delegate here
- If GridControl1.InvokeRequired Then
- Dim oCallback As New SetDatasourceCallback(AddressOf SetGridDataSource)
- Invoke(oCallback, Result.Datatable)
-
- Else
- SetGridDataSource(Result.Datatable)
- End If
+ SetGridDataSource(View, Result.Datatable)
End Sub
- Private Sub SetGridDataSource(pTable As DataTable)
- GridControl1.DataSource = Nothing
- GridControl1.DataSource = pTable
+
+ Private Sub SetGridDataSource(pView As GridView, pTable As DataTable)
+ Dim oSavedRowHandle As Integer = pView.FocusedRowHandle
+ pView.BeginDataUpdate()
+
+ Try
+ pView.FocusedRowHandle = GridControl.AutoFilterRowHandle
+ pView.GridControl.DataSource = Nothing
+ pView.GridControl.DataSource = pTable
+ pView.FocusedRowHandle = oSavedRowHandle
+ Finally
+ pView.EndDataUpdate()
+ End Try
End Sub
+
+
Private Sub UpdateGridData()
' Load Grids
For oIndex = 0 To _ResultLists.Count - 1
@@ -418,7 +434,7 @@ Public Class frmDocumentResultList
Case 0
Dim oResult As DocumentResultList.DocumentResult = _ResultLists.Item(0)
- LoadGridData(oResult)
+ LoadGridData(GridView1, oResult)
CreateDocumentGrid(GridView1, oResult)
RestoreLayout(GridView1)
UpdateGridHeader(_ResultLists, oIndex, oResult.Datatable.Rows.Count)
@@ -426,7 +442,7 @@ Public Class frmDocumentResultList
Case 1
Dim oResult As DocumentResultList.DocumentResult = _ResultLists.Item(1)
- LoadGridData(oResult)
+ LoadGridData(GridView2, oResult)
CreateDocumentGrid(GridView2, oResult)
RestoreLayout(GridView2)
UpdateGridHeader(_ResultLists, oIndex, oResult.Datatable.Rows.Count)
@@ -434,7 +450,7 @@ Public Class frmDocumentResultList
Case 2
Dim oResult As DocumentResultList.DocumentResult = _ResultLists.Item(2)
- LoadGridData(oResult)
+ LoadGridData(GridView3, oResult)
CreateDocumentGrid(GridView3, oResult)
RestoreLayout(GridView3)
UpdateGridHeader(_ResultLists, oIndex, oResult.Datatable.Rows.Count)
diff --git a/Modules.Base/Base/IDB/Attributes.vb b/Modules.Base/Base/IDB/Attributes.vb
index a6b62527..bf7bd740 100644
--- a/Modules.Base/Base/IDB/Attributes.vb
+++ b/Modules.Base/Base/IDB/Attributes.vb
@@ -1,6 +1,15 @@
Namespace IDB
Public Class Attributes
Public Const ATTRIBUTE_DOCTYPE = "Doctype"
+ Public Const ATTRIBUTE_DYNAMIC_FOLDER = "Dynamic Folder"
+
+ Public Const ATTRIBUTE_ORIGIN_FILENAME = "OriginFileName"
+ Public Const ATTRIBUTE_ORIGIN_CHANGED = "OriginChangedDatetime"
+ Public Const ATTRIBUTE_ORIGIN_CREATED = "OriginCreationDatetime"
+
+ Public Const ATTRIBUTE_DISPLAY_FILENAME = "DisplayFileName"
+ Public Const ATTRIBUTE_DISPLAY_FILENAME1 = "DisplayFileName1"
+
End Class
End Namespace
\ No newline at end of file
diff --git a/Service.EDMIService/EDMIService.vbproj b/Service.EDMIService/EDMIService.vbproj
index 00656f80..aae3abe5 100644
--- a/Service.EDMIService/EDMIService.vbproj
+++ b/Service.EDMIService/EDMIService.vbproj
@@ -242,6 +242,10 @@
+
+ {6ea0c51f-c2b1-4462-8198-3de0b32b74f8}
+ Base
+
{44982F9B-6116-44E2-85D0-F39650B1EF99}
Config
diff --git a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb
index b3ea349a..ae764150 100644
--- a/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb
+++ b/Service.EDMIService/Methods/GlobalIndexer/ImportFile/ImportFileMethod.vb
@@ -6,6 +6,7 @@ Imports DigitalData.Modules.Language
Imports DigitalData.Services.EDMIService.Methods.Database
Imports DigitalData.Services.EDMIService.Methods.IDB
Imports DigitalData.Modules.ZooFlow.State
+Imports DigitalData.Modules.Base.IDB
Namespace Methods.GlobalIndexer.ImportFile
Public Class ImportFileMethod
@@ -86,9 +87,10 @@ Namespace Methods.GlobalIndexer.ImportFile
Logger.Info("Collecting Attributes for ObjectId [{0}]", oResponse.ObjectId)
Dim oFinalAttributes As New Dictionary(Of String, List(Of String)) From {
- {"DisplayFileName", New List(Of String) From {oDisplayFilename}},
- {"Dynamic Folder", New List(Of String) From {oDynamicFilePath}}
+ {Attributes.ATTRIBUTE_DISPLAY_FILENAME, New List(Of String) From {oDisplayFilename}},
+ {Attributes.ATTRIBUTE_DYNAMIC_FOLDER, New List(Of String) From {oDynamicFilePath}}
}
+
oFinalAttributes = oFinalAttributes.
Concat(Helpers.UserAttributesToDictionary(oUserAttributes)).
Concat(Helpers.UserAttributesToDictionary(oAutoAttributes)).
diff --git a/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb b/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
index 49251aaf..43a37ab1 100644
--- a/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
+++ b/Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
@@ -1,4 +1,5 @@
Imports System.Data.SqlClient
+Imports DigitalData.Modules.Base.IDB
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Database.MSSQLServer.TransactionMode
Imports DigitalData.Modules.Logging
@@ -105,9 +106,9 @@ Namespace Methods.IDB.NewFile
'---------------------------------------------------------------------------
Dim oSystemAttributes As New Dictionary(Of String, Object) From {
- {"OriginFileName", pData.File.FileName},
- {"OriginCreationDatetime", pData.File.FileCreatedAt},
- {"OriginChangedDatetime", pData.File.FileChangedAt}
+ {Attributes.ATTRIBUTE_ORIGIN_FILENAME, pData.File.FileName},
+ {Attributes.ATTRIBUTE_ORIGIN_CREATED, pData.File.FileCreatedAt},
+ {Attributes.ATTRIBUTE_ORIGIN_CHANGED, pData.File.FileChangedAt}
}
For Each oAttribute As KeyValuePair(Of String, Object) In oSystemAttributes