Zooflow: Zooflow: Rework New Search

This commit is contained in:
Jonathan Jenne 2022-05-16 15:25:33 +02:00
parent 8f1ab41d64
commit 0027d15d87
5 changed files with 589 additions and 110 deletions

View File

@ -9,14 +9,14 @@ Public Class SearchRunner
Private Const SEARCH_FACT_DATE_DEFAULT As String = "ADDED_WHEN"
Private Const CREATED_TOMORROW As String = "TOMORROW"
Private Const CREATED_TODAY As String = "ECM_CREATED_TODAY"
Private Const CREATED_YESTERDAY As String = "ECM_CREATED_YESTERDAY"
Private Const CREATED_LAST_7_DAYS As String = "ECM_CREATED_LAST7DAYS"
Private Const CREATED_YEAR_CURRENT As String = "ECM_CREATED_YEAR_CURRENT"
Private Const CREATED_YEAR_LAST As String = "ECM_CREATED_YEAR_LAST"
Private Const CREATED_MONTH_CURR As String = "ECM_CREATED_MONTH_CURRENT"
Private Const CREATED_MONTH_LAST As String = "ECM_CREATED_MONTH_LAST"
Public Const CREATED_TOMORROW As String = "TOMORROW"
Public Const CREATED_TODAY As String = "ECM_CREATED_TODAY"
Public Const CREATED_YESTERDAY As String = "ECM_CREATED_YESTERDAY"
Public Const CREATED_LAST_7_DAYS As String = "ECM_CREATED_LAST7DAYS"
Public Const CREATED_YEAR_CURRENT As String = "ECM_CREATED_YEAR_CURRENT"
Public Const CREATED_YEAR_LAST As String = "ECM_CREATED_YEAR_LAST"
Public Const CREATED_MONTH_CURR As String = "ECM_CREATED_MONTH_CURRENT"
Public Const CREATED_MONTH_LAST As String = "ECM_CREATED_MONTH_LAST"
Public Enum DateConstraint
Today
@ -27,6 +27,7 @@ Public Class SearchRunner
LastMonth
CurrentYear
LastYear
Undefined
End Enum
Public Event NeedsRefresh As EventHandler(Of Integer)
@ -85,10 +86,13 @@ Public Class SearchRunner
End Function
Public Async Function Run(pSearchTerm As String) As Task(Of SearchResult)
Dim oWindowTitle = GetResultWindowString(pSearchTerm)
Return Await Run(pSearchTerm, Nothing, Nothing)
End Function
Public Async Function Run() As Task(Of SearchResult)
Return Await Run("")
End Function
Public Async Function Run(pSearchTerm As String, pDateFrom As Date, pDateTo As Date) As Threading.Tasks.Task(Of SearchResult)
If pDateFrom.Equals(Date.MinValue) = False Then
@ -129,7 +133,7 @@ Public Class SearchRunner
Dim oForm As New frmDocumentResultList(My.LogConfig, Environment, oParams)
' TODO: Implement, not needed right now
' TODO: Implement
'AddHandler oForm.NeedsRefresh, AddressOf Form_NeedsRefresh
AddHandler oForm.FormClosed, AddressOf Form_Closed
@ -190,36 +194,62 @@ Public Class SearchRunner
End Sub
Public Sub SetDateConstraint(pConstraint As DateConstraint)
_ActiveDateConstraint = DateConstraintToConstant(pConstraint)
End Sub
Public Function DateConstraintToConstant(pConstraint As DateConstraint) As String
Select Case pConstraint
Case DateConstraint.Today
_ActiveDateConstraint = CREATED_TODAY
Return CREATED_TODAY
Case DateConstraint.Yesterday
_ActiveDateConstraint = CREATED_YESTERDAY
Return CREATED_YESTERDAY
Case DateConstraint.Tomorrow
_ActiveDateConstraint = CREATED_TOMORROW
Return CREATED_TOMORROW
Case DateConstraint.Last7Days
_ActiveDateConstraint = CREATED_LAST_7_DAYS
Return CREATED_LAST_7_DAYS
Case DateConstraint.CurrentMonth
_ActiveDateConstraint = CREATED_MONTH_CURR
Return CREATED_MONTH_CURR
Case DateConstraint.LastMonth
_ActiveDateConstraint = CREATED_MONTH_LAST
Return CREATED_MONTH_LAST
Case DateConstraint.CurrentYear
_ActiveDateConstraint = CREATED_YEAR_CURRENT
Return CREATED_YEAR_CURRENT
Case DateConstraint.LastYear
_ActiveDateConstraint = CREATED_YEAR_LAST
Return CREATED_YEAR_LAST
Case Else
_ActiveDateAttribute = String.Empty
Return String.Empty
End Select
End Sub
End Function
Public Function ConstantToDateConstraint(pConstant As String) As DateConstraint
Select Case pConstant
Case CREATED_TODAY
Return DateConstraint.Today
Case CREATED_YESTERDAY
Return DateConstraint.Yesterday
Case CREATED_TOMORROW
Return DateConstraint.Tomorrow
Case CREATED_LAST_7_DAYS
Return DateConstraint.Last7Days
Case CREATED_MONTH_CURR
Return DateConstraint.CurrentMonth
Case CREATED_MONTH_LAST
Return DateConstraint.LastMonth
Case CREATED_YEAR_CURRENT
Return DateConstraint.CurrentYear
Case CREATED_YEAR_LAST
Return DateConstraint.LastYear
Case Else
Return DateConstraint.Undefined
End Select
End Function
Public Sub SetDateAttribute(pAttributeName As String)
_ActiveDateAttribute = pAttributeName

View File

@ -27,19 +27,42 @@ Partial Class frmFlowSearch2
Dim SerializableAppearanceObject2 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject3 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim SerializableAppearanceObject4 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject()
Dim TableColumnDefinition1 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableRowDefinition1 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition2 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TileViewItemElement1 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement2 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Me.colName = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.colDescription = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()
Me.PanelControl2 = New DevExpress.XtraEditors.PanelControl()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.RadioGroup1 = New DevExpress.XtraEditors.RadioGroup()
Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.TextEdit1 = New DevExpress.XtraEditors.ButtonEdit()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.TileView1 = New DevExpress.XtraGrid.Views.Tile.TileView()
Me.colCount = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.RadioGroup1 = New DevExpress.XtraEditors.RadioGroup()
Me.DateEditFrom = New DevExpress.XtraEditors.DateEdit()
Me.DateEditTo = New DevExpress.XtraEditors.DateEdit()
Me.CheckEdit1 = New DevExpress.XtraEditors.ToggleSwitch()
Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlGroup2 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem4 = New DevExpress.XtraLayout.LayoutControlItem()
Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.LayoutControlItem6 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlGroup3 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem5 = New DevExpress.XtraLayout.LayoutControlItem()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.BarToggleSwitchItem1 = New DevExpress.XtraBars.BarToggleSwitchItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.PanelControl1.SuspendLayout()
@ -47,42 +70,70 @@ Partial Class frmFlowSearch2
Me.PanelControl2.SuspendLayout()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.LayoutControl1.SuspendLayout()
CType(Me.RadioGroup1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TileView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RadioGroup1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditFrom.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditFrom.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditTo.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DateEditTo.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.CheckEdit1.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.LayoutControlGroup2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'colName
'
Me.colName.Caption = "Name"
Me.colName.FieldName = "DisplayName"
Me.colName.Name = "colName"
Me.colName.Visible = True
Me.colName.VisibleIndex = 0
'
'colDescription
'
Me.colDescription.Caption = "Beschreibung"
Me.colDescription.FieldName = "Description"
Me.colDescription.Name = "colDescription"
Me.colDescription.Visible = True
Me.colDescription.VisibleIndex = 1
'
'RibbonControl1
'
Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarToggleSwitchItem1})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 1
Me.RibbonControl1.MaxItemId = 2
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.Size = New System.Drawing.Size(1011, 158)
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowToolbarCustomizeItem = False
Me.RibbonControl1.Size = New System.Drawing.Size(1011, 89)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "RibbonPage1"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
Me.RibbonPage1.Text = "Start"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 645)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 779)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1011, 24)
@ -95,89 +146,302 @@ Partial Class frmFlowSearch2
'PanelControl1
'
Me.PanelControl1.Controls.Add(Me.PanelControl2)
Me.PanelControl1.Controls.Add(Me.TextEdit1)
Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.PanelControl1.Location = New System.Drawing.Point(0, 158)
Me.PanelControl1.Location = New System.Drawing.Point(0, 89)
Me.PanelControl1.Name = "PanelControl1"
Me.PanelControl1.Padding = New System.Windows.Forms.Padding(30)
Me.PanelControl1.Size = New System.Drawing.Size(1011, 487)
Me.PanelControl1.Size = New System.Drawing.Size(1011, 690)
Me.PanelControl1.TabIndex = 3
'
'PanelControl2
'
Me.PanelControl2.Controls.Add(Me.LayoutControl1)
Me.PanelControl2.Dock = System.Windows.Forms.DockStyle.Fill
Me.PanelControl2.Location = New System.Drawing.Point(32, 72)
Me.PanelControl2.Location = New System.Drawing.Point(32, 32)
Me.PanelControl2.Margin = New System.Windows.Forms.Padding(0)
Me.PanelControl2.Name = "PanelControl2"
Me.PanelControl2.Size = New System.Drawing.Size(947, 383)
Me.PanelControl2.Size = New System.Drawing.Size(947, 626)
Me.PanelControl2.TabIndex = 3
'
'LayoutControl1
'
Me.LayoutControl1.Controls.Add(Me.TextEdit1)
Me.LayoutControl1.Controls.Add(Me.GridControl1)
Me.LayoutControl1.Controls.Add(Me.RadioGroup1)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Top
Me.LayoutControl1.Controls.Add(Me.DateEditFrom)
Me.LayoutControl1.Controls.Add(Me.DateEditTo)
Me.LayoutControl1.Controls.Add(Me.CheckEdit1)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.LayoutControl1.Location = New System.Drawing.Point(2, 2)
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.OptionsView.GroupStyle = DevExpress.Utils.GroupStyle.Title
Me.LayoutControl1.OptionsView.ItemBorderColor = System.Drawing.Color.Transparent
Me.LayoutControl1.Root = Me.Root
Me.LayoutControl1.Size = New System.Drawing.Size(943, 120)
Me.LayoutControl1.Size = New System.Drawing.Size(943, 622)
Me.LayoutControl1.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1"
'
'TextEdit1
'
Me.TextEdit1.Location = New System.Drawing.Point(0, 0)
Me.TextEdit1.MenuManager = Me.RibbonControl1
Me.TextEdit1.Name = "TextEdit1"
Me.TextEdit1.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextEdit1.Properties.Appearance.Options.UseFont = True
EditorButtonImageOptions1.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZooFlow_CW_DevExpress
EditorButtonImageOptions1.SvgImageSize = New System.Drawing.Size(20, 20)
Me.TextEdit1.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, True, True, False, EditorButtonImageOptions1, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject1, SerializableAppearanceObject2, SerializableAppearanceObject3, SerializableAppearanceObject4, "", "SEARCH", Nothing, DevExpress.Utils.ToolTipAnchor.[Default])})
Me.TextEdit1.Properties.NullText = "Suchbegriff eingeben.."
Me.TextEdit1.Properties.Padding = New System.Windows.Forms.Padding(5, 10, 10, 10)
Me.TextEdit1.Size = New System.Drawing.Size(943, 44)
Me.TextEdit1.StyleController = Me.LayoutControl1
Me.TextEdit1.TabIndex = 2
'
'GridControl1
'
Me.GridControl1.Location = New System.Drawing.Point(14, 316)
Me.GridControl1.MainView = Me.TileView1
Me.GridControl1.MenuManager = Me.RibbonControl1
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(915, 292)
Me.GridControl1.TabIndex = 1
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.TileView1, Me.GridView1})
'
'TileView1
'
Me.TileView1.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colName, Me.colDescription, Me.colCount})
Me.TileView1.GridControl = Me.GridControl1
Me.TileView1.Name = "TileView1"
Me.TileView1.OptionsTiles.AllowItemHover = True
Me.TileView1.OptionsTiles.ItemSize = New System.Drawing.Size(150, 80)
Me.TileView1.TileColumns.Add(TableColumnDefinition1)
TableRowDefinition2.Length.Value = 2.0R
Me.TileView1.TileRows.Add(TableRowDefinition1)
Me.TileView1.TileRows.Add(TableRowDefinition2)
TileViewItemElement1.Appearance.Normal.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
TileViewItemElement1.Appearance.Normal.Options.UseFont = True
TileViewItemElement1.Column = Me.colName
TileViewItemElement1.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement1.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement1.Text = "colName"
TileViewItemElement1.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement2.Column = Me.colDescription
TileViewItemElement2.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement2.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement2.RowIndex = 1
TileViewItemElement2.Text = "colDescription"
TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
Me.TileView1.TileTemplate.Add(TileViewItemElement1)
Me.TileView1.TileTemplate.Add(TileViewItemElement2)
'
'colCount
'
Me.colCount.Caption = "Anzahl"
Me.colCount.FieldName = "Count"
Me.colCount.Name = "colCount"
Me.colCount.Visible = True
Me.colCount.VisibleIndex = 2
'
'GridView1
'
Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1"
'
'RadioGroup1
'
Me.RadioGroup1.Location = New System.Drawing.Point(12, 12)
Me.RadioGroup1.Location = New System.Drawing.Point(4, 88)
Me.RadioGroup1.MenuManager = Me.RibbonControl1
Me.RadioGroup1.Name = "RadioGroup1"
Me.RadioGroup1.Properties.Items.AddRange(New DevExpress.XtraEditors.Controls.RadioGroupItem() {New DevExpress.XtraEditors.Controls.RadioGroupItem("TODAY", "Heute", True, "TODAY"), New DevExpress.XtraEditors.Controls.RadioGroupItem("YEAR_CURRENT", "Dieses Jahr", True, "YEAR_CURRENT")})
Me.RadioGroup1.Properties.Appearance.BackColor = System.Drawing.SystemColors.Control
Me.RadioGroup1.Properties.Appearance.Options.UseBackColor = True
Me.RadioGroup1.Properties.Columns = 2
Me.RadioGroup1.Properties.ItemHorzAlignment = DevExpress.XtraEditors.RadioItemHorzAlignment.Near
Me.RadioGroup1.Properties.ItemsLayout = DevExpress.XtraEditors.RadioGroupItemsLayout.Flow
Me.RadioGroup1.Size = New System.Drawing.Size(919, 96)
Me.RadioGroup1.Size = New System.Drawing.Size(655, 170)
Me.RadioGroup1.StyleController = Me.LayoutControl1
Me.RadioGroup1.TabIndex = 4
'
'DateEditFrom
'
Me.DateEditFrom.EditValue = Nothing
Me.DateEditFrom.Location = New System.Drawing.Point(740, 91)
Me.DateEditFrom.MenuManager = Me.RibbonControl1
Me.DateEditFrom.Name = "DateEditFrom"
Me.DateEditFrom.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.DateEditFrom.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.DateEditFrom.Size = New System.Drawing.Size(196, 20)
Me.DateEditFrom.StyleController = Me.LayoutControl1
Me.DateEditFrom.TabIndex = 5
'
'DateEditTo
'
Me.DateEditTo.EditValue = Nothing
Me.DateEditTo.Location = New System.Drawing.Point(740, 144)
Me.DateEditTo.MenuManager = Me.RibbonControl1
Me.DateEditTo.Name = "DateEditTo"
Me.DateEditTo.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.DateEditTo.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.DateEditTo.Size = New System.Drawing.Size(196, 20)
Me.DateEditTo.StyleController = Me.LayoutControl1
Me.DateEditTo.TabIndex = 7
'
'CheckEdit1
'
Me.CheckEdit1.Location = New System.Drawing.Point(667, 118)
Me.CheckEdit1.MenuManager = Me.RibbonControl1
Me.CheckEdit1.Name = "CheckEdit1"
Me.CheckEdit1.Properties.OffText = "Datum bis deaktiviert"
Me.CheckEdit1.Properties.OnText = "Datum bis aktiviert"
Me.CheckEdit1.Size = New System.Drawing.Size(272, 19)
Me.CheckEdit1.StyleController = Me.LayoutControl1
Me.CheckEdit1.TabIndex = 8
'
'Root
'
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1})
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup1, Me.LayoutControlGroup2, Me.LayoutControlGroup3, Me.LayoutControlItem5})
Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(943, 120)
Me.Root.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
Me.Root.Size = New System.Drawing.Size(943, 622)
Me.Root.TextVisible = False
'
'LayoutControlGroup1
'
Me.LayoutControlGroup1.AppearanceGroup.BackColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
Me.LayoutControlGroup1.AppearanceGroup.BackColor2 = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
Me.LayoutControlGroup1.AppearanceGroup.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
Me.LayoutControlGroup1.AppearanceGroup.Options.UseBackColor = True
Me.LayoutControlGroup1.AppearanceGroup.Options.UseBorderColor = True
Me.LayoutControlGroup1.BestFitWeight = 0
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[False]
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1})
Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 44)
Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
Me.LayoutControlGroup1.Size = New System.Drawing.Size(663, 218)
Me.LayoutControlGroup1.Spacing = New DevExpress.XtraLayout.Utils.Padding(2, 2, 20, 2)
Me.LayoutControlGroup1.Text = "Datums Einschränkung"
'
'LayoutControlItem1
'
Me.LayoutControlItem1.Control = Me.RadioGroup1
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Size = New System.Drawing.Size(923, 100)
Me.LayoutControlItem1.Size = New System.Drawing.Size(659, 174)
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem1.TextVisible = False
'
'TextEdit1
'LayoutControlGroup2
'
Me.TextEdit1.Dock = System.Windows.Forms.DockStyle.Top
Me.TextEdit1.Location = New System.Drawing.Point(32, 32)
Me.TextEdit1.MenuManager = Me.RibbonControl1
Me.TextEdit1.Name = "TextEdit1"
EditorButtonImageOptions1.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZooFlow_CW_DevExpress
EditorButtonImageOptions1.SvgImageSize = New System.Drawing.Size(20, 20)
Me.TextEdit1.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, True, True, False, EditorButtonImageOptions1, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject1, SerializableAppearanceObject2, SerializableAppearanceObject3, SerializableAppearanceObject4, "", "SEARCH", Nothing, DevExpress.Utils.ToolTipAnchor.[Default])})
Me.TextEdit1.Properties.NullText = "Suchbegriff eingeben.."
Me.TextEdit1.Properties.Padding = New System.Windows.Forms.Padding(5, 10, 10, 10)
Me.TextEdit1.Size = New System.Drawing.Size(947, 40)
Me.TextEdit1.TabIndex = 2
Me.LayoutControlGroup2.AppearanceGroup.BackColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
Me.LayoutControlGroup2.AppearanceGroup.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
Me.LayoutControlGroup2.AppearanceGroup.Options.UseBackColor = True
Me.LayoutControlGroup2.AppearanceGroup.Options.UseBorderColor = True
Me.LayoutControlGroup2.BestFitWeight = 0
Me.LayoutControlGroup2.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2, Me.LayoutControlItem4, Me.EmptySpaceItem1, Me.LayoutControlItem6})
Me.LayoutControlGroup2.Location = New System.Drawing.Point(663, 44)
Me.LayoutControlGroup2.Name = "LayoutControlGroup2"
Me.LayoutControlGroup2.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
Me.LayoutControlGroup2.Size = New System.Drawing.Size(280, 218)
Me.LayoutControlGroup2.Spacing = New DevExpress.XtraLayout.Utils.Padding(2, 2, 20, 2)
Me.LayoutControlGroup2.Text = "Eigenes Datum"
'
'LayoutControlItem2
'
Me.LayoutControlItem2.Control = Me.DateEditFrom
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem2.Size = New System.Drawing.Size(276, 30)
Me.LayoutControlItem2.Text = "Datum Von"
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(58, 13)
'
'LayoutControlItem4
'
Me.LayoutControlItem4.Control = Me.DateEditTo
Me.LayoutControlItem4.Enabled = False
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 53)
Me.LayoutControlItem4.Name = "LayoutControlItem4"
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem4.Size = New System.Drawing.Size(276, 30)
Me.LayoutControlItem4.Text = "Datum Bis"
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(58, 13)
'
'EmptySpaceItem1
'
Me.EmptySpaceItem1.AllowHotTrack = False
Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 83)
Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
Me.EmptySpaceItem1.Size = New System.Drawing.Size(276, 91)
Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
'
'LayoutControlItem6
'
Me.LayoutControlItem6.Control = Me.CheckEdit1
Me.LayoutControlItem6.Location = New System.Drawing.Point(0, 30)
Me.LayoutControlItem6.Name = "LayoutControlItem6"
Me.LayoutControlItem6.Size = New System.Drawing.Size(276, 23)
Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem6.TextVisible = False
'
'LayoutControlGroup3
'
Me.LayoutControlGroup3.AppearanceGroup.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(19, Byte), Integer))
Me.LayoutControlGroup3.AppearanceGroup.Options.UseBorderColor = True
Me.LayoutControlGroup3.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem3})
Me.LayoutControlGroup3.Location = New System.Drawing.Point(0, 262)
Me.LayoutControlGroup3.Name = "LayoutControlGroup3"
Me.LayoutControlGroup3.Size = New System.Drawing.Size(943, 360)
Me.LayoutControlGroup3.Spacing = New DevExpress.XtraLayout.Utils.Padding(2, 2, 20, 2)
Me.LayoutControlGroup3.Text = "Meine Suchen"
'
'LayoutControlItem3
'
Me.LayoutControlItem3.Control = Me.GridControl1
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem3.Name = "LayoutControlItem3"
Me.LayoutControlItem3.Size = New System.Drawing.Size(919, 296)
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem3.TextVisible = False
'
'LayoutControlItem5
'
Me.LayoutControlItem5.BestFitWeight = 0
Me.LayoutControlItem5.Control = Me.TextEdit1
Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
Me.LayoutControlItem5.Size = New System.Drawing.Size(943, 44)
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem5.TextVisible = False
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarToggleSwitchItem1)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
'
'BarToggleSwitchItem1
'
Me.BarToggleSwitchItem1.Caption = "Volltext durchsuchen"
Me.BarToggleSwitchItem1.Enabled = False
Me.BarToggleSwitchItem1.Id = 1
Me.BarToggleSwitchItem1.Name = "BarToggleSwitchItem1"
'
'frmFlowSearch2
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1011, 669)
Me.ClientSize = New System.Drawing.Size(1011, 803)
Me.Controls.Add(Me.PanelControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.IconOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZooFlow_CW_DevExpress
Me.Name = "frmFlowSearch2"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmFlowSearch2"
Me.Text = "Search Flow"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.PanelControl1.ResumeLayout(False)
@ -185,10 +449,27 @@ Partial Class frmFlowSearch2
Me.PanelControl2.ResumeLayout(False)
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.LayoutControl1.ResumeLayout(False)
CType(Me.RadioGroup1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TileView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RadioGroup1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditFrom.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditFrom.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditTo.Properties.CalendarTimeProperties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DateEditTo.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CheckEdit1.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.LayoutControlGroup2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@ -196,8 +477,6 @@ Partial Class frmFlowSearch2
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents PanelControl1 As DevExpress.XtraEditors.PanelControl
@ -207,4 +486,24 @@ Partial Class frmFlowSearch2
Friend WithEvents RadioGroup1 As DevExpress.XtraEditors.RadioGroup
Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents TextEdit1 As DevExpress.XtraEditors.ButtonEdit
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
Friend WithEvents TileView1 As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents colName As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents colDescription As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents colCount As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents DateEditFrom As DevExpress.XtraEditors.DateEdit
Friend WithEvents LayoutControlGroup1 As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents LayoutControlGroup2 As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents DateEditTo As DevExpress.XtraEditors.DateEdit
Friend WithEvents LayoutControlItem4 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents EmptySpaceItem1 As DevExpress.XtraLayout.EmptySpaceItem
Friend WithEvents LayoutControlGroup3 As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem5 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents CheckEdit1 As DevExpress.XtraEditors.ToggleSwitch
Friend WithEvents LayoutControlItem6 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents BarToggleSwitchItem1 As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
End Class

View File

@ -1,43 +1,190 @@
Imports DigitalData.GUIs.ZooFlow.ClassConstants
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraGrid.Views.Tile
Imports DevExpress.XtraSplashScreen
Imports DigitalData.GUIs.ZooFlow.ClassConstants
Imports DigitalData.Modules.Logging
Public Class frmFlowSearch2
Private ReadOnly LogConfig As LogConfig = My.LogConfig
Private ReadOnly Logger = My.LogConfig.GetLogger()
Private SearchRunner As SearchRunner
Private BaseSearchSQL As String
Private Sub frmFlowSearch2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_BASE Then
BaseSearchSQL = oRow.Item("SQL_COMMAND")
BaseSearchSQL = BaseSearchSQL.Replace("@USER_ID", My.Application.User.UserId)
BaseSearchSQL = BaseSearchSQL.Replace("@LANG_CODE", My.Application.User.Language)
End If
Next
SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch")
SearchRunner.BaseSearchSQL = BaseSearchSQL
Dim osql = $"EXEC PRIDB_SEARCH_AUTOSUGGEST '{My.Application.User.Language}',{My.Application.User.UserId}"
Dim oDTSuggest As DataTable
oDTSuggest = My.Database.GetDatatableIDB(osql)
Dim collection As AutoCompleteStringCollection = New AutoCompleteStringCollection
For Each orow As DataRow In oDTSuggest.Rows
collection.Add(orow.Item("TERM"))
Next
SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch") With {
.BaseSearchSQL = LoadBaseSQL()
}
TextEdit1.MaskBox.AutoCompleteSource = AutoCompleteSource.CustomSource
TextEdit1.MaskBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
TextEdit1.MaskBox.AutoCompleteCustomSource = collection
TextEdit1.MaskBox.AutoCompleteCustomSource = LoadAutoSuggest()
RadioGroup1.Properties.Items.AddRange(LoadDateConstraints.ToArray)
GridControl1.DataSource = LoadPredefinedSearches()
End Sub
Private Function LoadBaseSQL() As String
Dim oSQL = ""
For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_BASE Then
oSQL = oRow.Item("SQL_COMMAND")
oSQL = oSQL.Replace("@USER_ID", My.Application.User.UserId)
oSQL = oSQL.Replace("@LANG_CODE", My.Application.User.Language)
End If
Next
Return oSQL
End Function
Private Function LoadAutoSuggest() As AutoCompleteStringCollection
Dim oCollection As New AutoCompleteStringCollection
Dim oSql = $"EXEC PRIDB_SEARCH_AUTOSUGGEST '{My.Application.User.Language}',{My.Application.User.UserId}"
Dim oTable As DataTable = My.Database.GetDatatableIDB(oSql)
If oTable Is Nothing Then
Return New AutoCompleteStringCollection()
End If
For Each oRow As DataRow In oTable.Rows
oCollection.Add(oRow.Item("TERM"))
Next
Return oCollection
End Function
Private Function LoadDateConstraints() As List(Of RadioGroupItem)
Return New List(Of RadioGroupItem) From {
New RadioGroupItem(SearchRunner.CREATED_TODAY, "Heute"),
New RadioGroupItem(SearchRunner.CREATED_TOMORROW, "Gestern"),
New RadioGroupItem(SearchRunner.CREATED_LAST_7_DAYS, "Letzte 7 Tage"),
New RadioGroupItem(SearchRunner.CREATED_MONTH_CURR, "Dieser Monat"),
New RadioGroupItem(SearchRunner.CREATED_LAST_7_DAYS, "Letzter Monat"),
New RadioGroupItem(SearchRunner.CREATED_YEAR_CURRENT, "Dieses Jahr"),
New RadioGroupItem(SearchRunner.CREATED_YEAR_LAST, "Letztes Jahr"),
New RadioGroupItem("NOTHING", "Keine Einschränkung")
}
End Function
Private Function LoadPredefinedSearches() As List(Of PredefinedSearch)
Return New List(Of PredefinedSearch) From {
New PredefinedDateSearch() With {
.Name = "Heute",
.Description = "Dokumente, die heute abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Today
},
New PredefinedDateSearch() With {
.Name = "Gestern",
.Description = "Dokumente, die gestern abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Yesterday
},
New PredefinedDateSearch() With {
.Name = "Letzte Woche",
.Description = "Dokumente, die in den letzten 7 Tagen abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Last7Days
},
New PredefinedDateSearch() With {
.Name = "Dieser Monat",
.Description = "Dokumente, die in diesem Monat abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.CurrentMonth
},
New PredefinedDateSearch() With {
.Name = "Letzter Monat",
.Description = "Dokumente, die im letzten Monat abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.LastMonth
}
}
End Function
Private Async Sub TextEdit1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextEdit1.KeyUp
If e.KeyCode = Keys.Enter Then
Await SearchRunner.Run(TextEdit1.EditValue, Nothing, Nothing)
Await RunSearch()
End If
End Sub
Private Async Sub TextEdit1_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles TextEdit1.ButtonClick
If e.Button.Tag = "SEARCH" Then
Await SearchRunner.Run(TextEdit1.EditValue, Nothing, Nothing)
Await RunSearch()
End If
End Sub
Private Async Function RunSearch() As Threading.Tasks.Task
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
Dim oDateFrom = DateEditFrom.EditValue
Dim oDateTo = DateEditTo.EditValue
If CheckEdit1.IsOn = False Then
oDateTo = Nothing
End If
SearchRunner.SetDateConstraint()
Await SearchRunner.Run(TextEdit1.EditValue, oDateFrom, oDateTo)
Catch ex As Exception
MsgBox(ex.Message)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Function
Private Sub RadioGroup1_EditValueChanged(sender As Object, e As EventArgs) Handles RadioGroup1.EditValueChanged
Dim oIndex = RadioGroup1.SelectedIndex
Dim oItem As RadioGroupItem = RadioGroup1.Properties.Items.Item(oIndex)
Dim oSearchConstraintString As String = oItem.Value
Dim oDateConstraint = SearchRunner.ConstantToDateConstraint(oSearchConstraintString)
If oDateConstraint <> SearchRunner.DateConstraint.Undefined Then
SearchRunner.SetDateConstraint(oDateConstraint)
End If
End Sub
Friend Class PredefinedSearch
Public Property Name As String
Public Property Description As String
Public Property Count As Integer = 0
Public ReadOnly Property DisplayName As String
Get
Return $"{Name} ({Count})"
End Get
End Property
End Class
Friend Class PredefinedSQLSearch
Public Property SQLCommand As String
End Class
Friend Class PredefinedDateSearch
Inherits PredefinedSearch
Public DateConstraint As SearchRunner.DateConstraint
End Class
Private Async Sub TileView1_ItemClick(sender As Object, e As TileViewItemClickEventArgs) Handles TileView1.ItemClick
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
Dim oSearch = TileView1.GetRow(TileView1.FocusedRowHandle)
If TypeOf oSearch Is PredefinedDateSearch Then
Dim oDateSearch As PredefinedDateSearch = oSearch
SearchRunner.SetDateConstraint(oDateSearch.DateConstraint)
End If
Await SearchRunner.Run()
Catch ex As Exception
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Sub
Private Sub CheckEdit1_Properties_EditValueChanged(sender As Object, e As EventArgs) Handles CheckEdit1.Properties.EditValueChanged
DateEditTo.Enabled = CheckEdit1.IsOn
End Sub
End Class

View File

@ -88,6 +88,7 @@ Partial Class frmFlowSearch1
'
'RibbonControl1
'
Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonStartSearch, Me.BarButtonReset, Me.bsiStatus, Me.BarSubItem1, Me.BarListItem1, Me.BarToggleSwitchItemTerm, Me.BarToggleSwitchItemFulltext})
@ -263,7 +264,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchMonth_Last.Name = "ToggleSwitchMonth_Last"
Me.ToggleSwitchMonth_Last.Properties.OffText = "Letzter Monat"
Me.ToggleSwitchMonth_Last.Properties.OnText = "Letzter Monat"
Me.ToggleSwitchMonth_Last.Size = New System.Drawing.Size(195, 18)
Me.ToggleSwitchMonth_Last.Size = New System.Drawing.Size(195, 19)
Me.ToggleSwitchMonth_Last.TabIndex = 9
'
'ToggleSwitchDateto
@ -273,14 +274,14 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchDateto.Name = "ToggleSwitchDateto"
Me.ToggleSwitchDateto.Properties.OffText = "Datum bis"
Me.ToggleSwitchDateto.Properties.OnText = "Datum bis"
Me.ToggleSwitchDateto.Size = New System.Drawing.Size(122, 18)
Me.ToggleSwitchDateto.Size = New System.Drawing.Size(122, 19)
Me.ToggleSwitchDateto.TabIndex = 0
'
'lblDatefrom
'
Me.lblDatefrom.Location = New System.Drawing.Point(2, 190)
Me.lblDatefrom.Name = "lblDatefrom"
Me.lblDatefrom.Size = New System.Drawing.Size(31, 13)
Me.lblDatefrom.Size = New System.Drawing.Size(34, 13)
Me.lblDatefrom.TabIndex = 3
Me.lblDatefrom.Text = "Datum"
'
@ -304,7 +305,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchMonth.Name = "ToggleSwitchMonth"
Me.ToggleSwitchMonth.Properties.OffText = "Dieser Monat"
Me.ToggleSwitchMonth.Properties.OnText = "Dieser Monat"
Me.ToggleSwitchMonth.Size = New System.Drawing.Size(195, 18)
Me.ToggleSwitchMonth.Size = New System.Drawing.Size(195, 19)
Me.ToggleSwitchMonth.TabIndex = 8
'
'ToggleSwitchTomorrow
@ -314,7 +315,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchTomorrow.Name = "ToggleSwitchTomorrow"
Me.ToggleSwitchTomorrow.Properties.OffText = "Morgen"
Me.ToggleSwitchTomorrow.Properties.OnText = "Morgen"
Me.ToggleSwitchTomorrow.Size = New System.Drawing.Size(95, 18)
Me.ToggleSwitchTomorrow.Size = New System.Drawing.Size(95, 19)
Me.ToggleSwitchTomorrow.TabIndex = 7
Me.ToggleSwitchTomorrow.Visible = False
'
@ -325,7 +326,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchToday.Name = "ToggleSwitchToday"
Me.ToggleSwitchToday.Properties.OffText = "Heute"
Me.ToggleSwitchToday.Properties.OnText = "Heute"
Me.ToggleSwitchToday.Size = New System.Drawing.Size(95, 18)
Me.ToggleSwitchToday.Size = New System.Drawing.Size(95, 19)
Me.ToggleSwitchToday.TabIndex = 2
'
'ToggleSwitchLastWeek
@ -335,7 +336,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchLastWeek.Name = "ToggleSwitchLastWeek"
Me.ToggleSwitchLastWeek.Properties.OffText = "Letzten 7 Tage"
Me.ToggleSwitchLastWeek.Properties.OnText = "Letzten 7 Tage"
Me.ToggleSwitchLastWeek.Size = New System.Drawing.Size(195, 18)
Me.ToggleSwitchLastWeek.Size = New System.Drawing.Size(195, 19)
Me.ToggleSwitchLastWeek.TabIndex = 6
'
'ToggleSwitchYesterday
@ -345,7 +346,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchYesterday.Name = "ToggleSwitchYesterday"
Me.ToggleSwitchYesterday.Properties.OffText = "Gestern"
Me.ToggleSwitchYesterday.Properties.OnText = "Gestern"
Me.ToggleSwitchYesterday.Size = New System.Drawing.Size(95, 18)
Me.ToggleSwitchYesterday.Size = New System.Drawing.Size(95, 19)
Me.ToggleSwitchYesterday.TabIndex = 3
'
'ToggleSwitchYear_Last
@ -355,7 +356,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchYear_Last.Name = "ToggleSwitchYear_Last"
Me.ToggleSwitchYear_Last.Properties.OffText = "Letztes Jahr"
Me.ToggleSwitchYear_Last.Properties.OnText = "Letztes Jahr"
Me.ToggleSwitchYear_Last.Size = New System.Drawing.Size(195, 18)
Me.ToggleSwitchYear_Last.Size = New System.Drawing.Size(195, 19)
Me.ToggleSwitchYear_Last.TabIndex = 5
'
'ToggleSwitchYear
@ -365,7 +366,7 @@ Partial Class frmFlowSearch1
Me.ToggleSwitchYear.Name = "ToggleSwitchYear"
Me.ToggleSwitchYear.Properties.OffText = "Dieses Jahr"
Me.ToggleSwitchYear.Properties.OnText = "Dieses Jahr"
Me.ToggleSwitchYear.Size = New System.Drawing.Size(195, 18)
Me.ToggleSwitchYear.Size = New System.Drawing.Size(195, 19)
Me.ToggleSwitchYear.TabIndex = 4
'
'XtraTabPage2
@ -379,7 +380,7 @@ Partial Class frmFlowSearch1
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(4, 8)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(44, 13)
Me.Label1.Size = New System.Drawing.Size(47, 13)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Attribut"
'

View File

@ -643,6 +643,8 @@ Public Class frmFlowForm
If oDroppedFiles.Count > 0 Then
Await Globix_CheckDroppedFiles(oDroppedFiles)
End If
Await Load_Recent_Files()
End Function
Private Async Function Globix_CheckDroppedFiles(pDroppedFiles As List(Of FileDrop.DroppedFile)) As Task