load searches only for clicked profile, acutally filter profiles by search results

This commit is contained in:
Jonathan Jenne
2019-10-29 11:42:22 +01:00
parent c173432b94
commit 44d703fcb2
2 changed files with 16 additions and 14 deletions

View File

@@ -23,13 +23,14 @@ Public Class ProfileSearches
_Params = Params
End Sub
Public Async Function LoadDocumentSearchesAsync() As Task(Of List(Of Search))
Return Await Task.Run(AddressOf DoLoadDocumentSearches)
Public Async Function LoadDocumentSearchesAsync(ProfileId As Integer) As Task(Of List(Of Search))
Return Await Task.Run(Function()
Return DoLoadDocumentSearches(ProfileId)
End Function)
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"
Private Function DoLoadDocumentSearches(ProfileId As Integer) As List(Of Search)
Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DOC_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID = {ProfileId} ORDER BY TAB_INDEX"
Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL)
Dim oDocSearches As New List(Of Search)
Dim oCounter As Integer = 0
@@ -62,16 +63,17 @@ Public Class ProfileSearches
Return oDocSearches
End Function
Public Async Function LoadDataSearchesAsync() As Task(Of List(Of Search))
Return Await Task.Run(AddressOf DoLoadDataSearches)
Public Async Function LoadDataSearchesAsync(ProfileId As Integer) As Task(Of List(Of Search))
Return Await Task.Run(Function()
Return DoLoadDataSearches(ProfileId)
End Function)
End Function
Private Function DoLoadDataSearches() As List(Of Search)
Private Function DoLoadDataSearches(ProfileId As Integer) As List(Of Search)
Dim oDataSearches As New List(Of Search)
Try
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 oSQL As String = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID = {ProfileId} ORDER BY TAB_INDEX"
Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL)
Dim oCounter As Integer = 0