From 1e3f508b1f4f9bba7651eac4f2d241b6fbd9981b Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 18 Dec 2020 16:26:39 +0100 Subject: [PATCH] Prepare Rightsmanagement in DocumentResults --- GUIs.Common/Common.vbproj | 4 + .../DataResultList/DataResultParams.vb | 1 + .../DocumentResultParams.vb | 1 - .../frmDocumentResultList.Designer.vb | 49 +--------- .../frmDocumentResultList.resx | 5 +- .../frmDocumentResultList.vb | 89 +++++++++---------- GUIs.ZooFlow/Search/frmSearchStart.vb | 1 - Modules.ZooFlow/Environment.vb | 1 + Modules.ZooFlow/State/ServiceState.vb | 6 +- 9 files changed, 55 insertions(+), 102 deletions(-) diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj index b3864e58..4dadd9fc 100644 --- a/GUIs.Common/Common.vbproj +++ b/GUIs.Common/Common.vbproj @@ -182,6 +182,10 @@ {EAF0EA75-5FA7-485D-89C7-B2D843B03A96} Database + + {25017513-0d97-49d3-98d7-ba76d9b251b0} + EDMI.API + {d3c8cfed-d6f6-43a8-9bdf-454145d0352f} Language diff --git a/GUIs.Common/DataResultList/DataResultParams.vb b/GUIs.Common/DataResultList/DataResultParams.vb index 737519fb..90c52bd3 100644 --- a/GUIs.Common/DataResultList/DataResultParams.vb +++ b/GUIs.Common/DataResultList/DataResultParams.vb @@ -3,6 +3,7 @@ ''' WindowGuid is used to save layout data ''' Public WindowGuid As String + Public IsIDBResult As Boolean = False Public Results As New List(Of DataResult) End Class diff --git a/GUIs.Common/DocumentResultList/DocumentResultParams.vb b/GUIs.Common/DocumentResultList/DocumentResultParams.vb index ea57ccb0..d05c96a8 100644 --- a/GUIs.Common/DocumentResultList/DocumentResultParams.vb +++ b/GUIs.Common/DocumentResultList/DocumentResultParams.vb @@ -3,7 +3,6 @@ ''' WindowGuid is used to save layout data ''' Public WindowGuid As String - Public IsIDBResult As Boolean = False Public Results As New List(Of DocumentResult) End Class diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb index 476aa40c..27212b94 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb @@ -43,11 +43,6 @@ Partial Class frmDocumentResultList Me.GridBand1 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl() Me.GridControl2 = New DevExpress.XtraGrid.GridControl() - Me.ContextMenuGrid = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.DateiÖffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.OrdnerÖffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.PfadInZwischenablageKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.EigenschaftenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.GridView2 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() Me.GridBand2 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() Me.GridControl3 = New DevExpress.XtraGrid.GridControl() @@ -64,7 +59,6 @@ Partial Class frmDocumentResultList CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl2.SuspendLayout() CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).BeginInit() - Me.ContextMenuGrid.SuspendLayout() CType(Me.GridView2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridView3, System.ComponentModel.ISupportInitialize).BeginInit() @@ -77,7 +71,7 @@ Partial Class frmDocumentResultList Me.RibbonControl.ExpandCollapseItem.Id = 0 Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonItem5}) Me.RibbonControl.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl.MaxItemId = 11 + Me.RibbonControl.MaxItemId = 12 Me.RibbonControl.Name = "RibbonControl" Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] @@ -261,7 +255,6 @@ Partial Class frmDocumentResultList ' 'GridControl2 ' - Me.GridControl2.ContextMenuStrip = Me.ContextMenuGrid Me.GridControl2.Dock = System.Windows.Forms.DockStyle.Fill Me.GridControl2.Location = New System.Drawing.Point(0, 0) Me.GridControl2.MainView = Me.GridView2 @@ -271,39 +264,6 @@ Partial Class frmDocumentResultList Me.GridControl2.TabIndex = 0 Me.GridControl2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView2}) ' - 'ContextMenuGrid - ' - Me.ContextMenuGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem, Me.OrdnerÖffnenToolStripMenuItem, Me.PfadInZwischenablageKopierenToolStripMenuItem, Me.EigenschaftenToolStripMenuItem}) - Me.ContextMenuGrid.Name = "ContextMenuGrid" - Me.ContextMenuGrid.Size = New System.Drawing.Size(200, 92) - ' - 'DateiÖffnenToolStripMenuItem - ' - Me.DateiÖffnenToolStripMenuItem.Image = Global.DigitalData.GUIs.Common.My.Resources.Resources.Article_32x32 - Me.DateiÖffnenToolStripMenuItem.Name = "DateiÖffnenToolStripMenuItem" - Me.DateiÖffnenToolStripMenuItem.Size = New System.Drawing.Size(199, 22) - Me.DateiÖffnenToolStripMenuItem.Text = "Datei öffnen" - ' - 'OrdnerÖffnenToolStripMenuItem - ' - Me.OrdnerÖffnenToolStripMenuItem.Image = Global.DigitalData.GUIs.Common.My.Resources.Resources.Open_32x32 - Me.OrdnerÖffnenToolStripMenuItem.Name = "OrdnerÖffnenToolStripMenuItem" - Me.OrdnerÖffnenToolStripMenuItem.Size = New System.Drawing.Size(199, 22) - Me.OrdnerÖffnenToolStripMenuItem.Text = "Ordner öffnen" - ' - 'PfadInZwischenablageKopierenToolStripMenuItem - ' - Me.PfadInZwischenablageKopierenToolStripMenuItem.Image = Global.DigitalData.GUIs.Common.My.Resources.Resources.Copy_32x32 - Me.PfadInZwischenablageKopierenToolStripMenuItem.Name = "PfadInZwischenablageKopierenToolStripMenuItem" - Me.PfadInZwischenablageKopierenToolStripMenuItem.Size = New System.Drawing.Size(199, 22) - Me.PfadInZwischenablageKopierenToolStripMenuItem.Text = "Pfad in Zwischenablage" - ' - 'EigenschaftenToolStripMenuItem - ' - Me.EigenschaftenToolStripMenuItem.Name = "EigenschaftenToolStripMenuItem" - Me.EigenschaftenToolStripMenuItem.Size = New System.Drawing.Size(199, 22) - Me.EigenschaftenToolStripMenuItem.Text = "Eigenschaften" - ' 'GridView2 ' Me.GridView2.Appearance.EvenRow.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(214, Byte), Integer), CType(CType(49, Byte), Integer)) @@ -328,7 +288,6 @@ Partial Class frmDocumentResultList ' 'GridControl3 ' - Me.GridControl3.ContextMenuStrip = Me.ContextMenuGrid Me.GridControl3.Dock = System.Windows.Forms.DockStyle.Fill Me.GridControl3.Location = New System.Drawing.Point(0, 0) Me.GridControl3.MainView = Me.GridView3 @@ -409,7 +368,6 @@ Partial Class frmDocumentResultList CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerControl2.ResumeLayout(False) CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).EndInit() - Me.ContextMenuGrid.ResumeLayout(False) CType(Me.GridView2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridView3, System.ComponentModel.ISupportInitialize).EndInit() @@ -444,15 +402,10 @@ Partial Class frmDocumentResultList Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem - Friend WithEvents ContextMenuGrid As Windows.Forms.ContextMenuStrip - Friend WithEvents DateiÖffnenToolStripMenuItem As Windows.Forms.ToolStripMenuItem - Friend WithEvents OrdnerÖffnenToolStripMenuItem As Windows.Forms.ToolStripMenuItem - Friend WithEvents PfadInZwischenablageKopierenToolStripMenuItem As Windows.Forms.ToolStripMenuItem Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem Friend WithEvents labelResultCount As DevExpress.XtraBars.BarStaticItem Friend WithEvents XtraSaveFileDialog As DevExpress.XtraEditors.XtraSaveFileDialog Friend WithEvents BarButtonBack As DevExpress.XtraBars.BarButtonItem Friend WithEvents RibbonPageGroupNavigation As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem - Friend WithEvents EigenschaftenToolStripMenuItem As Windows.Forms.ToolStripMenuItem End Class diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.resx b/GUIs.Common/DocumentResultList/frmDocumentResultList.resx index cbea546c..e19145f9 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.resx +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.resx @@ -292,11 +292,8 @@ MTYgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw== - - 15, 13 - - 164, 13 + 14, 16 diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb index 8e8fce6a..7b7db43e 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb @@ -10,6 +10,7 @@ Imports DigitalData.Modules.Config Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.Language +Imports DigitalData.Modules.EDMI.API Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.BandedGrid Imports System.ComponentModel @@ -35,6 +36,7 @@ Public Class frmDocumentResultList Private _IsLoading As Boolean = True Private _IsLegacy As Boolean = True + Private _IDBClient As Client Public Property ShouldReturnToPreviousForm As Boolean = False Implements IResultForm.ShouldReturnToPreviousForm @@ -45,13 +47,29 @@ Public Class frmDocumentResultList ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. Dim oConfigPath As String = Path.Combine(Application.UserAppDataPath, "ResultList", Params.WindowGuid) - _IsLegacy = Not Params.IsIDBResult _LogConfig = LogConfig _Logger = LogConfig.GetLogger() _Config = New ConfigManager(Of DocumentResultConfig)(LogConfig, oConfigPath, oConfigPath) _Environment = Environment _Params = Params _ResultLists = Params.Results + + InitIDB() + End Sub + + Private Sub InitIDB() + _IsLegacy = Not _Environment.Service.IsActive + If _Environment.Service.IsActive Then + Dim oSplit As List(Of String) = _Environment.Service.Address.Split(":").ToList() + Dim oAddress As String = oSplit.Item(0) + Dim oPort As Integer = oSplit.Item(1) + + _IDBClient = New Client(_LogConfig, oAddress, oPort) + + If Not _IDBClient.Connect() Then + _Logger.Warn("Client could not connect to Service at [{0}]", _Environment.Service.Address) + End If + End If End Sub Private Sub frmDocumentResultList_Load(sender As Object, e As EventArgs) Handles MyBase.Load @@ -522,34 +540,6 @@ Public Class frmDocumentResultList End Try End Sub - Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick - OpenFile() - End Sub - - Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick - OpenFolderPath() - End Sub - - Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick - CopyFileName() - End Sub - - Private Sub DateiÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiÖffnenToolStripMenuItem.Click - OpenFile() - End Sub - - Private Sub EigenschaftenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EigenschaftenToolStripMenuItem.Click - OpenProperties() - End Sub - - Private Sub OrdnerÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OrdnerÖffnenToolStripMenuItem.Click - OpenFolderPath() - End Sub - - Private Sub PfadInZwischenablageKopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PfadInZwischenablageKopierenToolStripMenuItem.Click - CopyFileName() - End Sub - Private Sub GridView1_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView1.ColumnFilterChanged Dim oRowCount = sender.RowCount UpdateGridHeader(_ResultLists, 0, oRowCount) @@ -587,22 +577,29 @@ Public Class frmDocumentResultList End Sub Private Sub GridView_PopupMenuShowing(sender As Object, e As PopupMenuShowingEventArgs) Handles GridView1.PopupMenuShowing, GridView2.PopupMenuShowing, GridView3.PopupMenuShowing - Dim oView As GridView = sender - - If e.MenuType = DevExpress.XtraGrid.Views.Grid.GridMenuType.Row Then - Dim oRowHandle = e.HitInfo.RowHandle - Dim oRow As DataRow = oView.GetDataRow(oRowHandle) - Dim oFilepath As String = oRow.Item(COLUMN_FILEPATH) - Dim oObjectId As Long = oRow.Item(COLUMN_DOCID) - Dim oMenu As New DocumentPropertyMenu(_LogConfig, _Environment, oFilepath, oObjectId) - - e.Menu.Items.Clear() - - For Each oItem In oMenu.GetMenuItems(_IsLegacy) - e.Menu.Items.Add(oItem) - Next - End If + Try + Dim oView As GridView = sender + + If e.MenuType = GridMenuType.Row Then + Dim oRowHandle = e.HitInfo.RowHandle + Dim oRow As DataRow = oView.GetDataRow(oRowHandle) + Dim oFilepath As String = oRow.Item(COLUMN_FILEPATH) + Dim oObjectId As Long = oRow.Item(COLUMN_DOCID) + Dim oMenu As New DocumentPropertyMenu( + _LogConfig, + _Environment, + oFilepath, + oObjectId) + + e.Menu.Items.Clear() + + For Each oItem In oMenu.GetMenuItems(_IsLegacy) + e.Menu.Items.Add(oItem) + Next + End If + Catch ex As Exception + _Logger.Error(ex) + MsgBox("Unexpected Error while preparing context menu", MsgBoxStyle.Critical, Text) + End Try End Sub - - End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/Search/frmSearchStart.vb b/GUIs.ZooFlow/Search/frmSearchStart.vb index f1e72444..02fffad0 100644 --- a/GUIs.ZooFlow/Search/frmSearchStart.vb +++ b/GUIs.ZooFlow/Search/frmSearchStart.vb @@ -951,7 +951,6 @@ Public Class frmSearchStart Dim oShortGuid = Guid.NewGuid() Dim oWindowGuid = $"{SEARCH_ID.ToString}-{My.User.Name}" Dim oParams = New DocumentResultParams() With { - .IsIDBResult = True, .WindowGuid = oWindowGuid, .Results = New List(Of DocumentResult) From { New DocumentResult() With { diff --git a/Modules.ZooFlow/Environment.vb b/Modules.ZooFlow/Environment.vb index 8a074178..497c32c9 100644 --- a/Modules.ZooFlow/Environment.vb +++ b/Modules.ZooFlow/Environment.vb @@ -3,6 +3,7 @@ Public Class Environment Public User As State.UserState Public Settings As State.SettingsState + Public Service As State.ServiceState Public Database As MSSQLServer Public DatabaseIDB As MSSQLServer Public Modules As Dictionary(Of String, State.ModuleState) diff --git a/Modules.ZooFlow/State/ServiceState.vb b/Modules.ZooFlow/State/ServiceState.vb index 34743015..4d8d2b3b 100644 --- a/Modules.ZooFlow/State/ServiceState.vb +++ b/Modules.ZooFlow/State/ServiceState.vb @@ -1,6 +1,8 @@ Namespace State Public Class ServiceState - Public Property Online As Boolean = True - Public Property LastChecked As DateTime = DateTime.Now + Public Property IsOnline As Boolean = False + Public Property IsActive As Boolean = False + Public Property LastChecked As Date = Date.Now + Public Property Address As String = String.Empty End Class End Namespace \ No newline at end of file