Zooflow: Load searches from Database

This commit is contained in:
Jonathan Jenne 2022-06-14 13:38:13 +02:00
parent 84e29c2c0a
commit cb9dc34d9f
3 changed files with 120 additions and 149 deletions

View File

@ -2,49 +2,34 @@
Imports System.Xml.Serialization
Imports DevExpress.Utils
Imports DevExpress.Utils.Svg
Imports DigitalData.GUIs.ZooFlow.frmSearchFlow
Imports DigitalData.GUIs.ZooFlow.Search.SearchToken
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports System.Reflection
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.ZooFlow.State
Namespace Search
Public Class SearchLoader
Inherits BaseClass
Private Const CUSTOM_SEARCH_DIRECTORY = "Searches"
Private ReadOnly Images As SvgImageCollection
Private ReadOnly ImageTable As List(Of ImageTableItem)
Private ReadOnly Config As ConfigManager(Of SystemConfig)
Private ReadOnly Serializer As XmlSerializer
Private ReadOnly Database As MSSQLServer
Private ReadOnly UserState As UserState
Public Sub New(pLogConfig As LogConfig, pConfig As ConfigManager(Of SystemConfig), pSvgImages As SvgImageCollection)
Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pUserState As UserState, pSvgImages As SvgImageCollection)
MyBase.New(pLogConfig)
Images = pSvgImages
ImageTable = GetImageTable(pSvgImages)
Config = pConfig
Database = pDatabase
UserState = pUserState
Serializer = New XmlSerializer(GetType(SavedSearch.CustomSearchSerializable))
End Sub
Public Function GetSearchDirectoryPath() As String
Dim oConfigPath As String = Config.UserConfigPath
Dim oConfigDirectory As String = IO.Path.Combine(IO.Path.GetDirectoryName(oConfigPath), CUSTOM_SEARCH_DIRECTORY)
If IO.Directory.Exists(oConfigDirectory) = False Then
Try
IO.Directory.CreateDirectory(oConfigDirectory)
Catch ex As Exception
Logger.Error(ex)
End Try
End If
Return oConfigDirectory
End Function
Public Sub CreateCustomSearch(pTitle As String, pDescription As String, pTokens As List(Of Token), pImage As String)
Dim oSearch As New SavedSearch.CustomSearch With {
.Name = pTitle,
@ -54,11 +39,18 @@ Namespace Search
}
Try
Dim oSlug = Utils.ConvertTextToSlug(pTitle)
Dim oFilePath As String = IO.Path.Combine(GetSearchDirectoryPath(), $"{oSlug}.xml")
Dim oBuffer As Byte() = SerializeSearch(oSearch)
Dim oBase64 = System.Convert.ToBase64String(oBuffer)
File.WriteAllBytes(oFilePath, oBuffer)
If Database.ExecuteNonQuery(
$"INSERT INTO TBIDB_SEARCH_DEFINITION (TITLE, DESCRIPTION, XML_VALUE, SYS_SEARCH, ADDED_WHO)
VALUES ('{pTitle}', '{pDescription}', '{oBase64}', 0, '{UserState.UserName}')"
) = True Then
Dim oSearchId = Database.GetScalarValue("SELECT MAX(GUID) FROM TBIDB_SEARCH_DEFINITION")
Database.ExecuteNonQuery(
$"INSERT INTO TBIDB_SEARCH_DEF_RELATIONS (SEARCH_ID, USR_ID, ADDED_WHO)
VALUES ({oSearchId}, {UserState.UserId}, '{UserState.UserName}')")
End If
Catch ex As Exception
Logger.Warn("Custom Search could not be saved!")
Logger.Error(ex)
@ -78,13 +70,18 @@ Namespace Search
Public Function LoadCustomSearches() As List(Of SavedSearch.SavedSearch)
Dim oSearches As New List(Of SavedSearch.SavedSearch)
Dim oPath = GetSearchDirectoryPath()
Dim oSQL As String = $"
SELECT DEF.*
FROM [TBIDB_SEARCH_DEFINITION] DEF
JOIN [TBIDB_SEARCH_DEF_RELATIONS] REL ON REL.SEARCH_ID = DEF.GUID
WHERE REL.USR_ID = {UserState.UserId}
"
Dim oTable = Database.GetDatatable(oSQL)
Dim oFiles = Directory.GetFiles(oPath, "*.xml")
For Each oFile In oFiles
Dim oBytes = File.ReadAllBytes(oFile)
Dim oSearch = DeserializeSearch(oBytes)
For Each oRow As DataRow In oTable.Rows
Dim oBase64 = oRow.Item("XML_VALUE")
Dim oBuffer = System.Convert.FromBase64String(oBase64)
Dim oSearch = DeserializeSearch(oBuffer)
oSearches.Add(oSearch)
Next
@ -215,9 +212,5 @@ Namespace Search
Image = pImage
End Sub
End Class
End Class
End Namespace

View File

@ -23,19 +23,19 @@ Partial Class frmSearchFlow
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim ItemTemplate1 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
Dim TableColumnDefinition1 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition2 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
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()
Dim TableRowDefinition1 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableColumnDefinition3 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition4 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableRowDefinition2 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition3 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TileViewItemElement3 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement4 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement5 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim ItemTemplate2 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
Dim TableColumnDefinition5 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition6 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TileViewItemElement6 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement7 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TableRowDefinition4 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableColumnDefinition7 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition8 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableRowDefinition5 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition6 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TileViewItemElement8 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement9 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim TileViewItemElement10 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Me.colName = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.colImage = New DevExpress.XtraGrid.Columns.TileViewColumn()
Me.colDescription = New DevExpress.XtraGrid.Columns.TileViewColumn()
@ -56,14 +56,12 @@ Partial Class frmSearchFlow
Me.BarEditItem2 = New DevExpress.XtraBars.BarEditItem()
Me.RepositoryItemTrackBar2 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar()
Me.BarCheckItem1 = New DevExpress.XtraBars.BarCheckItem()
Me.btnOpenSearchDirectory = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RepositoryItemMarqueeProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemMarqueeProgressBar()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
@ -150,7 +148,7 @@ Partial Class frmSearchFlow
'
Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2, Me.BarCheckItem1, Me.btnOpenSearchDirectory})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2, Me.BarCheckItem1})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 30
Me.RibbonControl1.Name = "RibbonControl1"
@ -160,7 +158,7 @@ Partial Class frmSearchFlow
Me.RibbonControl1.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show
Me.RibbonControl1.ShowToolbarCustomizeItem = False
Me.RibbonControl1.Size = New System.Drawing.Size(954, 158)
Me.RibbonControl1.Size = New System.Drawing.Size(954, 160)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
'
@ -286,12 +284,6 @@ Partial Class frmSearchFlow
Me.BarCheckItem1.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.columnheaders
Me.BarCheckItem1.Name = "BarCheckItem1"
'
'btnOpenSearchDirectory
'
Me.btnOpenSearchDirectory.Caption = "Suchen Verzeichnis öffnen"
Me.btnOpenSearchDirectory.Id = 29
Me.btnOpenSearchDirectory.Name = "btnOpenSearchDirectory"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup5})
@ -323,7 +315,7 @@ Partial Class frmSearchFlow
'
'RibbonPage3
'
Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup4})
Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3})
Me.RibbonPage3.Name = "RibbonPage3"
Me.RibbonPage3.Text = "Layout"
'
@ -337,12 +329,6 @@ Partial Class frmSearchFlow
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
Me.RibbonPageGroup3.Text = "RibbonPageGroup3"
'
'RibbonPageGroup4
'
Me.RibbonPageGroup4.ItemLinks.Add(Me.btnOpenSearchDirectory)
Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
Me.RibbonPageGroup4.Text = "Suchen"
'
'RepositoryItemMarqueeProgressBar1
'
Me.RepositoryItemMarqueeProgressBar1.Name = "RepositoryItemMarqueeProgressBar1"
@ -351,10 +337,10 @@ Partial Class frmSearchFlow
'
Me.RibbonStatusBar1.BackColor = System.Drawing.Color.Red
Me.RibbonStatusBar1.ItemLinks.Add(Me.lblResults)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 672)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 674)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(954, 24)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(954, 22)
'
'RibbonPage2
'
@ -365,7 +351,7 @@ Partial Class frmSearchFlow
'
Me.PanelControl1.Controls.Add(Me.PanelControl2)
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, 160)
Me.PanelControl1.Name = "PanelControl1"
Me.PanelControl1.Padding = New System.Windows.Forms.Padding(30)
Me.PanelControl1.Size = New System.Drawing.Size(954, 514)
@ -441,61 +427,61 @@ Partial Class frmSearchFlow
Me.ViewSearches.OptionsTiles.RowCount = 2
Me.ViewSearches.OptionsTiles.VerticalContentAlignment = DevExpress.Utils.VertAlignment.Center
Me.ViewSearches.SortInfo.AddRange(New DevExpress.XtraGrid.Columns.GridColumnSortInfo() {New DevExpress.XtraGrid.Columns.GridColumnSortInfo(Me.colGroupText, DevExpress.Data.ColumnSortOrder.Ascending)})
TableColumnDefinition1.Length.Value = 35.0R
TableColumnDefinition1.PaddingRight = 5
TableColumnDefinition2.Length.Value = 129.0R
ItemTemplate1.Columns.Add(TableColumnDefinition1)
ItemTemplate1.Columns.Add(TableColumnDefinition2)
TileViewItemElement1.Column = Me.colName
TileViewItemElement1.ColumnIndex = 1
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.colImage
TileViewItemElement2.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement2.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement2.Text = "colImage"
TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
ItemTemplate1.Elements.Add(TileViewItemElement1)
ItemTemplate1.Elements.Add(TileViewItemElement2)
ItemTemplate1.Name = "DefaultSmall"
TableRowDefinition1.Length.Value = 43.0R
ItemTemplate1.Rows.Add(TableRowDefinition1)
Me.ViewSearches.Templates.Add(ItemTemplate1)
TableColumnDefinition3.Length.Value = 35.0R
TableColumnDefinition3.PaddingRight = 5
TableColumnDefinition4.Length.Value = 111.0R
Me.ViewSearches.TileColumns.Add(TableColumnDefinition3)
Me.ViewSearches.TileColumns.Add(TableColumnDefinition4)
TableRowDefinition2.Length.Value = 17.0R
TableRowDefinition3.Length.Value = 45.0R
Me.ViewSearches.TileRows.Add(TableRowDefinition2)
Me.ViewSearches.TileRows.Add(TableRowDefinition3)
TileViewItemElement3.Appearance.Normal.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold)
TileViewItemElement3.Appearance.Normal.Options.UseFont = True
TileViewItemElement3.Column = Me.colName
TileViewItemElement3.ColumnIndex = 1
TileViewItemElement3.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement3.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement3.Text = "colName"
TileViewItemElement3.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement4.Column = Me.colImage
TileViewItemElement4.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement4.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement4.RowIndex = 1
TileViewItemElement4.Text = "colImage"
TileViewItemElement4.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement5.Column = Me.colDescription
TileViewItemElement5.ColumnIndex = 1
TileViewItemElement5.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement5.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement5.RowIndex = 1
TileViewItemElement5.Text = "colDescription"
TileViewItemElement5.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
Me.ViewSearches.TileTemplate.Add(TileViewItemElement3)
Me.ViewSearches.TileTemplate.Add(TileViewItemElement4)
Me.ViewSearches.TileTemplate.Add(TileViewItemElement5)
TableColumnDefinition5.Length.Value = 35.0R
TableColumnDefinition5.PaddingRight = 5
TableColumnDefinition6.Length.Value = 129.0R
ItemTemplate2.Columns.Add(TableColumnDefinition5)
ItemTemplate2.Columns.Add(TableColumnDefinition6)
TileViewItemElement6.Column = Me.colName
TileViewItemElement6.ColumnIndex = 1
TileViewItemElement6.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement6.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement6.Text = "colName"
TileViewItemElement6.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement7.Column = Me.colImage
TileViewItemElement7.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement7.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement7.Text = "colImage"
TileViewItemElement7.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
ItemTemplate2.Elements.Add(TileViewItemElement6)
ItemTemplate2.Elements.Add(TileViewItemElement7)
ItemTemplate2.Name = "DefaultSmall"
TableRowDefinition4.Length.Value = 43.0R
ItemTemplate2.Rows.Add(TableRowDefinition4)
Me.ViewSearches.Templates.Add(ItemTemplate2)
TableColumnDefinition7.Length.Value = 35.0R
TableColumnDefinition7.PaddingRight = 5
TableColumnDefinition8.Length.Value = 111.0R
Me.ViewSearches.TileColumns.Add(TableColumnDefinition7)
Me.ViewSearches.TileColumns.Add(TableColumnDefinition8)
TableRowDefinition5.Length.Value = 17.0R
TableRowDefinition6.Length.Value = 45.0R
Me.ViewSearches.TileRows.Add(TableRowDefinition5)
Me.ViewSearches.TileRows.Add(TableRowDefinition6)
TileViewItemElement8.Appearance.Normal.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold)
TileViewItemElement8.Appearance.Normal.Options.UseFont = True
TileViewItemElement8.Column = Me.colName
TileViewItemElement8.ColumnIndex = 1
TileViewItemElement8.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement8.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement8.Text = "colName"
TileViewItemElement8.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement9.Column = Me.colImage
TileViewItemElement9.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement9.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement9.RowIndex = 1
TileViewItemElement9.Text = "colImage"
TileViewItemElement9.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement10.Column = Me.colDescription
TileViewItemElement10.ColumnIndex = 1
TileViewItemElement10.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement10.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze
TileViewItemElement10.RowIndex = 1
TileViewItemElement10.Text = "colDescription"
TileViewItemElement10.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
Me.ViewSearches.TileTemplate.Add(TileViewItemElement8)
Me.ViewSearches.TileTemplate.Add(TileViewItemElement9)
Me.ViewSearches.TileTemplate.Add(TileViewItemElement10)
'
'colGroupText
'
@ -517,24 +503,24 @@ Partial Class frmSearchFlow
'DateEditFrom
'
Me.DateEditFrom.EditValue = Nothing
Me.DateEditFrom.Location = New System.Drawing.Point(95, 326)
Me.DateEditFrom.Location = New System.Drawing.Point(101, 326)
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(784, 20)
Me.DateEditFrom.Size = New System.Drawing.Size(778, 20)
Me.DateEditFrom.StyleController = Me.LayoutControl1
Me.DateEditFrom.TabIndex = 5
'
'DateEditTo
'
Me.DateEditTo.EditValue = Nothing
Me.DateEditTo.Location = New System.Drawing.Point(95, 378)
Me.DateEditTo.Location = New System.Drawing.Point(101, 379)
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(784, 20)
Me.DateEditTo.Size = New System.Drawing.Size(778, 20)
Me.DateEditTo.StyleController = Me.LayoutControl1
Me.DateEditTo.TabIndex = 7
'
@ -545,17 +531,17 @@ Partial Class frmSearchFlow
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(878, 18)
Me.CheckEdit1.Size = New System.Drawing.Size(878, 19)
Me.CheckEdit1.StyleController = Me.LayoutControl1
Me.CheckEdit1.TabIndex = 8
'
'ComboBoxDateAttributes
'
Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(95, 408)
Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(101, 409)
Me.ComboBoxDateAttributes.MenuManager = Me.RibbonControl1
Me.ComboBoxDateAttributes.Name = "ComboBoxDateAttributes"
Me.ComboBoxDateAttributes.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.ComboBoxDateAttributes.Size = New System.Drawing.Size(784, 20)
Me.ComboBoxDateAttributes.Size = New System.Drawing.Size(778, 20)
Me.ComboBoxDateAttributes.StyleController = Me.LayoutControl1
Me.ComboBoxDateAttributes.TabIndex = 9
'
@ -592,25 +578,25 @@ Partial Class frmSearchFlow
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem2.Size = New System.Drawing.Size(882, 30)
Me.LayoutControlItem2.Text = "Datum Von"
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(76, 13)
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(82, 13)
'
'LayoutControlItem4
'
Me.LayoutControlItem4.Control = Me.DateEditTo
Me.LayoutControlItem4.Enabled = False
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 52)
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(882, 30)
Me.LayoutControlItem4.Text = "Datum Bis"
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(76, 13)
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(82, 13)
'
'EmptySpaceItem1
'
Me.EmptySpaceItem1.AllowHotTrack = False
Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 112)
Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 113)
Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
Me.EmptySpaceItem1.Size = New System.Drawing.Size(882, 11)
Me.EmptySpaceItem1.Size = New System.Drawing.Size(882, 10)
Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
'
'LayoutControlItem6
@ -618,19 +604,19 @@ Partial Class frmSearchFlow
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(882, 22)
Me.LayoutControlItem6.Size = New System.Drawing.Size(882, 23)
Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem6.TextVisible = False
'
'LayoutControlItem8
'
Me.LayoutControlItem8.Control = Me.ComboBoxDateAttributes
Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 82)
Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 83)
Me.LayoutControlItem8.Name = "LayoutControlItem8"
Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem8.Size = New System.Drawing.Size(882, 30)
Me.LayoutControlItem8.Text = "Datums Attribut"
Me.LayoutControlItem8.TextSize = New System.Drawing.Size(76, 13)
Me.LayoutControlItem8.TextSize = New System.Drawing.Size(82, 13)
'
'LayoutControlGroup3
'
@ -770,6 +756,4 @@ Partial Class frmSearchFlow
Friend WithEvents RepositoryItemTrackBar2 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar
Friend WithEvents BarCheckItem1 As DevExpress.XtraBars.BarCheckItem
Friend WithEvents colSelected As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents btnOpenSearchDirectory As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
End Class

View File

@ -27,7 +27,8 @@ Public Class frmSearchFlow
Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object)
Private Sub frmFlowSearch2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SearchLoader = New SearchLoader(My.LogConfig, My.SystemConfigManager, SvgImageCollection1)
SearchLoader = New SearchLoader(My.LogConfig, My.DatabaseIDB, My.Application.User, SvgImageCollection1)
SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch") With {
.BaseSearchSQL = SQL_FLOW_SEARCH_BASE
}
@ -375,13 +376,6 @@ Public Class frmSearchFlow
End If
End Sub
Private Sub btnOpenSearchDirectory_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnOpenSearchDirectory.ItemClick
Dim oSearchDirectory = SearchLoader.GetSearchDirectoryPath()
Process.Start(oSearchDirectory)
End Sub
Private Sub ViewSearches_ItemCheckedChanged(sender As Object, e As TileViewItemClickEventArgs) Handles ViewSearches.ItemCheckedChanged
Dim oItem As TileViewItem = e.Item
Dim oSearch As SavedSearch.SavedSearch = ViewSearches.GetRow(oItem.RowHandle)