diff --git a/GUIs.Common/DocumentPropertyMenu/DocumentPropertyMenu.vb b/GUIs.Common/DocumentPropertyMenu/DocumentPropertyMenu.vb index 7ccd70d3..8e2e9ccb 100644 --- a/GUIs.Common/DocumentPropertyMenu/DocumentPropertyMenu.vb +++ b/GUIs.Common/DocumentPropertyMenu/DocumentPropertyMenu.vb @@ -6,11 +6,13 @@ Imports DigitalData.Modules.Windows.NativeMethods Imports DigitalData.Modules.Windows.File Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.EDMI.API.Rights +Imports DigitalData.Modules.EDMI.API Public Class DocumentPropertyMenu Private ReadOnly _Logger As Logger Private ReadOnly _LogConfig As LogConfig Private ReadOnly _Environment As Environment + Private ReadOnly _Client As Client Private ReadOnly _File As Modules.Windows.File Private ReadOnly _FilePath As String @@ -21,10 +23,11 @@ Public Class DocumentPropertyMenu Public Const COPY_PATH As String = "Dateipfad kopieren" Public Const OPEN_PROPERTIES As String = "Eigenschaften" - Public Sub New(LogConfig As LogConfig, Environment As Environment, FilePath As String, Optional ObjectId As Long = 0) + Public Sub New(LogConfig As LogConfig, Environment As Environment, Client As Client, FilePath As String, Optional ObjectId As Long = 0) _LogConfig = LogConfig _Logger = LogConfig.GetLogger() _Environment = Environment + _Client = Client _FilePath = FilePath _ObjectId = ObjectId _File = New Modules.Windows.File(LogConfig) @@ -77,7 +80,7 @@ Public Class DocumentPropertyMenu Exit Sub End If - Dim oPropertyDialog As New frmObjectPropertyDialog(_LogConfig, _Environment, _ObjectId) + Dim oPropertyDialog As New frmObjectPropertyDialog(_LogConfig, _Environment, _Client, _ObjectId) oPropertyDialog.Show() End Sub diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb index a53fbaff..25810118 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb @@ -135,52 +135,66 @@ Public Class frmDocumentResultList End Try End Sub - Private Async Sub GridView_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) + Private Sub GridView_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) _ActiveRowHandle = e.FocusedRowHandle - If e.FocusedRowHandle >= 0 Then - Dim oRow = sender.GetDataRow(e.FocusedRowHandle) - DocumentViewer1.CloseDocument() + Try + Cursor = Cursors.WaitCursor - If _IsLegacy Then - LoadFile_Legacy(oRow) - Else - Await LoadFile_IDB(oRow) + If e.FocusedRowHandle >= 0 Then + Dim oRow = sender.GetDataRow(e.FocusedRowHandle) + DocumentViewer1.CloseDocument() + + If _IsLegacy Then + LoadFile_Legacy(oRow) + Else + LoadFile_IDB(oRow) + End If + + DocumentViewer1.LoadFile(_DocumentInfo.FullPath) + + If _DocumentInfo.AccessRight = Rights.AccessRight.VIEW_ONLY Then + DocumentViewer1.SetViewOnly(True) + RibbonPageGroup_Export.Visible = False + Else + DocumentViewer1.SetViewOnly(False) + RibbonPageGroup_Export.Visible = True + End If End If - End If + Catch ex As Exception + _Logger.Error(ex) + MsgBox("Error while changing row: " & ex.Message, MsgBoxStyle.Critical, Text) + Finally + Cursor = Cursors.Default + End Try End Sub Private Sub LoadFile_Legacy(GridRow As DataRow) Try Dim oFullPath = GridRow.Item(COLUMN_FILEPATH) - DocumentViewer1.LoadFile(oFullPath) + _DocumentInfo = New DocumentInfo() With { + .AccessRight = Rights.AccessRight.FULL, + .FullPath = oFullPath + } Catch ex As Exception _Logger.Error(ex) MsgBox("Error while loading file", MsgBoxStyle.Critical, Text) End Try End Sub - Private Async Function LoadFile_IDB(GridRow As DataRow) As Task + Private Sub LoadFile_IDB(GridRow As DataRow) Try Dim oObjectId = GridRow.Item(COLUMN_DOCID) _Logger.Debug($"Gettin' Infor for oObjectId: {oObjectId}") - _DocumentInfo = Await _IDBClient.GetDocumentInfo(_Environment.User.UserId, oObjectId) - DocumentViewer1.LoadFile(_DocumentInfo.FullPath) - - If _DocumentInfo.AccessRight = Rights.AccessRight.VIEW_ONLY Then - DocumentViewer1.SetViewOnly(True) - RibbonPageGroup_Export.Visible = False - Else - DocumentViewer1.SetViewOnly(False) - RibbonPageGroup_Export.Visible = True - End If + ' This needs to be Sync bc otherwise the PopupMenuShowing event will fire before this method loaded the Document Info + _DocumentInfo = _IDBClient.GetDocumentInfo(_Environment.User.UserId, oObjectId) Catch ex As Exception _Logger.Error(ex) MsgBox("Error while loading file", MsgBoxStyle.Critical, Text) End Try - End Function + End Sub Public Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean Implements IResultForm.RefreshResults @@ -589,7 +603,7 @@ Public Class frmDocumentResultList If oRow IsNot Nothing Then Dim oObjectId = oRow.Item(COLUMN_DOCID) - Dim oPropertyDialog As New frmObjectPropertyDialog(_LogConfig, _Environment, oObjectId) + Dim oPropertyDialog As New frmObjectPropertyDialog(_LogConfig, _Environment, _IDBClient, oObjectId) oPropertyDialog.Show() End If Catch ex As Exception @@ -645,6 +659,7 @@ Public Class frmDocumentResultList Dim oMenu As New DocumentPropertyMenu( _LogConfig, _Environment, + _IDBClient, oFilepath, oObjectId) diff --git a/GUIs.Common/My Project/AssemblyInfo.vb b/GUIs.Common/My Project/AssemblyInfo.vb index 5f5b6620..dd73b999 100644 --- a/GUIs.Common/My Project/AssemblyInfo.vb +++ b/GUIs.Common/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb index 3b9b4499..0c9c984c 100644 --- a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb +++ b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb @@ -141,12 +141,14 @@ Partial Class frmObjectPropertyDialog Me.cmbBusinessEntity.EditWidth = 100 Me.cmbBusinessEntity.Id = 6 Me.cmbBusinessEntity.Name = "cmbBusinessEntity" + Me.cmbBusinessEntity.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing ' 'BarStaticItem1 ' Me.BarStaticItem1.Caption = "Entity:" Me.BarStaticItem1.Id = 0 Me.BarStaticItem1.Name = "BarStaticItem1" + Me.BarStaticItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing ' 'TabPageAttributes ' diff --git a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb index 7c98444f..53f93237 100644 --- a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb +++ b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb @@ -8,16 +8,18 @@ Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.Language Imports DevExpress.XtraGrid +Imports DigitalData.Modules.EDMI.API Public Class frmObjectPropertyDialog Private _LogConfig As LogConfig Private _Logger As Logger Private _Environment As Environment + Private ReadOnly _Client As Client Private _ObjectId As Int64 Private _Db As MSSQLServer Private _Controls As PropertyControls - Public Sub New(LogConfig As LogConfig, Environment As Environment, ObjectId As Long) + Public Sub New(LogConfig As LogConfig, Environment As Environment, Client As Client, ObjectId As Long) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() @@ -25,6 +27,7 @@ Public Class frmObjectPropertyDialog _LogConfig = LogConfig _Logger = LogConfig.GetLogger() _Environment = Environment + _Client = Client _ObjectId = ObjectId _Db = _Environment.DatabaseIDB _Controls = New PropertyControls(_LogConfig, _Db) @@ -36,6 +39,10 @@ Public Class frmObjectPropertyDialog Try oHandle = SplashScreenManager.ShowOverlayForm(Me) + If IsNothing(_ObjectId) Then + Throw New ApplicationException("No valid Object Id supplied!") + End If + Dim oEntityIds = Await GetBusinessEntitiesForObjectId(_ObjectId) Dim oHistoryDataTable = Await GetValueHistoryForObjectId(_ObjectId) Dim oObjectProperties = Await GetPropertiesForObjectId(_ObjectId) @@ -45,15 +52,16 @@ Public Class frmObjectPropertyDialog ShowAttributeHistory(oHistoryDataTable) ShowObjectProperties(oObjectProperties) - If oEntityIds.Count = 1 Then - cmbBusinessEntity.EditValue = oEntityIds.First() - End If + 'If oEntityIds.Count = 1 Then + ' cmbBusinessEntity.EditValue = oEntityIds.First() + 'End If + cmbBusinessEntity.EditValue = oEntityIds.First() Catch ex As ApplicationException _Logger.Error(ex) MessageBox.Show(ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error) Catch ex As Exception _Logger.Error(ex) - MessageBox.Show("Unhandled exception occurred please check the log", Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) + MessageBox.Show("Unhandled exception occurred. Please check the log." & vbNewLine & ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Finally If oHandle IsNot Nothing SplashScreenManager.CloseOverlayForm(oHandle) @@ -62,72 +70,90 @@ Public Class frmObjectPropertyDialog End Sub Private Async Function GetAttributesForBusinessEntity(EntityId As Long) As Task(Of List(Of Attribute)) - Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE BE_ID = {EntityId}" - Dim oDatatable = Await _Db.GetDatatableAsync(oSQL) + Try + Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE BE_ID = {EntityId}" + Dim oResult = Await _Client.GetDatatableFromIDBAsync(oSQL) - If oDatatable.Rows.Count = 0 Then - Throw New ApplicationException($"BusinessEntity {EntityId} does not have any attributes!") - Else - Dim oAttributes As New List(Of Attribute) + If oResult.OK = False Then + Throw New ApplicationException($"Attributes for Business Entity {EntityId} could not be retrieved!") - For Each oRow As DataRow In oDatatable.Rows - oAttributes.Add(New Attribute() With { - .ID = oRow.Item("ATTR_ID"), - .Title = oRow.Item("ATTR_TITLE"), - .TypeID = oRow.Item("TYPE_ID"), - .TypeName = oRow.Item("TYPE_NAME") - }) - Next + ElseIf oResult.Table.Rows.Count = 0 Then + Throw New ApplicationException($"BusinessEntity {EntityId} does not have any attributes!") - Return oAttributes - End If + Else + Dim oAttributes As New List(Of Attribute) + + For Each oRow As DataRow In oResult.Table.Rows + oAttributes.Add(New Attribute() With { + .ID = oRow.Item("ATTR_ID"), + .Title = oRow.Item("ATTR_TITLE"), + .TypeID = oRow.Item("TYPE_ID"), + .TypeName = oRow.Item("TYPE_NAME") + }) + Next + + Return oAttributes + End If + Catch ex As Exception + _Logger.Error(ex) + Return New List(Of Attribute) + End Try End Function Private Async Function GetBusinessEntitiesForObjectId(ObjectId As Long) As Task(Of List(Of Long)) - Dim oSQL = $"SELECT BE_ID FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = {ObjectId}" - Dim oDatatable = Await _Db.GetDatatableAsync(oSQL) + Try + Dim oSQL = $"SELECT BE_ID FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = {ObjectId}" + Dim oResult = Await _Client.GetDatatableFromIDBAsync(oSQL) - If oDatatable.Rows.Count = 0 Then - Throw New ApplicationException($"ObjectId {ObjectId} is not assigned to any business entity!") - Else - Dim oEntities As New List(Of Long) + If oResult.OK = False Then + Throw New ApplicationException($"Business Entities could not be retrieved!") - For Each oRow In oDatatable.Rows - oEntities.Add(oRow.item("BE_ID")) - Next + ElseIf oResult.Table.Rows.Count = 0 Then + Throw New ApplicationException($"ObjectId {ObjectId} is not assigned to any business entity!") - Return oEntities - End If + Else + Dim oEntities As New List(Of Long) + + For Each oRow In oResult.Table.Rows + oEntities.Add(oRow.item("BE_ID")) + Next + + Return oEntities + End If + Catch ex As Exception + _Logger.Error(ex) + Return New List(Of Long) + End Try End Function Private Async Function GetValueHistoryForObjectId(ObjectId As Long) As Task(Of DataTable) Dim oSQL As String = $"SELECT * FROM VWIDB_CHANGE_LOG WHERE IDB_OBJ_ID = {ObjectId} ORDER BY ChangeID DESC" - Dim oDatatable = Await _Db.GetDatatableAsync(oSQL) + Dim oResult = Await _Client.GetDatatableFromIDBAsync(oSQL) - Return oDatatable + Return oResult.Table End Function Private Async Function GetPropertiesForObjectId(ObjectId As Long) As Task(Of DataTable) Dim oSQL As String = $"SELECT * FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = {ObjectId}" - Dim oDatatable = Await _Db.GetDatatableAsync(oSQL) + Dim oResult = Await _Client.GetDatatableFromIDBAsync(oSQL) - Return oDatatable + Return oResult.Table End Function Private Async Function GetAttributeValue(AttributeName As String, ObjectId As Long, Optional LanguageCode As String = "de-DE", Optional IsForeign As Boolean = False) As Task(Of Object) Dim oIsForeign = IIf(IsForeign, 1, 0) Dim oSQL = $"SELECT TERM_VALUE FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({ObjectId}, '{AttributeName}', '{LanguageCode}', {oIsForeign})" - Dim oTermValue = Await _Db.GetScalarValueAsync(oSQL) + Dim oResult = Await _Client.GetScalarValueFromIDBAsync(oSQL) - Return oTermValue + Return oResult.Scalar End Function Private Async Function GetAttributeValueAsTable(AttributeName As String, ObjectId As Long, Optional LanguageCode As String = "de-DE", Optional IsForeign As Boolean = False) As Task(Of DataTable) Dim oIsForeign = IIf(IsForeign, 1, 0) Dim oSQL = $"SELECT TERM_VALUE FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({ObjectId}, '{AttributeName}', '{LanguageCode}', {oIsForeign})" - Dim oDatatable = Await _Db.GetDatatableAsync(oSQL) + Dim oResult = Await _Client.GetDatatableFromIDBAsync(oSQL) - Return oDatatable + Return oResult.Table End Function Private Async Sub cmbBusinessEntity_EditValueChanged(sender As Object, e As EventArgs) Handles cmbBusinessEntity.EditValueChanged diff --git a/GUIs.Test.EDMIBenchmark/Form1.Designer.vb b/GUIs.Test.EDMIBenchmark/Form1.Designer.vb index 0b04b3e1..9f6a0e20 100644 --- a/GUIs.Test.EDMIBenchmark/Form1.Designer.vb +++ b/GUIs.Test.EDMIBenchmark/Form1.Designer.vb @@ -24,6 +24,7 @@ Partial Class Form1 Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1)) + Dim DockingContainer2 As DevExpress.XtraBars.Docking2010.Views.Tabbed.DockingContainer = New DevExpress.XtraBars.Docking2010.Views.Tabbed.DockingContainer() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.ButtonSelectFiles = New DevExpress.XtraBars.BarButtonItem() Me.ButtonImportFiles = New DevExpress.XtraBars.BarButtonItem() @@ -65,14 +66,16 @@ Partial Class Form1 Me.DockPanel2 = New DevExpress.XtraBars.Docking.DockPanel() Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer() Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer() + Me.DockPanel4 = New DevExpress.XtraBars.Docking.DockPanel() + Me.DockPanel4_Container = New DevExpress.XtraBars.Docking.ControlContainer() + Me.GridControl1 = New DevExpress.XtraGrid.GridControl() + Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() Me.BindingSource1 = New System.Windows.Forms.BindingSource(Me.components) Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem() Me.panelContainer1 = New DevExpress.XtraBars.Docking.DockPanel() - Me.GridControl1 = New DevExpress.XtraGrid.GridControl() - Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() - Me.DockPanel4 = New DevExpress.XtraBars.Docking.DockPanel() - Me.DockPanel4_Container = New DevExpress.XtraBars.Docking.ControlContainer() + Me.Document1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.Document(Me.components) + Me.DocumentGroup1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.DocumentGroup(Me.components) CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).BeginInit() @@ -90,11 +93,13 @@ Partial Class Form1 CType(Me.listboxFiles, System.ComponentModel.ISupportInitialize).BeginInit() Me.DockPanel2.SuspendLayout() Me.DockPanel2_Container.SuspendLayout() - CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() Me.DockPanel4.SuspendLayout() Me.DockPanel4_Container.SuspendLayout() + CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.Document1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.DocumentGroup1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'RibbonControl1 @@ -108,7 +113,7 @@ Partial Class Form1 Me.RibbonControl1.PageHeaderItemLinks.Add(Me.BarMdiChildrenListItem1) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemTextEdit3, Me.RepositoryItemTextEdit4}) - Me.RibbonControl1.Size = New System.Drawing.Size(1093, 158) + Me.RibbonControl1.Size = New System.Drawing.Size(1093, 159) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 ' 'ButtonSelectFiles @@ -287,10 +292,10 @@ Partial Class Form1 ' 'RibbonStatusBar1 ' - Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 640) + Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 642) Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 - Me.RibbonStatusBar1.Size = New System.Drawing.Size(1093, 24) + Me.RibbonStatusBar1.Size = New System.Drawing.Size(1093, 22) ' 'RibbonPage2 ' @@ -304,6 +309,13 @@ Partial Class Form1 Me.DocumentManager1.View = Me.TabbedView1 Me.DocumentManager1.ViewCollection.AddRange(New DevExpress.XtraBars.Docking2010.Views.BaseView() {Me.TabbedView1}) ' + 'TabbedView1 + ' + Me.TabbedView1.DocumentGroups.AddRange(New DevExpress.XtraBars.Docking2010.Views.Tabbed.DocumentGroup() {Me.DocumentGroup1}) + Me.TabbedView1.Documents.AddRange(New DevExpress.XtraBars.Docking2010.Views.BaseDocument() {Me.Document1}) + DockingContainer2.Element = Me.DocumentGroup1 + Me.TabbedView1.RootContainer.Nodes.AddRange(New DevExpress.XtraBars.Docking2010.Views.Tabbed.DockingContainer() {DockingContainer2}) + ' 'DockManager1 ' Me.DockManager1.AutoHideContainers.AddRange(New DevExpress.XtraBars.Docking.AutoHideContainer() {Me.hideContainerBottom}) @@ -313,12 +325,12 @@ Partial Class Form1 ' 'hideContainerBottom ' - Me.hideContainerBottom.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(240, Byte), Integer), CType(CType(240, Byte), Integer)) + Me.hideContainerBottom.BackColor = System.Drawing.Color.FromArgb(CType(CType(248, Byte), Integer), CType(CType(248, Byte), Integer), CType(CType(248, Byte), Integer)) Me.hideContainerBottom.Controls.Add(Me.DockPanel3) Me.hideContainerBottom.Dock = System.Windows.Forms.DockStyle.Bottom - Me.hideContainerBottom.Location = New System.Drawing.Point(0, 619) + Me.hideContainerBottom.Location = New System.Drawing.Point(0, 615) Me.hideContainerBottom.Name = "hideContainerBottom" - Me.hideContainerBottom.Size = New System.Drawing.Size(1093, 21) + Me.hideContainerBottom.Size = New System.Drawing.Size(1093, 27) ' 'DockPanel3 ' @@ -357,27 +369,28 @@ Partial Class Form1 Me.DockPanel1.Controls.Add(Me.DockPanel1_Container) Me.DockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left Me.DockPanel1.ID = New System.Guid("12b5eead-07cc-48c6-93a4-85cd0b4b82ce") - Me.DockPanel1.Location = New System.Drawing.Point(0, 158) + Me.DockPanel1.Location = New System.Drawing.Point(0, 159) Me.DockPanel1.Name = "DockPanel1" Me.DockPanel1.Options.ShowCloseButton = False Me.DockPanel1.OriginalSize = New System.Drawing.Size(297, 200) - Me.DockPanel1.Size = New System.Drawing.Size(297, 461) + Me.DockPanel1.Size = New System.Drawing.Size(297, 456) Me.DockPanel1.Text = "Files to Upload" ' 'DockPanel1_Container ' Me.DockPanel1_Container.Controls.Add(Me.listboxFiles) - Me.DockPanel1_Container.Location = New System.Drawing.Point(3, 26) + Me.DockPanel1_Container.Location = New System.Drawing.Point(3, 46) Me.DockPanel1_Container.Name = "DockPanel1_Container" - Me.DockPanel1_Container.Size = New System.Drawing.Size(290, 432) + Me.DockPanel1_Container.Size = New System.Drawing.Size(290, 407) Me.DockPanel1_Container.TabIndex = 0 ' 'listboxFiles ' + Me.listboxFiles.DataSource = Me.BindingSource1 Me.listboxFiles.Dock = System.Windows.Forms.DockStyle.Fill Me.listboxFiles.Location = New System.Drawing.Point(0, 0) Me.listboxFiles.Name = "listboxFiles" - Me.listboxFiles.Size = New System.Drawing.Size(290, 432) + Me.listboxFiles.Size = New System.Drawing.Size(290, 407) Me.listboxFiles.TabIndex = 1 ' 'DockPanel2 @@ -385,19 +398,19 @@ Partial Class Form1 Me.DockPanel2.Controls.Add(Me.DockPanel2_Container) Me.DockPanel2.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right Me.DockPanel2.ID = New System.Guid("e82850af-b594-49e9-ae83-36d4bf007da5") - Me.DockPanel2.Location = New System.Drawing.Point(893, 158) + Me.DockPanel2.Location = New System.Drawing.Point(893, 159) Me.DockPanel2.Name = "DockPanel2" Me.DockPanel2.Options.ShowCloseButton = False Me.DockPanel2.OriginalSize = New System.Drawing.Size(200, 200) - Me.DockPanel2.Size = New System.Drawing.Size(200, 461) + Me.DockPanel2.Size = New System.Drawing.Size(200, 456) Me.DockPanel2.Text = "Document Viewer" ' 'DockPanel2_Container ' Me.DockPanel2_Container.Controls.Add(Me.DocumentViewer1) - Me.DockPanel2_Container.Location = New System.Drawing.Point(4, 26) + Me.DockPanel2_Container.Location = New System.Drawing.Point(4, 46) Me.DockPanel2_Container.Name = "DockPanel2_Container" - Me.DockPanel2_Container.Size = New System.Drawing.Size(193, 432) + Me.DockPanel2_Container.Size = New System.Drawing.Size(193, 407) Me.DockPanel2_Container.TabIndex = 0 ' 'DocumentViewer1 @@ -405,9 +418,48 @@ Partial Class Form1 Me.DocumentViewer1.Dock = System.Windows.Forms.DockStyle.Fill Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0) Me.DocumentViewer1.Name = "DocumentViewer1" - Me.DocumentViewer1.Size = New System.Drawing.Size(193, 432) + Me.DocumentViewer1.Size = New System.Drawing.Size(193, 407) Me.DocumentViewer1.TabIndex = 0 ' + 'DockPanel4 + ' + Me.DockPanel4.Controls.Add(Me.DockPanel4_Container) + Me.DockPanel4.DockedAsTabbedDocument = True + Me.DockPanel4.FloatLocation = New System.Drawing.Point(354, 490) + Me.DockPanel4.FloatSize = New System.Drawing.Size(538, 200) + Me.DockPanel4.FloatVertical = True + Me.DockPanel4.ID = New System.Guid("d8d91c41-bf1b-4f30-b72e-66f2da18db8e") + Me.DockPanel4.Name = "DockPanel4" + Me.DockPanel4.OriginalSize = New System.Drawing.Size(200, 200) + Me.DockPanel4.SavedDock = DevExpress.XtraBars.Docking.DockingStyle.Top + Me.DockPanel4.SavedIndex = 2 + Me.DockPanel4.Text = "DockPanelGrid" + ' + 'DockPanel4_Container + ' + Me.DockPanel4_Container.Controls.Add(Me.GridControl1) + Me.DockPanel4_Container.Location = New System.Drawing.Point(0, 0) + Me.DockPanel4_Container.Name = "DockPanel4_Container" + Me.DockPanel4_Container.Size = New System.Drawing.Size(590, 424) + Me.DockPanel4_Container.TabIndex = 0 + ' + 'GridControl1 + ' + Me.GridControl1.DataSource = Me.BindingSource1 + Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridControl1.Location = New System.Drawing.Point(0, 0) + Me.GridControl1.MainView = Me.GridView1 + Me.GridControl1.MenuManager = Me.RibbonControl1 + Me.GridControl1.Name = "GridControl1" + Me.GridControl1.Size = New System.Drawing.Size(590, 424) + Me.GridControl1.TabIndex = 5 + Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) + ' + 'GridView1 + ' + Me.GridView1.GridControl = Me.GridControl1 + Me.GridView1.Name = "GridView1" + ' 'BindingSource1 ' ' @@ -435,53 +487,27 @@ Partial Class Form1 Me.panelContainer1.Size = New System.Drawing.Size(192, 145) Me.panelContainer1.Text = "panelContainer1" ' - 'GridControl1 + 'Document1 ' - Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.GridControl1.Location = New System.Drawing.Point(0, 0) - Me.GridControl1.MainView = Me.GridView1 - Me.GridControl1.MenuManager = Me.RibbonControl1 - Me.GridControl1.Name = "GridControl1" - Me.GridControl1.Size = New System.Drawing.Size(530, 171) - Me.GridControl1.TabIndex = 5 - Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) + Me.Document1.Caption = "DockPanelGrid" + Me.Document1.ControlName = "DockPanel4" + Me.Document1.FloatLocation = New System.Drawing.Point(354, 490) + Me.Document1.FloatSize = New System.Drawing.Size(538, 200) + Me.Document1.Properties.AllowClose = DevExpress.Utils.DefaultBoolean.[True] + Me.Document1.Properties.AllowFloat = DevExpress.Utils.DefaultBoolean.[True] + Me.Document1.Properties.AllowFloatOnDoubleClick = DevExpress.Utils.DefaultBoolean.[True] ' - 'GridView1 + 'DocumentGroup1 ' - Me.GridView1.GridControl = Me.GridControl1 - Me.GridView1.Name = "GridView1" - ' - 'DockPanel4 - ' - Me.DockPanel4.Controls.Add(Me.DockPanel4_Container) - Me.DockPanel4.Dock = DevExpress.XtraBars.Docking.DockingStyle.Float - Me.DockPanel4.FloatLocation = New System.Drawing.Point(2475, 322) - Me.DockPanel4.FloatSize = New System.Drawing.Size(538, 200) - Me.DockPanel4.FloatVertical = True - Me.DockPanel4.ID = New System.Guid("d8d91c41-bf1b-4f30-b72e-66f2da18db8e") - Me.DockPanel4.Location = New System.Drawing.Point(0, 0) - Me.DockPanel4.Name = "DockPanel4" - Me.DockPanel4.OriginalSize = New System.Drawing.Size(200, 200) - Me.DockPanel4.SavedDock = DevExpress.XtraBars.Docking.DockingStyle.Top - Me.DockPanel4.SavedIndex = 2 - Me.DockPanel4.Size = New System.Drawing.Size(538, 200) - Me.DockPanel4.Text = "DockPanelGrid" - ' - 'DockPanel4_Container - ' - Me.DockPanel4_Container.Controls.Add(Me.GridControl1) - Me.DockPanel4_Container.Location = New System.Drawing.Point(4, 26) - Me.DockPanel4_Container.Name = "DockPanel4_Container" - Me.DockPanel4_Container.Size = New System.Drawing.Size(530, 171) - Me.DockPanel4_Container.TabIndex = 0 + Me.DocumentGroup1.Items.AddRange(New DevExpress.XtraBars.Docking2010.Views.Tabbed.Document() {Me.Document1}) ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(1093, 664) - Me.Controls.Add(Me.DockPanel2) Me.Controls.Add(Me.DockPanel1) + Me.Controls.Add(Me.DockPanel2) Me.Controls.Add(Me.hideContainerBottom) Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonControl1) @@ -506,11 +532,13 @@ Partial Class Form1 CType(Me.listboxFiles, System.ComponentModel.ISupportInitialize).EndInit() Me.DockPanel2.ResumeLayout(False) Me.DockPanel2_Container.ResumeLayout(False) - CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() Me.DockPanel4.ResumeLayout(False) Me.DockPanel4_Container.ResumeLayout(False) + CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.Document1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.DocumentGroup1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -564,4 +592,6 @@ Partial Class Form1 Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents DockPanel4 As DevExpress.XtraBars.Docking.DockPanel Friend WithEvents DockPanel4_Container As DevExpress.XtraBars.Docking.ControlContainer + Friend WithEvents DocumentGroup1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.DocumentGroup + Friend WithEvents Document1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.Document End Class diff --git a/GUIs.Test.EDMIBenchmark/Form1.resx b/GUIs.Test.EDMIBenchmark/Form1.resx index 7d14a195..e655131f 100644 --- a/GUIs.Test.EDMIBenchmark/Form1.resx +++ b/GUIs.Test.EDMIBenchmark/Form1.resx @@ -341,6 +341,9 @@ 316, 17 + + 316, 17 + 453, 17 diff --git a/GUIs.Test.EDMIBenchmark/Form1.vb b/GUIs.Test.EDMIBenchmark/Form1.vb index f04a0428..8d499642 100644 --- a/GUIs.Test.EDMIBenchmark/Form1.vb +++ b/GUIs.Test.EDMIBenchmark/Form1.vb @@ -147,6 +147,9 @@ Public Class Form1 Try Dim oResult As Client.FileList = Await _Client.ListFilesForUserAsync() BindingSource1.DataSource = oResult.Datatable + + + Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Uh oh!") End Try diff --git a/Modules.EDMIAPI/Client.vb b/Modules.EDMIAPI/Client.vb index 4ed0ca7e..2d7c7a73 100644 --- a/Modules.EDMIAPI/Client.vb +++ b/Modules.EDMIAPI/Client.vb @@ -137,6 +137,47 @@ Public Class Client End Try End Function + Public Function GetDatatableFromIDB(SQL As String) As TableResult + Try + Dim oResponse = _channel.ReturnDatatable_MSSQL_IDB(SQL) + Return oResponse + Catch ex As Exception + _logger.Error(ex) + Throw ex + End Try + End Function + + + Public Async Function GetDatatableFromIDBAsync(SQL As String) As Task(Of TableResult) + Try + Dim oResponse = Await _channel.ReturnDatatable_MSSQL_IDBAsync(SQL) + Return oResponse + Catch ex As Exception + _logger.Error(ex) + Throw ex + End Try + End Function + + Public Function GetScalarValueFromIDB(SQL As String) As ScalarResult + Try + Dim oResponse = _channel.ReturnScalar_MSSQL_IDB(SQL) + Return oResponse + Catch ex As Exception + _logger.Error(ex) + Throw ex + End Try + End Function + + Public Async Function GetScalarValueFromIDBAsync(SQL As String) As Task(Of ScalarResult) + Try + Dim oResponse = Await _channel.ReturnScalar_MSSQL_IDBAsync(SQL) + Return oResponse + Catch ex As Exception + _logger.Error(ex) + Throw ex + End Try + End Function + Public Function GetDatatableByName(DatatableName As String, Optional FilterExpression As String = "", Optional SortByColumn As String = "") As TableResult Try Dim oResponse = _channel.ReturnDatatableFromCache(DatatableName, FilterExpression, SortByColumn) @@ -157,7 +198,25 @@ Public Class Client End Try End Function - Public Async Function GetDocumentInfo(UserId As Long, ObjectId As Long) As Task(Of DocumentInfo) + Public Function GetDocumentInfo(UserId As Long, ObjectId As Long) As DocumentInfo + Try + Dim oParams = New DocumentInfoRequest With { + .ObjectId = ObjectId, + .UserId = UserId + } + Dim oResponse As DocumentInfoResponse = _channel.GetFileInfoByObjectId(oParams) + + Return New DocumentInfo With { + .AccessRight = oResponse.FileRight, + .FullPath = oResponse.FullPath + } + Catch ex As Exception + _logger.Error(ex) + Throw ex + End Try + End Function + + Public Async Function GetDocumentInfoAsync(UserId As Long, ObjectId As Long) As Task(Of DocumentInfo) Try Dim oParams = New DocumentInfoRequest With { .ObjectId = ObjectId, diff --git a/Modules.EDMIAPI/My Project/AssemblyInfo.vb b/Modules.EDMIAPI/My Project/AssemblyInfo.vb index bd160e92..843272b3 100644 --- a/Modules.EDMIAPI/My Project/AssemblyInfo.vb +++ b/Modules.EDMIAPI/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + +