This commit is contained in:
SchreiberM 2022-03-28 16:46:41 +02:00
commit 3714308da1
28 changed files with 5154 additions and 121 deletions

View File

@ -118,6 +118,7 @@
<Compile Include="DataResultList\frmDataResultList.vb"> <Compile Include="DataResultList\frmDataResultList.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="DocumentResultList\CheckInOut.vb" />
<Compile Include="DocumentResultList\Layout.vb" /> <Compile Include="DocumentResultList\Layout.vb" />
<Compile Include="DocumentResultList\Loader.vb" /> <Compile Include="DocumentResultList\Loader.vb" />
<Compile Include="DocumentResultList\Config.vb" /> <Compile Include="DocumentResultList\Config.vb" />

View File

@ -0,0 +1,49 @@
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Logging
Namespace DocumentResultList
Public Class CheckInOut
Inherits BaseClass
Private Client As Client
Public Sub New(pLogConfig As LogConfig, pClient As Client)
MyBase.New(pLogConfig)
Client = pClient
End Sub
Public Async Function GetCheckoutState(pObjectId As Long) As Task(Of CheckoutState)
Try
Dim oSQL = $"SELECT * FROM VWOBJECT_CHECKED_OUT WHERE IDB_OBJ_ID = {pObjectId}"
Dim oResponse = Await Client.GetDatatableFromIDBAsync(oSQL)
If oResponse.ok = False Then
Return Nothing
End If
If oResponse.Table.Rows.Count = 0 Then
Return New CheckoutState()
End If
Dim oRow = oResponse.Table.Rows.Item(0)
Dim oState As New CheckoutState With {
.IsCheckedOut = True,
.CheckedOutWhen = oRow.Item("CHECKED_OUT_WHEN"),
.CheckedOutWho = oRow.Item("EMAIL")
}
Return oState
Catch ex As Exception
Logger.Error(ex)
Return Nothing
End Try
End Function
Public Class CheckoutState
Public Property IsCheckedOut As Boolean = False
Public Property CheckedOutWhen As Date = Nothing
Public Property CheckedOutWho As String = Nothing
End Class
End Class
End Namespace

View File

@ -1,10 +1,11 @@
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.BarManager, 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.XtraGrid.GridControl, DevExpress.XtraGrid.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.RepositoryItemTextEdit, 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
DevExpress.XtraEditors.TextEdit, 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
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.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.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.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.ProgressBarControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -122,7 +122,6 @@ Partial Class ctrlObjectPropertyDialog
'XtraTabControl1 'XtraTabControl1
' '
Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.XtraTabControl1.HeaderLocation = DevExpress.XtraTab.TabHeaderLocation.Bottom
Me.XtraTabControl1.Location = New System.Drawing.Point(0, 30) Me.XtraTabControl1.Location = New System.Drawing.Point(0, 30)
Me.XtraTabControl1.Name = "XtraTabControl1" Me.XtraTabControl1.Name = "XtraTabControl1"
Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPageObject Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPageObject

View File

@ -21,7 +21,7 @@ Partial Class frmDocumentResultList
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container() Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDocumentResultList)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDocumentResultList))
Dim PushTransition1 As DevExpress.Utils.Animation.PushTransition = New DevExpress.Utils.Animation.PushTransition() Dim FadeTransition1 As DevExpress.Utils.Animation.FadeTransition = New DevExpress.Utils.Animation.FadeTransition()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl() Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() Me.GridView1 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView()
@ -96,6 +96,17 @@ Partial Class frmDocumentResultList
Me.DockManager1 = New DevExpress.XtraBars.Docking.DockManager(Me.components) Me.DockManager1 = New DevExpress.XtraBars.Docking.DockManager(Me.components)
Me.DockPanelFileList = New DevExpress.XtraBars.Docking.DockPanel() Me.DockPanelFileList = New DevExpress.XtraBars.Docking.DockPanel()
Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer() Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
Me.panelContainer1 = New DevExpress.XtraBars.Docking.DockPanel()
Me.DockPanelStatus = New DevExpress.XtraBars.Docking.DockPanel()
Me.ControlContainer1 = New DevExpress.XtraBars.Docking.ControlContainer()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.txtCheckedOutWho = New DevExpress.XtraEditors.TextEdit()
Me.dateCheckedOutWhen = New DevExpress.XtraEditors.DateEdit()
Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.DockPanelMetadata = New DevExpress.XtraBars.Docking.DockPanel() Me.DockPanelMetadata = New DevExpress.XtraBars.Docking.DockPanel()
Me.DockPanel3_Container = New DevExpress.XtraBars.Docking.ControlContainer() Me.DockPanel3_Container = New DevExpress.XtraBars.Docking.ControlContainer()
Me.CtrlObjectPropertyDialog = New DigitalData.GUIs.Common.ctrlObjectPropertyDialog() Me.CtrlObjectPropertyDialog = New DigitalData.GUIs.Common.ctrlObjectPropertyDialog()
@ -126,6 +137,19 @@ Partial Class frmDocumentResultList
CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.DockPanelFileList.SuspendLayout() Me.DockPanelFileList.SuspendLayout()
Me.DockPanel2_Container.SuspendLayout() Me.DockPanel2_Container.SuspendLayout()
Me.panelContainer1.SuspendLayout()
Me.DockPanelStatus.SuspendLayout()
Me.ControlContainer1.SuspendLayout()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.LayoutControl1.SuspendLayout()
CType(Me.txtCheckedOutWho.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.dateCheckedOutWhen.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.dateCheckedOutWhen.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.DockPanelMetadata.SuspendLayout() Me.DockPanelMetadata.SuspendLayout()
Me.DockPanel3_Container.SuspendLayout() Me.DockPanel3_Container.SuspendLayout()
Me.DockPanelDocViewer.SuspendLayout() Me.DockPanelDocViewer.SuspendLayout()
@ -192,7 +216,7 @@ Partial Class frmDocumentResultList
Me.RibbonControl.ExpandCollapseItem.Id = 0 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.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonResetLayout, Me.labelCriticalError, Me.labelWarning, Me.MenuItemFileOpen, Me.MenuItemPropertiesIDB, Me.MenuItemFolderOpen, Me.MenuItemFilepathCopy, Me.MenuItemFolderpathCopy, Me.MenuItemProperties, Me.MenuItemsOpenFileZooFlow, Me.MenuItemPropertiesZooFlow, Me.ButtonRefresh, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.MenuItemStartAdhocWorkflow, Me.MenuItemCheckInFile, Me.MenuItemCheckOutFile, Me.MenuItemVersionFile, Me.chkGridShowQuickfilter, Me.chkGridShowGrouping, Me.chkGridShowTitle, Me.MenuItemSaveProperties, Me.BarButtonItem11, Me.BarWorkspaceMenuItem1}) Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonResetLayout, Me.labelCriticalError, Me.labelWarning, Me.MenuItemFileOpen, Me.MenuItemPropertiesIDB, Me.MenuItemFolderOpen, Me.MenuItemFilepathCopy, Me.MenuItemFolderpathCopy, Me.MenuItemProperties, Me.MenuItemsOpenFileZooFlow, Me.MenuItemPropertiesZooFlow, Me.ButtonRefresh, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.MenuItemStartAdhocWorkflow, Me.MenuItemCheckInFile, Me.MenuItemCheckOutFile, Me.MenuItemVersionFile, Me.chkGridShowQuickfilter, Me.chkGridShowGrouping, Me.chkGridShowTitle, Me.MenuItemSaveProperties, Me.BarButtonItem11, Me.BarWorkspaceMenuItem1})
resources.ApplyResources(Me.RibbonControl, "RibbonControl") resources.ApplyResources(Me.RibbonControl, "RibbonControl")
Me.RibbonControl.MaxItemId = 46 Me.RibbonControl.MaxItemId = 48
Me.RibbonControl.Name = "RibbonControl" Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryFile, Me.RibbonPageCategoryAttribute}) Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryFile, Me.RibbonPageCategoryAttribute})
Me.RibbonControl.PageHeaderItemLinks.Add(Me.BarWorkspaceMenuItem1) Me.RibbonControl.PageHeaderItemLinks.Add(Me.BarWorkspaceMenuItem1)
@ -321,7 +345,7 @@ Partial Class frmDocumentResultList
' '
resources.ApplyResources(Me.MenuItemProperties, "MenuItemProperties") resources.ApplyResources(Me.MenuItemProperties, "MenuItemProperties")
Me.MenuItemProperties.Id = 26 Me.MenuItemProperties.Id = 26
Me.MenuItemProperties.ImageOptions.SvgImage = CType(resources.GetObject("MenuItemPropertiesECM.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.MenuItemProperties.ImageOptions.SvgImage = CType(resources.GetObject("MenuItemProperties.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.MenuItemProperties.Name = "MenuItemProperties" Me.MenuItemProperties.Name = "MenuItemProperties"
' '
'MenuItemsOpenFileZooFlow 'MenuItemsOpenFileZooFlow
@ -455,7 +479,7 @@ Partial Class frmDocumentResultList
'WorkspaceManager1 'WorkspaceManager1
' '
Me.WorkspaceManager1.TargetControl = Me Me.WorkspaceManager1.TargetControl = Me
Me.WorkspaceManager1.TransitionType = PushTransition1 Me.WorkspaceManager1.TransitionType = FadeTransition1
' '
'RibbonPageCategoryFile 'RibbonPageCategoryFile
' '
@ -695,7 +719,7 @@ Partial Class frmDocumentResultList
'DockManager1 'DockManager1
' '
Me.DockManager1.Form = Me Me.DockManager1.Form = Me
Me.DockManager1.RootPanels.AddRange(New DevExpress.XtraBars.Docking.DockPanel() {Me.DockPanelFileList, Me.DockPanelMetadata, Me.DockPanelDocViewer}) Me.DockManager1.RootPanels.AddRange(New DevExpress.XtraBars.Docking.DockPanel() {Me.DockPanelFileList, Me.panelContainer1, Me.DockPanelDocViewer})
Me.DockManager1.TopZIndexControls.AddRange(New String() {"DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"}) Me.DockManager1.TopZIndexControls.AddRange(New String() {"DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"})
' '
'DockPanelFileList 'DockPanelFileList
@ -714,10 +738,109 @@ Partial Class frmDocumentResultList
resources.ApplyResources(Me.DockPanel2_Container, "DockPanel2_Container") resources.ApplyResources(Me.DockPanel2_Container, "DockPanel2_Container")
Me.DockPanel2_Container.Name = "DockPanel2_Container" Me.DockPanel2_Container.Name = "DockPanel2_Container"
' '
'panelContainer1
'
Me.panelContainer1.ActiveChild = Me.DockPanelStatus
Me.panelContainer1.Controls.Add(Me.DockPanelStatus)
Me.panelContainer1.Controls.Add(Me.DockPanelMetadata)
Me.panelContainer1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right
Me.panelContainer1.ID = New System.Guid("3d77391e-21ef-4574-8521-d9f3b7468ebe")
resources.ApplyResources(Me.panelContainer1, "panelContainer1")
Me.panelContainer1.Name = "panelContainer1"
Me.panelContainer1.OriginalSize = New System.Drawing.Size(275, 200)
Me.panelContainer1.Tabbed = True
'
'DockPanelStatus
'
Me.DockPanelStatus.Controls.Add(Me.ControlContainer1)
Me.DockPanelStatus.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill
Me.DockPanelStatus.FloatVertical = True
Me.DockPanelStatus.ID = New System.Guid("ef61c6cb-3dbd-4dd5-9df0-9d331a859d3d")
resources.ApplyResources(Me.DockPanelStatus, "DockPanelStatus")
Me.DockPanelStatus.Name = "DockPanelStatus"
Me.DockPanelStatus.Options.ShowCloseButton = False
Me.DockPanelStatus.OriginalSize = New System.Drawing.Size(273, 97)
'
'ControlContainer1
'
Me.ControlContainer1.Controls.Add(Me.LayoutControl1)
resources.ApplyResources(Me.ControlContainer1, "ControlContainer1")
Me.ControlContainer1.Name = "ControlContainer1"
'
'LayoutControl1
'
Me.LayoutControl1.Controls.Add(Me.txtCheckedOutWho)
Me.LayoutControl1.Controls.Add(Me.dateCheckedOutWhen)
resources.ApplyResources(Me.LayoutControl1, "LayoutControl1")
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(1068, 325, 650, 400)
Me.LayoutControl1.Root = Me.Root
'
'txtCheckedOutWho
'
resources.ApplyResources(Me.txtCheckedOutWho, "txtCheckedOutWho")
Me.txtCheckedOutWho.MenuManager = Me.RibbonControl
Me.txtCheckedOutWho.Name = "txtCheckedOutWho"
Me.txtCheckedOutWho.Properties.ReadOnly = True
Me.txtCheckedOutWho.StyleController = Me.LayoutControl1
'
'dateCheckedOutWhen
'
resources.ApplyResources(Me.dateCheckedOutWhen, "dateCheckedOutWhen")
Me.dateCheckedOutWhen.MenuManager = Me.RibbonControl
Me.dateCheckedOutWhen.Name = "dateCheckedOutWhen"
Me.dateCheckedOutWhen.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("DateEdit1.Properties.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))})
Me.dateCheckedOutWhen.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("DateEdit1.Properties.CalendarTimeProperties.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))})
Me.dateCheckedOutWhen.Properties.ReadOnly = True
Me.dateCheckedOutWhen.StyleController = Me.LayoutControl1
'
'Root
'
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup1, Me.EmptySpaceItem1})
Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(268, 434)
Me.Root.TextVisible = False
'
'LayoutControlGroup1
'
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2})
Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(248, 93)
resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1")
'
'LayoutControlItem1
'
Me.LayoutControlItem1.Control = Me.txtCheckedOutWho
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Size = New System.Drawing.Size(224, 24)
resources.ApplyResources(Me.LayoutControlItem1, "LayoutControlItem1")
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(126, 13)
'
'LayoutControlItem2
'
Me.LayoutControlItem2.Control = Me.dateCheckedOutWhen
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 24)
Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Size = New System.Drawing.Size(224, 24)
resources.ApplyResources(Me.LayoutControlItem2, "LayoutControlItem2")
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(126, 13)
'
'EmptySpaceItem1
'
Me.EmptySpaceItem1.AllowHotTrack = False
Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 93)
Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
Me.EmptySpaceItem1.Size = New System.Drawing.Size(248, 321)
Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
'
'DockPanelMetadata 'DockPanelMetadata
' '
Me.DockPanelMetadata.Controls.Add(Me.DockPanel3_Container) Me.DockPanelMetadata.Controls.Add(Me.DockPanel3_Container)
Me.DockPanelMetadata.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right Me.DockPanelMetadata.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill
Me.DockPanelMetadata.ID = New System.Guid("a7688cec-f13e-448b-82cf-a6bb020fb3f7") Me.DockPanelMetadata.ID = New System.Guid("a7688cec-f13e-448b-82cf-a6bb020fb3f7")
resources.ApplyResources(Me.DockPanelMetadata, "DockPanelMetadata") resources.ApplyResources(Me.DockPanelMetadata, "DockPanelMetadata")
Me.DockPanelMetadata.Name = "DockPanelMetadata" Me.DockPanelMetadata.Name = "DockPanelMetadata"
@ -743,7 +866,7 @@ Partial Class frmDocumentResultList
resources.ApplyResources(Me.DockPanelDocViewer, "DockPanelDocViewer") resources.ApplyResources(Me.DockPanelDocViewer, "DockPanelDocViewer")
Me.DockPanelDocViewer.Name = "DockPanelDocViewer" Me.DockPanelDocViewer.Name = "DockPanelDocViewer"
Me.DockPanelDocViewer.Options.ShowCloseButton = False Me.DockPanelDocViewer.Options.ShowCloseButton = False
Me.DockPanelDocViewer.OriginalSize = New System.Drawing.Size(324, 200) Me.DockPanelDocViewer.OriginalSize = New System.Drawing.Size(329, 200)
' '
'DockPanel1_Container 'DockPanel1_Container
' '
@ -761,7 +884,7 @@ Partial Class frmDocumentResultList
resources.ApplyResources(Me, "$this") resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.DockPanelDocViewer) Me.Controls.Add(Me.DockPanelDocViewer)
Me.Controls.Add(Me.DockPanelMetadata) Me.Controls.Add(Me.panelContainer1)
Me.Controls.Add(Me.DockPanelFileList) Me.Controls.Add(Me.DockPanelFileList)
Me.Controls.Add(Me.RibbonStatusBar) Me.Controls.Add(Me.RibbonStatusBar)
Me.Controls.Add(Me.RibbonControl) Me.Controls.Add(Me.RibbonControl)
@ -794,6 +917,19 @@ Partial Class frmDocumentResultList
CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).EndInit()
Me.DockPanelFileList.ResumeLayout(False) Me.DockPanelFileList.ResumeLayout(False)
Me.DockPanel2_Container.ResumeLayout(False) Me.DockPanel2_Container.ResumeLayout(False)
Me.panelContainer1.ResumeLayout(False)
Me.DockPanelStatus.ResumeLayout(False)
Me.ControlContainer1.ResumeLayout(False)
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.LayoutControl1.ResumeLayout(False)
CType(Me.txtCheckedOutWho.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.dateCheckedOutWhen.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.dateCheckedOutWhen.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
Me.DockPanelMetadata.ResumeLayout(False) Me.DockPanelMetadata.ResumeLayout(False)
Me.DockPanel3_Container.ResumeLayout(False) Me.DockPanel3_Container.ResumeLayout(False)
Me.DockPanelDocViewer.ResumeLayout(False) Me.DockPanelDocViewer.ResumeLayout(False)
@ -884,4 +1020,15 @@ Partial Class frmDocumentResultList
Friend WithEvents RibbonPageCategoryAttribute As DevExpress.XtraBars.Ribbon.RibbonPageCategory Friend WithEvents RibbonPageCategoryAttribute As DevExpress.XtraBars.Ribbon.RibbonPageCategory
Friend WithEvents RibbonPageAttribute As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents RibbonPageAttribute As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents DockPanelStatus As DevExpress.XtraBars.Docking.DockPanel
Friend WithEvents ControlContainer1 As DevExpress.XtraBars.Docking.ControlContainer
Friend WithEvents panelContainer1 As DevExpress.XtraBars.Docking.DockPanel
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents txtCheckedOutWho As DevExpress.XtraEditors.TextEdit
Friend WithEvents dateCheckedOutWhen As DevExpress.XtraEditors.DateEdit
Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents LayoutControlGroup1 As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents EmptySpaceItem1 As DevExpress.XtraLayout.EmptySpaceItem
End Class End Class

View File

@ -391,7 +391,7 @@
<data name="MenuItemProperties.Caption" xml:space="preserve"> <data name="MenuItemProperties.Caption" xml:space="preserve">
<value>Eigenschaften</value> <value>Eigenschaften</value>
</data> </data>
<data name="MenuItemPropertiesECM.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="MenuItemProperties.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@ -496,7 +496,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing"> <data name="DocumentViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>318, 459</value> <value>323, 459</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib"> <data name="DocumentViewer1.TabIndex" type="System.Int32, mscorlib">
@ -518,7 +518,7 @@
<value>3, 26</value> <value>3, 26</value>
</data> </data>
<data name="DockPanel1_Container.Size" type="System.Drawing.Size, System.Drawing"> <data name="DockPanel1_Container.Size" type="System.Drawing.Size, System.Drawing">
<value>318, 459</value> <value>323, 459</value>
</data> </data>
<data name="DockPanel1_Container.TabIndex" type="System.Int32, mscorlib"> <data name="DockPanel1_Container.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -539,7 +539,7 @@
<value>585, 158</value> <value>585, 158</value>
</data> </data>
<data name="DockPanelDocViewer.Size" type="System.Drawing.Size, System.Drawing"> <data name="DockPanelDocViewer.Size" type="System.Drawing.Size, System.Drawing">
<value>324, 489</value> <value>329, 489</value>
</data> </data>
<data name="DockPanelDocViewer.Text" xml:space="preserve"> <data name="DockPanelDocViewer.Text" xml:space="preserve">
<value>Vorschau</value> <value>Vorschau</value>
@ -556,6 +556,136 @@
<data name="&gt;&gt;DockPanelDocViewer.ZOrder" xml:space="preserve"> <data name="&gt;&gt;DockPanelDocViewer.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<data name="txtCheckedOutWho.Location" type="System.Drawing.Point, System.Drawing">
<value>162, 45</value>
</data>
<data name="txtCheckedOutWho.Size" type="System.Drawing.Size, System.Drawing">
<value>82, 20</value>
</data>
<data name="txtCheckedOutWho.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;txtCheckedOutWho.Name" xml:space="preserve">
<value>txtCheckedOutWho</value>
</data>
<data name="&gt;&gt;txtCheckedOutWho.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;txtCheckedOutWho.Parent" xml:space="preserve">
<value>LayoutControl1</value>
</data>
<data name="&gt;&gt;txtCheckedOutWho.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="dateCheckedOutWhen.EditValue" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="dateCheckedOutWhen.Location" type="System.Drawing.Point, System.Drawing">
<value>162, 69</value>
</data>
<assembly alias="DevExpress.Utils.v21.2" name="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="DateEdit1.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value>
</data>
<data name="DateEdit1.Properties.CalendarTimeProperties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value>
</data>
<data name="dateCheckedOutWhen.Size" type="System.Drawing.Size, System.Drawing">
<value>82, 20</value>
</data>
<data name="dateCheckedOutWhen.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;dateCheckedOutWhen.Name" xml:space="preserve">
<value>dateCheckedOutWhen</value>
</data>
<data name="&gt;&gt;dateCheckedOutWhen.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;dateCheckedOutWhen.Parent" xml:space="preserve">
<value>LayoutControl1</value>
</data>
<data name="&gt;&gt;dateCheckedOutWhen.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="LayoutControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="LayoutControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="LayoutControlItem1.Text" xml:space="preserve">
<value>Bearbeitet von</value>
</data>
<data name="LayoutControlItem2.Text" xml:space="preserve">
<value>In Bearbeitung genommen</value>
</data>
<data name="LayoutControlGroup1.Text" xml:space="preserve">
<value>In Bearbeitung</value>
</data>
<data name="LayoutControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>268, 434</value>
</data>
<data name="LayoutControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="LayoutControl1.Text" xml:space="preserve">
<value>LayoutControl1</value>
</data>
<data name="&gt;&gt;LayoutControl1.Name" xml:space="preserve">
<value>LayoutControl1</value>
</data>
<data name="&gt;&gt;LayoutControl1.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LayoutControl1.Parent" xml:space="preserve">
<value>ControlContainer1</value>
</data>
<data name="&gt;&gt;LayoutControl1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="ControlContainer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="ControlContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>268, 434</value>
</data>
<data name="ControlContainer1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;ControlContainer1.Name" xml:space="preserve">
<value>ControlContainer1</value>
</data>
<data name="&gt;&gt;ControlContainer1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Docking.ControlContainer, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;ControlContainer1.Parent" xml:space="preserve">
<value>DockPanelStatus</value>
</data>
<data name="&gt;&gt;ControlContainer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="DockPanelStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 26</value>
</data>
<data name="DockPanelStatus.Size" type="System.Drawing.Size, System.Drawing">
<value>268, 434</value>
</data>
<data name="DockPanelStatus.Text" xml:space="preserve">
<value>Status</value>
</data>
<data name="&gt;&gt;DockPanelStatus.Name" xml:space="preserve">
<value>DockPanelStatus</value>
</data>
<data name="&gt;&gt;DockPanelStatus.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Docking.DockPanel, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;DockPanelStatus.Parent" xml:space="preserve">
<value>panelContainer1</value>
</data>
<data name="&gt;&gt;DockPanelStatus.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="CtrlObjectPropertyDialog.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="CtrlObjectPropertyDialog.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
@ -563,7 +693,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="CtrlObjectPropertyDialog.Size" type="System.Drawing.Size, System.Drawing"> <data name="CtrlObjectPropertyDialog.Size" type="System.Drawing.Size, System.Drawing">
<value>273, 460</value> <value>268, 434</value>
</data> </data>
<data name="CtrlObjectPropertyDialog.TabIndex" type="System.Int32, mscorlib"> <data name="CtrlObjectPropertyDialog.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -581,10 +711,10 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="DockPanel3_Container.Location" type="System.Drawing.Point, System.Drawing"> <data name="DockPanel3_Container.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 26</value> <value>0, 0</value>
</data> </data>
<data name="DockPanel3_Container.Size" type="System.Drawing.Size, System.Drawing"> <data name="DockPanel3_Container.Size" type="System.Drawing.Size, System.Drawing">
<value>273, 460</value> <value>268, 434</value>
</data> </data>
<data name="DockPanel3_Container.TabIndex" type="System.Int32, mscorlib"> <data name="DockPanel3_Container.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -602,10 +732,10 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="DockPanelMetadata.Location" type="System.Drawing.Point, System.Drawing"> <data name="DockPanelMetadata.Location" type="System.Drawing.Point, System.Drawing">
<value>909, 158</value> <value>4, 26</value>
</data> </data>
<data name="DockPanelMetadata.Size" type="System.Drawing.Size, System.Drawing"> <data name="DockPanelMetadata.Size" type="System.Drawing.Size, System.Drawing">
<value>280, 489</value> <value>268, 434</value>
</data> </data>
<data name="DockPanelMetadata.Text" xml:space="preserve"> <data name="DockPanelMetadata.Text" xml:space="preserve">
<value>Eigenschaften</value> <value>Eigenschaften</value>
@ -617,11 +747,32 @@
<value>DevExpress.XtraBars.Docking.DockPanel, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>DevExpress.XtraBars.Docking.DockPanel, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="&gt;&gt;DockPanelMetadata.Parent" xml:space="preserve"> <data name="&gt;&gt;DockPanelMetadata.Parent" xml:space="preserve">
<value>$this</value> <value>panelContainer1</value>
</data> </data>
<data name="&gt;&gt;DockPanelMetadata.ZOrder" xml:space="preserve"> <data name="&gt;&gt;DockPanelMetadata.ZOrder" xml:space="preserve">
<value>1</value> <value>1</value>
</data> </data>
<data name="panelContainer1.Location" type="System.Drawing.Point, System.Drawing">
<value>914, 158</value>
</data>
<data name="panelContainer1.Size" type="System.Drawing.Size, System.Drawing">
<value>275, 489</value>
</data>
<data name="panelContainer1.Text" xml:space="preserve">
<value>panelContainer1</value>
</data>
<data name="&gt;&gt;panelContainer1.Name" xml:space="preserve">
<value>panelContainer1</value>
</data>
<data name="&gt;&gt;panelContainer1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Docking.DockPanel, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;panelContainer1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panelContainer1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="DockPanel2_Container.Location" type="System.Drawing.Point, System.Drawing"> <data name="DockPanel2_Container.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 26</value> <value>3, 26</value>
</data> </data>
@ -1149,6 +1300,36 @@
<data name="&gt;&gt;DockManager1.Type" xml:space="preserve"> <data name="&gt;&gt;DockManager1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="&gt;&gt;Root.Name" xml:space="preserve">
<value>Root</value>
</data>
<data name="&gt;&gt;Root.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LayoutControlGroup1.Name" xml:space="preserve">
<value>LayoutControlGroup1</value>
</data>
<data name="&gt;&gt;LayoutControlGroup1.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LayoutControlItem1.Name" xml:space="preserve">
<value>LayoutControlItem1</value>
</data>
<data name="&gt;&gt;LayoutControlItem1.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LayoutControlItem2.Name" xml:space="preserve">
<value>LayoutControlItem2</value>
</data>
<data name="&gt;&gt;LayoutControlItem2.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;EmptySpaceItem1.Name" xml:space="preserve">
<value>EmptySpaceItem1</value>
</data>
<data name="&gt;&gt;EmptySpaceItem1.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.EmptySpaceItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;SvgImageCollection1.Name" xml:space="preserve"> <data name="&gt;&gt;SvgImageCollection1.Name" xml:space="preserve">
<value>SvgImageCollection1</value> <value>SvgImageCollection1</value>
</data> </data>

View File

@ -6,7 +6,6 @@ Imports DevExpress.Utils
Imports DevExpress.XtraBars Imports DevExpress.XtraBars
Imports DevExpress.XtraEditors Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.BandedGrid Imports DevExpress.XtraGrid.Views.BandedGrid
Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraGrid.Views.Grid
@ -21,6 +20,7 @@ Imports DigitalData.Modules.ZooFlow.Constants
Imports DigitalData.Modules.Base.IDB.FileStore Imports DigitalData.Modules.Base.IDB.FileStore
Imports DigitalData.Controls.MessageBoxEx Imports DigitalData.Controls.MessageBoxEx
Imports DigitalData.GUIs.Common.Base Imports DigitalData.GUIs.Common.Base
Imports DigitalData.GUIs.Common.DocumentResultList
Public Class frmDocumentResultList Public Class frmDocumentResultList
Implements IResultForm, IBaseForm Implements IResultForm, IBaseForm
@ -39,6 +39,7 @@ Public Class frmDocumentResultList
Private Client As Client Private Client As Client
Private Documentloader As DocumentResultList.Loader Private Documentloader As DocumentResultList.Loader
Private ControlManager As AttributeControls Private ControlManager As AttributeControls
Private CheckoutManager As CheckInOut
Private ReadOnly Config As ConfigManager(Of DocumentResultList.Config) Private ReadOnly Config As ConfigManager(Of DocumentResultList.Config)
Private ReadOnly Environment As Environment Private ReadOnly Environment As Environment
@ -63,6 +64,7 @@ Public Class frmDocumentResultList
Private ReadOnly ColumnFilename As String = "Filename" Private ReadOnly ColumnFilename As String = "Filename"
Private ReadOnly ColumnDocumentId As String = "DocID" Private ReadOnly ColumnDocumentId As String = "DocID"
Private ReadOnly ColumnIcon As String = "ICON" Private ReadOnly ColumnIcon As String = "ICON"
Private ReadOnly ColumnCheckedOut As String = "CHECKED_OUT"
Private Property _ActiveGrid As GridControl = Nothing Private Property _ActiveGrid As GridControl = Nothing
Private Property _ActiveGridBand As GridBand = Nothing Private Property _ActiveGridBand As GridBand = Nothing
@ -98,15 +100,15 @@ Public Class frmDocumentResultList
Params = pParams Params = pParams
ResultLists = pParams.Results ResultLists = pParams.Results
Config = New ConfigManager(Of DocumentResultList.Config)(pLogConfig, oConfigPath, oConfigPath) Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath, oConfigPath)
Helpers = New DocumentResultList.Helpers(pLogConfig) Helpers = New DocumentResultList.Helpers(pLogConfig)
Filesystem = New Modules.Filesystem.File(pLogConfig) Filesystem = New Modules.Filesystem.File(pLogConfig)
GridBuilder = New GridBuilder(New List(Of GridView) From {GridView1, GridView2, GridView3}) GridBuilder = New GridBuilder(New List(Of GridView) From {GridView1, GridView2, GridView3})
FileEx = New Modules.Windows.File(pLogConfig) FileEx = New Modules.Windows.File(pLogConfig)
Watcher = New DocumentResultList.Watcher(pLogConfig) Watcher = New Watcher(pLogConfig)
LayoutManager = New DocumentResultList.Layout(pLogConfig, Config, New List(Of GridView) From {GridView1, GridView2, GridView3}) LayoutManager = New Layout(pLogConfig, Config, New List(Of GridView) From {GridView1, GridView2, GridView3})
UserLanguage = Utils.NotNull(Me.Environment.User.Language, State.UserState.LANG_EN_US) UserLanguage = Utils.NotNull(Environment.User.Language, State.UserState.LANG_EN_US)
End Sub End Sub
Private Function GetOperationMode() As OperationMode Private Function GetOperationMode() As OperationMode
@ -254,6 +256,15 @@ Public Class frmDocumentResultList
'End If 'End If
Await CtrlObjectPropertyDialog.LoadObject(oObjectId) Await CtrlObjectPropertyDialog.LoadObject(oObjectId)
Dim oCheckoutState = Await CheckOutManager.GetCheckoutState(oObjectId)
If oCheckoutState IsNot Nothing Then
txtCheckedOutWho.EditValue = oCheckoutState.CheckedOutWho
dateCheckedOutWhen.EditValue = oCheckoutState.CheckedOutWhen
Else
txtCheckedOutWho.EditValue = Nothing
dateCheckedOutWhen.EditValue = Nothing
End If
End If End If
Else Else
RibbonPageCategoryFile.Visible = False RibbonPageCategoryFile.Visible = False
@ -381,6 +392,7 @@ Public Class frmDocumentResultList
Client = New Client(LogConfig, oAddress, oPort) Client = New Client(LogConfig, oAddress, oPort)
ControlManager = New AttributeControls(LogConfig, Environment, Client) ControlManager = New AttributeControls(LogConfig, Environment, Client)
CheckoutManager = New CheckInOut(LogConfig, Client)
If Not Client.Connect() Then If Not Client.Connect() Then
Logger.Warn("Client could not connect to Service at [{0}]", Environment.Service.Address) Logger.Warn("Client could not connect to Service at [{0}]", Environment.Service.Address)
@ -540,7 +552,7 @@ Public Class frmDocumentResultList
Private Sub CreateDocumentGrid(GridView As BandedGridView, Result As DocumentResultList.DocumentResult) Private Sub CreateDocumentGrid(GridView As BandedGridView, Result As DocumentResultList.DocumentResult)
Try Try
If IsNothing(GridView.Columns(ColumnIcon)) Then If GridView.Columns.Item(ColumnIcon) Is Nothing Then
Dim oIconColumn = GridView.Columns.AddVisible(ColumnIcon, ColumnIcon) Dim oIconColumn = GridView.Columns.AddVisible(ColumnIcon, ColumnIcon)
With oIconColumn With oIconColumn
.OptionsColumn.AllowSort = False .OptionsColumn.AllowSort = False
@ -557,7 +569,6 @@ Public Class frmDocumentResultList
oFirstBand.Columns.MoveTo(0, oIconColumn) oFirstBand.Columns.MoveTo(0, oIconColumn)
End If End If
Dim oColumnsToHide As New List(Of String) From { Dim oColumnsToHide As New List(Of String) From {
ColumnDocumentId, ColumnDocumentId,
ColumnFilepath, ColumnFilepath,
@ -632,40 +643,43 @@ Public Class frmDocumentResultList
'Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell
' If e.RowHandle <> GridControl.NewItemRowHandle AndAlso e.Column.FieldName = COLUMN_ICON Then
' Dim oRow As DataRow = TryCast(sender, GridView)?.GetDataRow(e.RowHandle)
' Dim oValue = oRow.Item(COLUMN_FILENAME)
' If oValue.ToString.EndsWith(".pdf") Then
' Dim oIcon = My.Resources.pdf
' e.Cache.DrawImage(oIcon, e.Bounds.X + 0, e.Bounds.Y + 0, 18, 18)
' End If
' End If
' 'Try
' ' If e.RowHandle < 0 Then
' ' Exit Sub
' ' End If
' ' e.DefaultDraw() 'If e.RowHandle <> GridControl.NewItemRowHandle AndAlso e.Column.FieldName = ColumnIcon Then
' Dim oRow As DataRow = TryCast(sender, GridView)?.GetDataRow(e.RowHandle)
' Dim oValue = oRow.Item(COLUMN_FILENAME)
' ' Dim oView As GridView = TryCast(sender, GridView) ' If oValue.ToString.EndsWith(".pdf") Then
' ' Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo) ' Dim oIcon = My.Resources.pdf
' ' Dim oRow As DataRow = oView.GetDataRow(e.RowHandle) ' e.Cache.DrawImage(oIcon, e.Bounds.X + 0, e.Bounds.Y + 0, 18, 18)
' ' Dim oValue = oRow.Item(COLUMN_FILENAME) ' End If
'End If
' ' If e.Column.FieldName = COLUMN_ICON Then 'Try
' ' Dim oIcon = Helpers.GetIconByExtension(oValue) ' If e.RowHandle < 0 Then
' ' Dim offsetX = 0 ' Exit Sub
' ' Dim offsetY = 0 ' End If
' ' e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18) ' e.DefaultDraw()
' ' End If
' 'Catch ex As Exception ' Dim oView As GridView = TryCast(sender, GridView)
' ' Logger.Error(ex) ' Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo)
' 'End Try ' Dim oRow As DataRow = oView.GetDataRow(e.RowHandle)
'End Sub ' Dim oValue = oRow.Item(COLUMN_FILENAME)
' If e.Column.FieldName = COLUMN_ICON Then
' Dim oIcon = Helpers.GetIconByExtension(oValue)
' Dim offsetX = 0
' Dim offsetY = 0
' e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18)
' End If
'Catch ex As Exception
' Logger.Error(ex)
'End Try
End Sub
Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick
Dim oActiveGrid = GetActiveGridControl() Dim oActiveGrid = GetActiveGridControl()
@ -856,6 +870,43 @@ Public Class frmDocumentResultList
Process.Start(oInfo) Process.Start(oInfo)
End Sub End Sub
Private Async Sub MenuItemCheckOutFile_ItemClick(sender As Object, e As ItemClickEventArgs) Handles MenuItemCheckOutFile.ItemClick
Dim oObjectId = _CurrentDocument?.Id
Dim oResultComment As String = ShowCheckInOutCommentForm()
If IsNothing(oResultComment) Then
Exit Sub
End If
Await Client.CheckOutFile(oObjectId, oResultComment)
End Sub
Private Sub MenuItemCheckInFile_ItemClick(sender As Object, e As ItemClickEventArgs) Handles MenuItemCheckInFile.ItemClick
Dim oObjectId = _CurrentDocument?.Id
Client.CheckInFile(oObjectId)
End Sub
Private Function ShowCheckInOutCommentForm()
Dim editor As New MemoEdit()
Dim args As New XtraInputBoxArgs With {
.Caption = "Checkout/in Kommentar",
.Prompt = "Kommentar",
.DefaultButtonIndex = 0,
.Editor = editor,
.DefaultResponse = ""
}
args.ContentPadding = args.ButtonPadding
AddHandler args.Showing, AddressOf Args_Showing
Dim result = XtraInputBox.Show(args).ToString()
Return result
End Function
Private Sub Args_Showing(ByVal sender As Object, ByVal e As XtraMessageShowingArgs)
e.Form.Icon = Me.Icon
End Sub
#End Region #End Region
#Region "Drag to Export" #Region "Drag to Export"
@ -974,4 +1025,13 @@ Public Class frmDocumentResultList
Private Sub CtrlObjectPropertyDialog_Leave(sender As Object, e As EventArgs) Handles CtrlObjectPropertyDialog.Leave Private Sub CtrlObjectPropertyDialog_Leave(sender As Object, e As EventArgs) Handles CtrlObjectPropertyDialog.Leave
RibbonPageCategoryAttribute.Visible = False RibbonPageCategoryAttribute.Visible = False
End Sub End Sub
Private Sub GridView1_RowStyle(sender As Object, e As RowStyleEventArgs) Handles GridView1.RowStyle
Dim oGridView As BandedGridView = sender
Dim oRow As DataRowView = oGridView.GetRow(e.RowHandle)
If oRow IsNot Nothing AndAlso oRow.Row.Item(ColumnCheckedOut) IsNot Nothing AndAlso oRow.Row.Item(ColumnCheckedOut) = True Then
e.Appearance.BackColor = Color.LightSalmon
End If
End Sub
End Class End Class

View File

@ -105,10 +105,13 @@ Public Class Form1
Dim oArgs As New WorkerArgs() Dim oArgs As New WorkerArgs()
If oResult = DialogResult.OK Then If oResult = DialogResult.OK Then
Dim oDoc = _zugferd.ValidateZUGFeRDFileWithGDPicture(OpenFileDialog1.FileName) Try
Dim oZUGFERD = _zugferd.SerializeZUGFeRDDocument(oDoc) Dim oDoc = _zugferd.ValidateZUGFeRDFileWithGDPicture(OpenFileDialog1.FileName)
Console.WriteLine() Dim oZUGFERD = _zugferd.SerializeZUGFeRDDocument(oDoc)
Console.WriteLine()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If End If
End Sub End Sub

View File

@ -236,6 +236,42 @@ Public Class Client
End Try End Try
End Function End Function
Public Async Function CheckOutFile(pObjectId As Long, pComment As String, Optional pOptions As Options.CheckOutInOptions = Nothing) As Task(Of Long)
Try
Dim oCheckOutFile As New Modules.IDB.CheckOutFile(LogConfig, Channel)
Return Await oCheckOutFile.RunAsync(pObjectId, pComment, pOptions)
Catch ex As Exception
Logger.Error(ex)
Return Nothing
End Try
End Function
Public Async Function CheckOutFile(pObjectId As Long, Optional pOptions As Options.CheckOutInOptions = Nothing) As Task(Of Long)
Try
Dim oCheckOutFile As New Modules.IDB.CheckOutFile(LogConfig, Channel)
Return Await oCheckOutFile.RunAsync(pObjectId, String.Empty, pOptions)
Catch ex As Exception
Logger.Error(ex)
Return Nothing
End Try
End Function
Public Async Function CheckInFile(pObjectId As Long, Optional pOptions As Options.CheckOutInOptions = Nothing) As Task(Of Long)
Try
Dim oCheckInFile As New Modules.IDB.CheckInFile(LogConfig, Channel)
Return Await oCheckInFile.RunAsync(pObjectId, pOptions)
Catch ex As Exception
Logger.Error(ex)
Return Nothing
End Try
End Function
Public Async Function Globix_ImportFileAsync( Public Async Function Globix_ImportFileAsync(
pFilePath As String, pFilePath As String,
pProfileId As Integer, pProfileId As Integer,

View File

@ -5,7 +5,7 @@
<xs:complexType name="CheckInOutFileRequest"> <xs:complexType name="CheckInOutFileRequest">
<xs:sequence> <xs:sequence>
<xs:element minOccurs="0" name="Action" type="tns:CheckInOutFileAction" /> <xs:element minOccurs="0" name="Action" type="tns:CheckInOutFileAction" />
<xs:element minOccurs="0" name="Comment" type="xs:long" /> <xs:element minOccurs="0" name="Comment" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ObjectId" type="xs:long" /> <xs:element minOccurs="0" name="ObjectId" type="xs:long" />
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" minOccurs="0" name="User" nillable="true" type="q1:UserState" /> <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" minOccurs="0" name="User" nillable="true" type="q1:UserState" />
</xs:sequence> </xs:sequence>

View File

@ -2372,46 +2372,46 @@ Namespace EDMIServiceReference
<System.Runtime.Serialization.OptionalFieldAttribute()> _ <System.Runtime.Serialization.OptionalFieldAttribute()> _
Private ActionField As EDMIServiceReference.CheckInOutFileAction Private ActionField As EDMIServiceReference.CheckInOutFileAction
<System.Runtime.Serialization.OptionalFieldAttribute()> _ <System.Runtime.Serialization.OptionalFieldAttribute()>
Private CommentField As Long Private CommentField As String
<System.Runtime.Serialization.OptionalFieldAttribute()> _ <System.Runtime.Serialization.OptionalFieldAttribute()>
Private ObjectIdField As Long Private ObjectIdField As Long
<System.Runtime.Serialization.OptionalFieldAttribute()> _ <System.Runtime.Serialization.OptionalFieldAttribute()>
Private UserField As EDMIServiceReference.UserState Private UserField As EDMIServiceReference.UserState
<Global.System.ComponentModel.BrowsableAttribute(false)> _ <Global.System.ComponentModel.BrowsableAttribute(False)>
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
Get Get
Return Me.extensionDataField Return Me.extensionDataField
End Get End Get
Set Set
Me.extensionDataField = value Me.extensionDataField = Value
End Set End Set
End Property End Property
<System.Runtime.Serialization.DataMemberAttribute()> _ <System.Runtime.Serialization.DataMemberAttribute()>
Public Property Action() As EDMIServiceReference.CheckInOutFileAction Public Property Action() As EDMIServiceReference.CheckInOutFileAction
Get Get
Return Me.ActionField Return Me.ActionField
End Get End Get
Set Set
If (Me.ActionField.Equals(value) <> true) Then If (Me.ActionField.Equals(Value) <> True) Then
Me.ActionField = value Me.ActionField = Value
Me.RaisePropertyChanged("Action") Me.RaisePropertyChanged("Action")
End If End If
End Set End Set
End Property End Property
<System.Runtime.Serialization.DataMemberAttribute()> _ <System.Runtime.Serialization.DataMemberAttribute()>
Public Property Comment() As Long Public Property Comment() As String
Get Get
Return Me.CommentField Return Me.CommentField
End Get End Get
Set Set
If (Me.CommentField.Equals(value) <> true) Then If (Object.ReferenceEquals(Me.CommentField, Value) <> True) Then
Me.CommentField = value Me.CommentField = Value
Me.RaisePropertyChanged("Comment") Me.RaisePropertyChanged("Comment")
End If End If
End Set End Set

View File

@ -20,12 +20,12 @@ Namespace Modules.IDB
.Language = pOptions.Language, .Language = pOptions.Language,
.UserName = pOptions.Username .UserName = pOptions.Username
}, },
.Action = CheckInOutFileAction.CheckOut, .Action = CheckInOutFileAction.CheckIn,
.ObjectId = pObjectId .ObjectId = pObjectId
}) })
If oCheckInFileResponse.OK = False Then If oCheckInFileResponse.OK = False Then
Throw New ApplicationException("Could not Import File Contents!") Throw New ApplicationException(oCheckInFileResponse.ErrorMessage)
End If End If
Return oCheckInFileResponse.ObjectId Return oCheckInFileResponse.ObjectId

View File

@ -15,7 +15,7 @@ Namespace Modules.IDB
pOptions = New Options.CheckOutInOptions() pOptions = New Options.CheckOutInOptions()
End If End If
Dim oCheckOutFileResponse = Await Channel.CheckInOutFileAsync(New CheckInOutFileRequest With { Dim oArgs = New CheckInOutFileRequest With {
.User = New UserState With { .User = New UserState With {
.Language = pOptions.Language, .Language = pOptions.Language,
.UserName = pOptions.Username .UserName = pOptions.Username
@ -23,10 +23,11 @@ Namespace Modules.IDB
.Action = CheckInOutFileAction.CheckOut, .Action = CheckInOutFileAction.CheckOut,
.Comment = pComment, .Comment = pComment,
.ObjectId = pObjectId .ObjectId = pObjectId
}) }
Dim oCheckOutFileResponse = Await Channel.CheckInOutFileAsync(oArgs)
If oCheckOutFileResponse.OK = False Then If oCheckOutFileResponse.OK = False Then
Throw New ApplicationException("Could not Import File Contents!") Throw New ApplicationException(oCheckOutFileResponse.ErrorMessage)
End If End If
Return oCheckOutFileResponse.ObjectId Return oCheckOutFileResponse.ObjectId

View File

@ -116,6 +116,7 @@
<Compile Include="ZUGFeRDInterface\PropertyValues.vb" /> <Compile Include="ZUGFeRDInterface\PropertyValues.vb" />
<Compile Include="ZUGFeRDInterface\Version2.0\CrossIndustryInvoiceType.vb" /> <Compile Include="ZUGFeRDInterface\Version2.0\CrossIndustryInvoiceType.vb" />
<Compile Include="ZUGFeRDInterface\Version2.1.1\CrossIndustryInvoiceType.vb" /> <Compile Include="ZUGFeRDInterface\Version2.1.1\CrossIndustryInvoiceType.vb" />
<Compile Include="ZUGFeRDInterface\Version2.2_FacturX\CrossIndustryInvoiceType.vb" />
<Compile Include="ZUGFeRDInterface\XmlItemProperty.vb" /> <Compile Include="ZUGFeRDInterface\XmlItemProperty.vb" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -154,15 +155,15 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="GdPicture.NET.14.filters.dll"> <AdditionalFiles Include="GdPicture.NET.14.filters.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </AdditionalFiles>
<Content Include="GdPicture.NET.14.image.gdimgplug.dll"> <AdditionalFiles Include="GdPicture.NET.14.image.gdimgplug.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </AdditionalFiles>
<Content Include="GdPicture.NET.14.Imaging.Rendering.Skia.dll"> <AdditionalFiles Include="GdPicture.NET.14.Imaging.Rendering.Skia.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </AdditionalFiles>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project> </Project>

View File

@ -123,25 +123,26 @@ Public Class ZUGFeRDInterface
Dim oXmlDocument As XPathDocument Dim oXmlDocument As XPathDocument
If Results Is Nothing Then If Results Is Nothing Then
Throw New ZUGFeRDExecption(ErrorType.NoZugferd, "Datei ist keine ZUGFeRD Datei.") Throw New ZUGFeRDExecption(ErrorType.NoZugferd, "Datei ist keine ZUGFeRD Datei, weil die Attachments nicht gelesen werden konnten.")
End If End If
If Results.Count = 0 Then If Results.Count = 0 Then
Throw New ZUGFeRDExecption(ErrorType.NoZugferd, "Datei ist keine ZUGFeRD Datei.") Throw New ZUGFeRDExecption(ErrorType.NoZugferd, "Datei ist keine ZUGFeRD Datei, weil sie keine Attachments enthält.")
End If End If
Dim oFound As Boolean = False Dim oValidFilenames As New List(Of String) From {
Dim oFoundResult As PDFEmbeds.EmbeddedFile = Nothing PDFEmbeds.ZUGFERD_XML_FILENAME.ToUpper,
PDFEmbeds.FACTUR_X_XML_FILENAME_DE.ToUpper,
PDFEmbeds.FACTUR_X_XML_FILENAME_FR.ToUpper
}
For Each oResult In Results ' Find the first file which filename matches the valid filenames for embedded invoice files
If oResult.FileName.ToUpper() = PDFEmbeds.ZUGFERD_XML_FILENAME.ToUpper() Then Dim oFoundResult As PDFEmbeds.EmbeddedFile = Results.
oFound = True Where(Function(result) oValidFilenames.Contains(result.FileName.ToUpper)).
oFoundResult = oResult FirstOrDefault()
End If
Next
If Not oFound Then If oFoundResult Is Nothing Then
Throw New ZUGFeRDExecption(ErrorType.NoZugferd, "Datei ist keine ZUGFeRD Datei.") Throw New ZUGFeRDExecption(ErrorType.NoZugferd, "Datei ist keine ZUGFeRD Datei, weil die zugferd-invoice.xml nicht gefunden wurde.")
End If End If
Try Try
@ -170,7 +171,8 @@ Public Class ZUGFeRDInterface
Dim oTypes As New List(Of Type) From { Dim oTypes As New List(Of Type) From {
GetType(ZUGFeRD.Version1_0.CrossIndustryDocumentType), GetType(ZUGFeRD.Version1_0.CrossIndustryDocumentType),
GetType(ZUGFeRD.Version2_0.CrossIndustryInvoiceType), GetType(ZUGFeRD.Version2_0.CrossIndustryInvoiceType),
GetType(ZUGFeRD.Version2_1_1.CrossIndustryInvoiceType) GetType(ZUGFeRD.Version2_1_1.CrossIndustryInvoiceType),
GetType(ZUGFeRD.Version2_2_FacturX.CrossIndustryInvoiceType)
} }
For Each oType In oTypes For Each oType In oTypes

View File

@ -7,6 +7,8 @@ Public Class PDFEmbeds
Private ReadOnly Logger As Logger Private ReadOnly Logger As Logger
Public Const ZUGFERD_XML_FILENAME = "ZUGFeRD-invoice.xml" Public Const ZUGFERD_XML_FILENAME = "ZUGFeRD-invoice.xml"
Public Const FACTUR_X_XML_FILENAME_FR = "factur-x.xml"
Public Const FACTUR_X_XML_FILENAME_DE = "xrechnung.xml"
Public Class EmbeddedFile Public Class EmbeddedFile
Public FileName As String Public FileName As String

View File

@ -155,6 +155,10 @@
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheMethod.vb" /> <Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheMethod.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheRequest.vb" /> <Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheRequest.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheResponse.vb" /> <Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheResponse.vb" />
<Compile Include="Methods\IDB\GetFileInfo\FileInfo.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoMethod.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoRequest.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoResponse.vb" />
<Compile Include="Methods\IDB\GetFileObject\FileObject.vb" /> <Compile Include="Methods\IDB\GetFileObject\FileObject.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectRequest.vb" /> <Compile Include="Methods\IDB\GetFileObject\GetFileObjectRequest.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectResponse.vb" /> <Compile Include="Methods\IDB\GetFileObject\GetFileObjectResponse.vb" />

View File

@ -8,6 +8,18 @@ Namespace Methods.IDB.CheckInOutFile
Public Class CheckInOutFileMethod Public Class CheckInOutFileMethod
Inherits BaseMethod Inherits BaseMethod
Private Enum CheckOutResult
CheckoutSuccessful
AlreadyCheckedOut
InternalError
End Enum
Private Enum CheckInResult
CheckinSuccessful
NotCheckedOut
InternalError
End Enum
Private ReadOnly Connection As SqlConnection Private ReadOnly Connection As SqlConnection
Private ReadOnly Transaction As SqlTransaction Private ReadOnly Transaction As SqlTransaction
@ -23,10 +35,30 @@ Namespace Methods.IDB.CheckInOutFile
Dim oResult = False Dim oResult = False
If pData.Action = CheckInOutFileAction.CheckOut Then If pData.Action = CheckInOutFileAction.CheckOut Then
oResult = CheckOutFile(pData.ObjectId, pData.User.UserName, pData.Comment) Select Case CheckOutFile(pData.ObjectId, pData.User.UserName, pData.Comment)
Case CheckOutResult.CheckoutSuccessful
oResult = True
Case CheckOutResult.AlreadyCheckedOut
LogAndThrow($"File '{pData.ObjectId}' is already checked out.")
Case CheckOutResult.InternalError
LogAndThrow($"Internal Error occurred while checking out file [{pData.ObjectId}].")
End Select
ElseIf pData.Action = CheckInOutFileAction.CheckIn Then ElseIf pData.Action = CheckInOutFileAction.CheckIn Then
oResult = CheckInFile(pData.ObjectId, pData.User.UserName) Select Case CheckInFile(pData.ObjectId, pData.User.UserName)
Case CheckInResult.CheckinSuccessful
oResult = True
Case CheckInResult.NotCheckedOut
LogAndThrow($"File '{pData.ObjectId}' is not checked out.")
Case CheckInResult.InternalError
LogAndThrow($"Internal Error occurred while checking in file [{pData.ObjectId}].")
End Select
Else Else
LogAndThrow("Invalid action supplied!") LogAndThrow("Invalid action supplied!")
@ -50,22 +82,31 @@ Namespace Methods.IDB.CheckInOutFile
End Try End Try
End Function End Function
Private Function CheckOutFile(pObjectId As Long, pUsername As String, pComment As String) As Boolean Private Function CheckOutFile(pObjectId As Long, pUsername As String, pComment As String) As CheckOutResult
Try Try
Dim oTable = TestFileIsCheckedOut(pObjectId) Dim oTable = TestFileIsCheckedOut(pObjectId)
If oTable Is Nothing Then If oTable Is Nothing Then
Return False Logger.Warn("File [{0}] could not be checked out because of an internal error!", pObjectId)
Return CheckOutResult.InternalError
End If End If
' If there are rows, the file is already checked out (either by the calling user or somebody else) ' If there are rows, the file is already checked out (either by the calling user or somebody else)
If oTable.Rows.Count > 0 Then If oTable.Rows.Count > 0 Then
' TODO: Return the person who has this file checked out ' TODO: Return the person who has this file checked out
Return False Logger.Warn("File [{0}] is already checked out!", pObjectId)
Return CheckOutResult.AlreadyCheckedOut
End If End If
Dim oSQL = $"INSERT INTO TBIDB_OBJECT_CHECK_IN_OUT (IDB_OBJ_ID, CHECKED_OUT_WHEN, COMMENT, ADDED_WHO) Dim oSQL = $"INSERT INTO TBIDB_OBJECT_CHECK_IN_OUT (IDB_OBJ_ID, CHECKED_OUT_WHEN, COMMENT, ADDED_WHO)
VALUES ({pObjectId}, GETDATE(), '{pComment}', '{pUsername}')" VALUES ({pObjectId}, GETDATE(), '{pComment}', '{pUsername}')"
Return DatabaseIDB.ExecuteNonQuery(oSQL)
If DatabaseIDB.ExecuteNonQuery(oSQL) = True Then
Logger.Info("File [{0}] checked out successfully!", pObjectId)
Return CheckOutResult.CheckoutSuccessful
Else
Logger.Warn("File [{0}] could not be checked out because of an internal error!", pObjectId)
Return CheckOutResult.InternalError
End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)
@ -78,18 +119,27 @@ Namespace Methods.IDB.CheckInOutFile
Try Try
Dim oTable = TestFileIsCheckedOut(pObjectId) Dim oTable = TestFileIsCheckedOut(pObjectId)
If oTable Is Nothing Then If oTable Is Nothing Then
Return False Logger.Warn("File [{0}] could not be checked in because of an internal error!", pObjectId)
Return CheckOutResult.InternalError
End If End If
' If there are no rows, the file is not checked out ' If there are no rows, the file is not checked out
If oTable.Rows.Count > 0 Then If oTable.Rows.Count = 0 Then
Return True Logger.Warn("File [{0}] is not checked out!", pObjectId)
Return CheckInResult.NotCheckedOut
End If End If
Dim oSQL = $"UPDATE TBIDB_OBJECT_CHECK_IN_OUT Dim oSQL = $"UPDATE TBIDB_OBJECT_CHECK_IN_OUT
SET CHECKED_IN_WHEN = GETDATE(), CHANGED_WHO = '{pUsername}' SET CHECKED_IN_WHEN = GETDATE(), CHANGED_WHO = '{pUsername}'
WHERE IDB_OBJ_ID = {pObjectId} AND ADDED_WHO = '{pUsername}' AND CHECKED_IN_WHEN IS NULL" WHERE IDB_OBJ_ID = {pObjectId} AND ADDED_WHO = '{pUsername}' AND CHECKED_IN_WHEN IS NULL"
Return DatabaseIDB.ExecuteNonQuery(oSQL)
If DatabaseIDB.ExecuteNonQuery(oSQL) = True Then
Logger.Info("File [{0}] checked in successfully!", pObjectId)
Return CheckInResult.CheckinSuccessful
Else
Logger.Warn("File [{0}] could not be checked in because of an internal error!", pObjectId)
Return CheckInResult.InternalError
End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)
@ -100,6 +150,7 @@ Namespace Methods.IDB.CheckInOutFile
Private Function TestFileIsCheckedOut(pObjectId As Long) As DataTable Private Function TestFileIsCheckedOut(pObjectId As Long) As DataTable
Try Try
Logger.Debug("Checking if file [{0}] is checked out.", pObjectId)
Dim oSqlCheck = $"SELECT * FROM TBIDB_OBJECT_CHECK_IN_OUT WHERE IDB_OBJ_ID = {pObjectId} AND CHECKED_IN_WHEN IS NULL" Dim oSqlCheck = $"SELECT * FROM TBIDB_OBJECT_CHECK_IN_OUT WHERE IDB_OBJ_ID = {pObjectId} AND CHECKED_IN_WHEN IS NULL"
Dim oTable As DataTable = DatabaseIDB.GetDatatable(oSqlCheck) Dim oTable As DataTable = DatabaseIDB.GetDatatable(oSqlCheck)

View File

@ -9,7 +9,7 @@ Namespace Methods.IDB.CheckInOutFile
Public Property ObjectId As Long Public Property ObjectId As Long
<DataMember> <DataMember>
Public Property Comment As Long Public Property Comment As String
<DataMember> <DataMember>
Public Property Action As CheckInOutFileAction Public Property Action As CheckInOutFileAction

View File

@ -0,0 +1,13 @@
Imports System.Runtime.Serialization
Namespace Methods.IDB.GetFileInfo
<Serializable>
Public Class FileInfo
<DataMember>
Public Property IsCheckedOut As Boolean
<DataMember>
Public Property CheckoutUser As String
End Class
End Namespace

View File

@ -0,0 +1,21 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Namespace Methods.IDB.GetFileInfo
Public Class GetFileInfoMethod
Inherits BaseMethod
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
MyBase.New(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
End Sub
Public Function Run(pData As GetFileInfoRequest) As GetFileInfoResponse
Dim oFileInfo = New FileInfo() With {
.CheckoutUser = Nothing,
.IsCheckedOut = False
}
Return New GetFileInfoResponse(oFileInfo)
End Function
End Class
End Namespace

View File

@ -0,0 +1,10 @@
Imports System.Runtime.Serialization
Namespace Methods.IDB.GetFileInfo
<Serializable>
<DataContract>
Public Class GetFileInfoRequest
<DataMember>
Public Property ObjectId As Long
End Class
End Namespace

View File

@ -0,0 +1,24 @@
Imports System.Runtime.Serialization
Namespace Methods.IDB.GetFileInfo
<Serializable>
<DataContract>
Public Class GetFileInfoResponse
Inherits Messages.BaseResponse
<DataMember>
Public Property ObjectId As Long
<DataMember>
Public Property FileInfo As FileInfo
Public Sub New(pFileInfo As FileInfo)
MyBase.New()
FileInfo = pFileInfo
End Sub
Public Sub New(pException As Exception, Optional pDetails As String = "")
MyBase.New(pException, pDetails)
End Sub
End Class
End Namespace

View File

@ -75,7 +75,7 @@ Public Class JobListener
' Remove the temp table if it exists ' Remove the temp table if it exists
If DataSet.Tables.Contains(oDatatableNameTemp) Then If DataSet.Tables.Contains(oDatatableNameTemp) Then
_Logger.Debug("Removing Table [{0}]", oDatatableNameTemp) _Logger.Debug("Removing Temp-Table [{0}]", oDatatableNameTemp)
DataSet.Tables.Item(oDatatableNameTemp).ChildRelations.Clear() DataSet.Tables.Item(oDatatableNameTemp).ChildRelations.Clear()
DataSet.Tables.Item(oDatatableNameTemp).Constraints.Clear() DataSet.Tables.Item(oDatatableNameTemp).Constraints.Clear()