diff --git a/ClipboardWatcher/ClipboardWatcher.vbproj b/ClipboardWatcher/ClipboardWatcher.vbproj
index c8bcd6d4..9f5f488b 100644
--- a/ClipboardWatcher/ClipboardWatcher.vbproj
+++ b/ClipboardWatcher/ClipboardWatcher.vbproj
@@ -51,6 +51,7 @@
False
D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.Utils.v18.1.dll
+
False
D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.XtraEditors.v18.1.dll
@@ -115,6 +116,7 @@
+
diff --git a/ClipboardWatcher/ProfileFilter.vb b/ClipboardWatcher/ProfileFilter.vb
index 0fc64ab8..62eb4181 100644
--- a/ClipboardWatcher/ProfileFilter.vb
+++ b/ClipboardWatcher/ProfileFilter.vb
@@ -238,7 +238,7 @@ Public Class ProfileFilter
Return oFilteredProfiles
End Function
- Public Function FilterProfilesBySearchResults(Profiles As List(Of ProfileData), Database As MSSQLServer, User As UserState) As List(Of ProfileData)
+ Public Function FilterProfilesBySearchResults(Profiles As List(Of ProfileData), Database As MSSQLServer, User As UserState, ClipboardContents As String) As List(Of ProfileData)
Dim oProfiles As New List(Of ProfileData)
For Each oProfile In Profiles
@@ -275,6 +275,7 @@ Public Class ProfileFilter
oCountCommand = oPatterns.ReplaceInternalValues(oCountCommand)
oCountCommand = oPatterns.ReplaceUserValues(oCountCommand, User)
+ oCountCommand = oPatterns.ReplaceClipboardContents(oCountCommand, ClipboardContents)
oResultData += NotNull(Of Integer)(Database.GetScalarValue(oCountCommand), 0)
Catch ex As Exception
@@ -293,6 +294,8 @@ Public Class ProfileFilter
oCountCommand = oPatterns.ReplaceInternalValues(oCountCommand)
oCountCommand = oPatterns.ReplaceUserValues(oCountCommand, User)
+ oCountCommand = oPatterns.ReplaceClipboardContents(oCountCommand, ClipboardContents)
+
oResultDocs += NotNull(Of Integer)(Database.GetScalarValue(oCountCommand), 0)
Catch ex As Exception
_Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oCountCommand)
diff --git a/ClipboardWatcher/ProfileSearches.vb b/ClipboardWatcher/ProfileSearches.vb
new file mode 100644
index 00000000..b7bf21a8
--- /dev/null
+++ b/ClipboardWatcher/ProfileSearches.vb
@@ -0,0 +1,97 @@
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.ZooFlow
+
+Public Class ProfileSearches
+ Private _LogConfig As LogConfig
+ Private _Logger As Logger
+ Private _Environment As Environment
+ Private _Params As ClipboardWatcherParams
+
+ Public Class Search
+ Public DataTable As DataTable
+ Public TabIndex As Integer
+ Public TabCaption As String
+ Public ProfileId As Integer
+ Public SQLCommand As String
+ End Class
+
+ Public Sub New(LogConfig As LogConfig, Environment As Environment, Params As ClipboardWatcherParams)
+ _LogConfig = LogConfig
+ _Logger = LogConfig.GetLogger()
+ _Environment = Environment
+ _Params = Params
+ End Sub
+
+ Public Async Function LoadDocumentSearchesAsync() As Task(Of List(Of Search))
+ Return Await Task.Run(AddressOf DoLoadDocumentSearches)
+ End Function
+
+ Private Function DoLoadDocumentSearches() As List(Of Search)
+ Dim oMatchingIds = String.Join(",", _Params.MatchingProfiles.Select(Function(p) p.Guid).ToArray())
+ Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DOC_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX"
+ Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL)
+ Dim oDocSearches As New List(Of Search)
+ Dim oCounter As Integer = 0
+ Dim oPatterns As New Patterns.ClassPatterns(_LogConfig)
+
+ For Each oRow As DataRow In oSearchesDataTable.Rows
+ Dim oProfileId As Integer = oRow.Item("PROFILE_ID")
+ Dim oTabTitle As String = oRow.Item("TAB_TITLE")
+ Dim oConnectionId As Integer = oRow.Item("CONN_ID")
+
+ oSQL = oRow.Item("SQL_COMMAND")
+ oSQL = oPatterns.ReplaceUserValues(oSQL, _Environment.User)
+ oSQL = oPatterns.ReplaceInternalValues(oSQL)
+ oSQL = oPatterns.ReplaceClipboardContents(oSQL, _Params.ClipboardContents)
+
+ Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId)
+ oDocSearches.Add(New Search() With {
+ .DataTable = oDatatable,
+ .ProfileId = oProfileId,
+ .TabCaption = oTabTitle,
+ .TabIndex = oCounter,
+ .SQLCommand = oSQL
+ })
+
+ oCounter += 1
+ Next
+
+ Return oDocSearches
+ End Function
+
+ Public Async Function LoadDataSearchesAsync() As Task(Of List(Of Search))
+ Return Await Task.Run(AddressOf DoLoadDataSearches)
+ End Function
+
+ Private Function DoLoadDataSearches() As List(Of Search)
+ Dim oMatchingIds = String.Join(",", _Params.MatchingProfiles.Select(Function(p) p.Guid).ToArray())
+ Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX"
+ Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL)
+ Dim oDataSearches As New List(Of Search)
+ Dim oCounter As Integer = 0
+ Dim oPatterns As New Patterns.ClassPatterns(_LogConfig)
+
+ For Each oRow As DataRow In oSearchesDataTable.Rows
+ Dim oProfileId As Integer = oRow.Item("PROFILE_ID")
+ Dim oTabTitle As String = oRow.Item("TAB_TITLE")
+ Dim oConnectionId As Integer = oRow.Item("CONN_ID")
+
+ oSQL = oRow.Item("SQL_COMMAND")
+ oSQL = oPatterns.ReplaceUserValues(oSQL, _Environment.User)
+ oSQL = oPatterns.ReplaceInternalValues(oSQL)
+
+ Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId)
+ oDataSearches.Add(New Search() With {
+ .DataTable = oDatatable,
+ .ProfileId = oProfileId,
+ .TabCaption = oTabTitle,
+ .TabIndex = oCounter,
+ .SQLCommand = oSQL
+ })
+
+ oCounter += 1
+ Next
+
+ Return oDataSearches
+ End Function
+End Class
diff --git a/ClipboardWatcher/frmMatch.vb b/ClipboardWatcher/frmMatch.vb
index d3a8704c..08fc4b9d 100644
--- a/ClipboardWatcher/frmMatch.vb
+++ b/ClipboardWatcher/frmMatch.vb
@@ -177,52 +177,58 @@ Public Class frmMatch
oForm.ShowDialog()
End Sub
- Private Sub TileControlMatch_ItemClick(sender As Object, e As TileItemEventArgs) Handles TileControlMatch.ItemClick
+ Private Async Sub TileControlMatch_ItemClick(sender As Object, e As TileItemEventArgs) Handles TileControlMatch.ItemClick
Dim oItem As TileItem = e.Item
Dim oProfileId As Integer = oItem.Tag
+ Dim oProfileSearch As New ProfileSearches(_LogConfig, _Environment, _Params)
+
Select Case oItem.Group.Name
Case TileGroupData.Name
- OpenResultForms(oProfileId, ProfileType.DATA_ONLY)
+ 'OpenResultForms(oProfileId, ProfileType.DATA_ONLY)
Case TileGroupDocuments.Name
- OpenResultForms(oProfileId, ProfileType.DOCS_ONLY)
+ Dim oSearches = Await oProfileSearch.LoadDocumentSearchesAsync()
+ OpenDocumentResults(oProfileId, oSearches)
Case Else
- OpenResultForms(oProfileId, ProfileType.ANY)
+ 'OpenResultForms(oProfileId, ProfileType.ANY)
End Select
Hide()
End Sub
+ Private Sub OpenDocumentResults(ProfileId As Integer, Searches As List(Of ProfileSearches.Search))
+ Dim oParams = New ResultListParams()
+
+ For Each oSearch In Searches
+ oParams.Results.Add(New DocumentResult() With {
+ .Datatable = oSearch.DataTable
+ })
+ Next
+
+ Dim oForm As New frmDocumentResultList(_LogConfig, _Environment, oParams)
+ oForm.Show()
+ End Sub
+
Private Sub OpenResultForms(ProfileId As Integer, OpenType As ProfileType)
- Dim oMatchingProfiles As New List(Of ProfileData)
+ 'If OpenType = ProfileType.ANY Or OpenType = ProfileType.DOCS_ONLY Then
+ ' ' Show Result Document Form
+ ' Dim oForm As New frmResult(_LogConfig, _Environment, _Params, frmResult.ResultType.Document)
+ ' AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
+ ' OpenForms.Add(oForm)
- ' TODO: Implement Show All
+ ' oForm.Show()
+ 'End If
- ' Click on specific profile
- Dim oProfile As ProfileData = _Params.MatchingProfiles.
- Where(Function(p) p.Guid = ProfileId).
- First()
- oMatchingProfiles.Add(oProfile)
+ 'If OpenType = ProfileType.ANY Or OpenType = ProfileType.DATA_ONLY Then
+ ' ' Show Result Data Form
+ ' Dim oForm As New frmResult(_LogConfig, _Environment, _Params, frmResult.ResultType.Data)
+ ' AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
+ ' OpenForms.Add(oForm)
- If OpenType = ProfileType.ANY Or OpenType = ProfileType.DOCS_ONLY Then
- ' Show Result Document Form
- Dim oForm As New frmResult(_LogConfig, _Environment, _Params, frmResult.ResultType.Document)
- AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
- OpenForms.Add(oForm)
-
- oForm.Show()
- End If
-
- If OpenType = ProfileType.ANY Or OpenType = ProfileType.DATA_ONLY Then
- ' Show Result Data Form
- Dim oForm As New frmResult(_LogConfig, _Environment, _Params, frmResult.ResultType.Data)
- AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
- OpenForms.Add(oForm)
-
- oForm.Show()
- End If
+ ' oForm.Show()
+ 'End If
End Sub
Private Sub ProfileResultForm_Closed(sender As Object, e As FormClosedEventArgs)
diff --git a/Common/Common.vbproj b/Common/Common.vbproj
index e4d04fb0..5ebf4597 100644
--- a/Common/Common.vbproj
+++ b/Common/Common.vbproj
@@ -110,6 +110,7 @@
Settings.settings
True
+
diff --git a/Common/ResultListParams.vb b/Common/ResultListParams.vb
new file mode 100644
index 00000000..6deaf514
--- /dev/null
+++ b/Common/ResultListParams.vb
@@ -0,0 +1,7 @@
+Public Class ResultListParams
+ Public Results As New List(Of DocumentResult)
+End Class
+
+Public Class DocumentResult
+ Public Datatable As DataTable
+End Class
diff --git a/Common/frmDocumentResultList.Designer.vb b/Common/frmDocumentResultList.Designer.vb
index 044f131a..80dd923c 100644
--- a/Common/frmDocumentResultList.Designer.vb
+++ b/Common/frmDocumentResultList.Designer.vb
@@ -20,26 +20,26 @@ Partial Class frmDocumentResultList
_
Private Sub InitializeComponent()
Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl()
+ Me.BarToggleSwitchItem1 = New DevExpress.XtraBars.BarToggleSwitchItem()
+ Me.BarToggleSwitchItem2 = New DevExpress.XtraBars.BarToggleSwitchItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
- Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridControl2 = New DevExpress.XtraGrid.GridControl()
Me.GridView2 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.GridControl3 = New DevExpress.XtraGrid.GridControl()
Me.GridView3 = New DevExpress.XtraGrid.Views.Grid.GridView()
- Me.BarToggleSwitchItem1 = New DevExpress.XtraBars.BarToggleSwitchItem()
- Me.BarToggleSwitchItem2 = New DevExpress.XtraBars.BarToggleSwitchItem()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout()
- CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.SplitContainerControl2.SuspendLayout()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainerControl2.SuspendLayout()
CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -57,6 +57,18 @@ Partial Class frmDocumentResultList
Me.RibbonControl.Size = New System.Drawing.Size(1189, 143)
Me.RibbonControl.StatusBar = Me.RibbonStatusBar
'
+ 'BarToggleSwitchItem1
+ '
+ Me.BarToggleSwitchItem1.Caption = "BarToggleSwitchItem1"
+ Me.BarToggleSwitchItem1.Id = 1
+ Me.BarToggleSwitchItem1.Name = "BarToggleSwitchItem1"
+ '
+ 'BarToggleSwitchItem2
+ '
+ Me.BarToggleSwitchItem2.Caption = "BarToggleSwitchItem2"
+ Me.BarToggleSwitchItem2.Id = 2
+ Me.BarToggleSwitchItem2.Name = "BarToggleSwitchItem2"
+ '
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
@@ -91,21 +103,6 @@ Partial Class frmDocumentResultList
Me.SplitContainerControl1.TabIndex = 2
Me.SplitContainerControl1.Text = "SplitContainerControl1"
'
- 'SplitContainerControl2
- '
- Me.SplitContainerControl2.Dock = System.Windows.Forms.DockStyle.Fill
- Me.SplitContainerControl2.Horizontal = False
- Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 0)
- Me.SplitContainerControl2.Name = "SplitContainerControl2"
- Me.SplitContainerControl2.Panel1.Controls.Add(Me.GridControl2)
- Me.SplitContainerControl2.Panel1.Text = "Panel1"
- Me.SplitContainerControl2.Panel2.Controls.Add(Me.GridControl3)
- Me.SplitContainerControl2.Panel2.Text = "Panel2"
- Me.SplitContainerControl2.Size = New System.Drawing.Size(653, 497)
- Me.SplitContainerControl2.SplitterPosition = 223
- Me.SplitContainerControl2.TabIndex = 0
- Me.SplitContainerControl2.Text = "SplitContainerControl2"
- '
'GridControl1
'
Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
@@ -121,6 +118,22 @@ Partial Class frmDocumentResultList
'
Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1"
+ Me.GridView1.OptionsView.ShowAutoFilterRow = True
+ '
+ 'SplitContainerControl2
+ '
+ Me.SplitContainerControl2.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.SplitContainerControl2.Horizontal = False
+ Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 0)
+ Me.SplitContainerControl2.Name = "SplitContainerControl2"
+ Me.SplitContainerControl2.Panel1.Controls.Add(Me.GridControl2)
+ Me.SplitContainerControl2.Panel1.Text = "Panel1"
+ Me.SplitContainerControl2.Panel2.Controls.Add(Me.GridControl3)
+ Me.SplitContainerControl2.Panel2.Text = "Panel2"
+ Me.SplitContainerControl2.Size = New System.Drawing.Size(653, 497)
+ Me.SplitContainerControl2.SplitterPosition = 223
+ Me.SplitContainerControl2.TabIndex = 0
+ Me.SplitContainerControl2.Text = "SplitContainerControl2"
'
'GridControl2
'
@@ -137,6 +150,7 @@ Partial Class frmDocumentResultList
'
Me.GridView2.GridControl = Me.GridControl2
Me.GridView2.Name = "GridView2"
+ Me.GridView2.OptionsView.ShowAutoFilterRow = True
'
'GridControl3
'
@@ -153,18 +167,7 @@ Partial Class frmDocumentResultList
'
Me.GridView3.GridControl = Me.GridControl3
Me.GridView3.Name = "GridView3"
- '
- 'BarToggleSwitchItem1
- '
- Me.BarToggleSwitchItem1.Caption = "BarToggleSwitchItem1"
- Me.BarToggleSwitchItem1.Id = 1
- Me.BarToggleSwitchItem1.Name = "BarToggleSwitchItem1"
- '
- 'BarToggleSwitchItem2
- '
- Me.BarToggleSwitchItem2.Caption = "BarToggleSwitchItem2"
- Me.BarToggleSwitchItem2.Id = 2
- Me.BarToggleSwitchItem2.Name = "BarToggleSwitchItem2"
+ Me.GridView3.OptionsView.ShowAutoFilterRow = True
'
'frmDocumentResultList
'
@@ -181,10 +184,10 @@ Partial Class frmDocumentResultList
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
- CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit()
- Me.SplitContainerControl2.ResumeLayout(False)
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainerControl2.ResumeLayout(False)
CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).EndInit()
diff --git a/Common/frmDocumentResultList.vb b/Common/frmDocumentResultList.vb
index cb9c535e..80452989 100644
--- a/Common/frmDocumentResultList.vb
+++ b/Common/frmDocumentResultList.vb
@@ -1,6 +1,193 @@
-Public Class frmDocumentResultList
- Private Sub frmDocumentResultList_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+Imports System.Drawing
+Imports DevExpress.Utils
+Imports DevExpress.XtraGrid
+Imports DevExpress.XtraGrid.Columns
+Imports DevExpress.XtraGrid.Views.Grid
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.ZooFlow
+Public Class frmDocumentResultList
+ Private _LogConfig As LogConfig
+ Private _Logger As Logger
+ Private _Environment As Environment
+ Private _ResultLists As List(Of DocumentResult)
+
+ Public Sub New(LogConfig As LogConfig, Environment As Environment, Params As ResultListParams)
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+ _LogConfig = LogConfig
+ _Logger = LogConfig.GetLogger()
+ _Environment = Environment
+ _ResultLists = Params.Results
+ End Sub
+
+ Private Sub frmDocumentResultList_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Dim oCounter = 1
+
+ For Each oList In _ResultLists
+ Select Case _ResultLists.Count
+ Case 1
+ CreateDocumentGrid(GridView1, oList.Datatable)
+ Case 2
+ CreateDocumentGrid(GridView2, oList.Datatable)
+ Case 3
+ CreateDocumentGrid(GridView3, oList.Datatable)
+ End Select
+ oCounter += 1
+ Next
+ End Sub
+
+ Private Sub CreateDocumentGrid(GridView As GridView, Datatable As DataTable)
+ Dim oMyDocDatatable As New DataTable
+ Try
+ 'Die Icon Colum erstellen und konfigurieren
+ Dim oColIcon As New DataColumn() With {
+ .DataType = GetType(Image),
+ .ColumnName = "ICON",
+ .Caption = ""
+ }
+ oMyDocDatatable.Columns.Add(oColIcon)
+
+ Dim oColPath As New DataColumn() With {
+ .DataType = GetType(String),
+ .ColumnName = "FULL_FILENAME",
+ .Caption = "Fullpath"
+ }
+ oMyDocDatatable.Columns.Add(oColPath)
+
+ Dim oColDocID As New DataColumn() With {
+ .DataType = GetType(Int32),
+ .ColumnName = "DocID",
+ .Caption = "DocID"
+ }
+ oMyDocDatatable.Columns.Add(oColDocID)
+
+ Dim oColFilename As New DataColumn() With {
+ .DataType = GetType(String),
+ .ColumnName = "Filename",
+ .Caption = "Filename"
+ }
+ oMyDocDatatable.Columns.Add(oColFilename)
+
+ Dim oRestColArray As New List(Of String)
+ For Each oCol As DataColumn In Datatable.Columns
+ Dim onewColumn As New DataColumn()
+ If oCol.ColumnName <> "DocID" And oCol.ColumnName <> "FULL_FILENAME" And oCol.ColumnName <> "Filename" Then
+ onewColumn.DataType = GetType(String)
+ onewColumn.ColumnName = oCol.ColumnName
+ onewColumn.Caption = oCol.Caption
+ oMyDocDatatable.Columns.Add(onewColumn)
+ oRestColArray.Add(onewColumn.ColumnName)
+ End If
+
+ Next
+ For Each oRow As DataRow In Datatable.Rows
+ Dim oFullpath = oRow.Item("FULL_FILENAME")
+ Dim oDocID = oRow.Item("DocID")
+ 'Dim Folderpath = Path.GetDirectoryName(fullpath)
+ Dim oFilename = IO.Path.GetFileName(oFullpath)
+ Dim oFileextension = IO.Path.GetExtension(oFullpath)
+ Dim oNewRow As DataRow
+ oNewRow = oMyDocDatatable.NewRow()
+ 'Icon zuweisen
+ Select Case oFileextension.ToUpper
+ Case ".csv".ToUpper
+ oNewRow.Item(0) = My.Resources.xls
+ Case ".txt".ToUpper
+ oNewRow.Item(0) = My.Resources.txt
+ Case ".pdf".ToUpper
+ oNewRow.Item(0) = My.Resources.pdf
+ Case ".doc".ToUpper
+ oNewRow.Item(0) = My.Resources.doc
+ Case ".docx".ToUpper
+ oNewRow.Item(0) = My.Resources.doc
+ Case ".xls".ToUpper
+ oNewRow.Item(0) = My.Resources.xls
+ Case ".xlsx".ToUpper
+ oNewRow.Item(0) = My.Resources.xls
+ Case ".xlsm".ToUpper
+ oNewRow.Item(0) = My.Resources.xls
+ Case ".ppt".ToUpper
+ oNewRow.Item(0) = My.Resources.ppt
+ Case ".pptx".ToUpper
+ oNewRow.Item(0) = My.Resources.ppt
+ Case ".dwg".ToUpper
+ oNewRow.Item(0) = My.Resources.dwg
+ Case ".dxf".ToUpper
+ oNewRow.Item(0) = My.Resources.dxf
+ Case ".msg".ToUpper
+ oNewRow.Item(0) = My.Resources._page
+ Case ".msg".ToUpper
+ oNewRow.Item(0) = My.Resources._page
+ Case ".tif".ToUpper
+ oNewRow.Item(0) = My.Resources.tiff
+ Case ".tiff".ToUpper
+ oNewRow.Item(0) = My.Resources.tiff
+ Case ".jpg".ToUpper
+ oNewRow.Item(0) = My.Resources.jpg
+ Case Else
+ oNewRow.Item(0) = My.Resources._blank
+ End Select
+ 'Den Filepath mitgeben
+ oNewRow.Item(1) = oFullpath
+ oNewRow.Item(2) = oDocID
+ oNewRow.Item(3) = oFilename
+
+ Dim i = 4 'Fängt bei 3 an, um die definierten Spalten zu überspringen
+ For Each Colname As String In oRestColArray
+ Dim oRowValue
+ oRowValue = oRow.Item(Colname)
+ oNewRow.Item(i) = oRowValue.ToString
+ i += 1
+ Next
+ oMyDocDatatable.Rows.Add(oNewRow)
+ Next
+
+ Dim oGridControl As GridControl = GridView.GridControl
+ oGridControl.DataSource = oMyDocDatatable
+ oGridControl.ForceInitialize()
+ Try
+ GridView.Columns.Item("DocID").Visible = False
+ Catch ex As Exception
+ End Try
+ Try
+ GridView.Columns.Item("FULL_FILENAME").Visible = False
+ Catch ex As Exception
+ End Try
+
+ Dim created, changed As String
+ If _Environment.User.Language <> "de-DE" Then
+ changed = "Changed"
+ created = "Created"
+ Else
+ changed = "Geändert"
+ created = "Erstellt"
+ End If
+
+ Dim createdColumn = GridView.Columns(created)
+ If Not IsNothing(createdColumn) Then
+ createdColumn.DisplayFormat.FormatType = FormatType.DateTime
+ createdColumn.DisplayFormat.FormatString = _Environment.User.DateFormat & " HH:MM:ss"
+ End If
+
+ Dim changedColumn = GridView.Columns(changed)
+ If Not IsNothing(changedColumn) Then
+ changedColumn.DisplayFormat.FormatType = FormatType.DateTime
+ changedColumn.DisplayFormat.FormatString = _Environment.User.DateFormat & " HH:MM:ss"
+ End If
+ ' Alle Spalten aus ReadOnly setzen, danach werden alle passenden auf nicht ReadOnly gesetzt
+ For Each column As GridColumn In GridView.Columns
+ column.OptionsColumn.AllowEdit = False
+ Next
+ GridView.Columns.Item("ICON").MaxWidth = 24
+ GridView.Columns.Item("ICON").MinWidth = 24
+ GridView.OptionsView.BestFitMaxRowCount = -1
+ GridView.BestFitColumns(True)
+ Catch ex As Exception
+ _Logger.Error(ex)
+ End Try
End Sub
Private Sub BarToggleSwitchItem1_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarToggleSwitchItem1.CheckedChanged
diff --git a/Patterns/Patterns.vb b/Patterns/Patterns.vb
index 4a3369cf..960771dc 100644
--- a/Patterns/Patterns.vb
+++ b/Patterns/Patterns.vb
@@ -84,6 +84,8 @@ Public Class ClassPatterns
oResult = oResult.Replace(CLIPBOARD_VALUE_DE.ToUpper, ClipboardContents)
oResult = oResult.Replace(CLIPBOARD_VALUE_EN.ToLower, ClipboardContents)
oResult = oResult.Replace(CLIPBOARD_VALUE_EN.ToUpper, ClipboardContents)
+ oResult = oResult.Replace(CLIPBOARD_VALUE_DE, ClipboardContents)
+ oResult = oResult.Replace(CLIPBOARD_VALUE_EN, ClipboardContents)
Return oResult
End Function
diff --git a/ZooFlow/My Project/Application.Designer.vb b/ZooFlow/My Project/Application.Designer.vb
index d9bc2765..a3af7133 100644
--- a/ZooFlow/My Project/Application.Designer.vb
+++ b/ZooFlow/My Project/Application.Designer.vb
@@ -29,8 +29,8 @@ Namespace My
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
-
- _
+
+
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.DigitalData.GUIs.ZooFlow.frmAdmin
End Sub
diff --git a/ZooFlow/My Project/Settings.Designer.vb b/ZooFlow/My Project/Settings.Designer.vb
index 424beaf9..2859c418 100644
--- a/ZooFlow/My Project/Settings.Designer.vb
+++ b/ZooFlow/My Project/Settings.Designer.vb
@@ -43,8 +43,8 @@ Partial Friend NotInheritable Class Settings
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
- AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
- addedHandler = True
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
End If
End SyncLock
End If
diff --git a/ZooFlow/Queries/ClassClipboardWatcherQueries.vb b/ZooFlow/Queries/ClassClipboardWatcherQueries.vb
index 042a79ed..3077888a 100644
--- a/ZooFlow/Queries/ClassClipboardWatcherQueries.vb
+++ b/ZooFlow/Queries/ClassClipboardWatcherQueries.vb
@@ -1,6 +1,6 @@
Public Class ClassClipboardWatcherQueries
Public Function VWCW_USER_PROFILE(UserId As Integer) As String
- Return $"SELECT DISTINCT GUID, NAME, REGEX_EXPRESSION, COMMENT, PROC_NAME, PROFILE_TYPE FROM VWCW_USER_PROFILE WHERE USER_ID = {UserId} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {0}))"
+ Return $"SELECT DISTINCT GUID, NAME, REGEX_EXPRESSION, COMMENT, PROC_NAME, PROFILE_TYPE FROM VWCW_USER_PROFILE WHERE USER_ID = {UserId} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {UserId}))"
End Function
Public Function TBCW_PROFILE_PROCESS(UserId As Integer) As String
diff --git a/ZooFlow/frmAdmin.vb b/ZooFlow/frmAdmin.vb
index 930d9a88..b2c2a1c1 100644
--- a/ZooFlow/frmAdmin.vb
+++ b/ZooFlow/frmAdmin.vb
@@ -94,6 +94,7 @@ Partial Public Class frmAdmin
Dim oWindow As New Window(My.LogConfig)
Dim oWindowInfo = oWindow.GetWindowInfo()
Dim oClipboardContents As String = Clipboard.GetText()
+ Dim oUserState = My.Application.User
Try
oProfileFilter = New ProfileFilter(My.LogConfig,
@@ -112,7 +113,8 @@ Partial Public Class frmAdmin
Return oProfileFilter.FilterProfilesBySearchResults(
oMatchingProfiles,
My.Database,
- My.Application.User)
+ oUserState,
+ oClipboardContents)
End Function)
oMatchingProfiles = oProfileFilter.ClearNotMatchedProfiles(oMatchingProfiles)
Catch ex As Exception