Zooflow: Work on Search FOrm

This commit is contained in:
Jonathan Jenne
2022-05-17 16:48:02 +02:00
parent 11c7b4e5e9
commit 1ae90911a8
12 changed files with 634 additions and 362 deletions

View File

@@ -59,11 +59,11 @@ Public Class SearchRunner
SearchTitle = pSearchTitle
End Sub
Public Function Run(pDatatable As DataTable) As SearchResult
Return Run(pDatatable, "Suche")
Public Function RunWithDataTable(pDatatable As DataTable) As SearchResult
Return RunWithDataTable(pDatatable, "Suche")
End Function
Public Function Run(pDatatable As DataTable, pTitle As String) As SearchResult
Public Function RunWithDataTable(pDatatable As DataTable, pTitle As String) As SearchResult
Dim oParams = GetParams(pTitle)
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
.Title = pTitle,
@@ -82,25 +82,28 @@ Public Class SearchRunner
oForm.Show()
Return New SearchResult()
Return New SearchResult(pDatatable.Rows.Count)
End Function
Public Async Function Run(pSearchTerm As String) As Task(Of SearchResult)
Return Await Run(pSearchTerm, Nothing, Nothing)
Public Async Function RunWithSearchTerm(pSearchTerm As String) As Task(Of SearchResult)
Return Await RunWithSearchTerm(pSearchTerm, Nothing, Nothing, Nothing)
End Function
Public Async Function Run() As Task(Of SearchResult)
Return Await Run("")
Public Async Function RunWithSearchTerm(pSearchTerm As String, pSearchTitle As String) As Task(Of SearchResult)
Return Await RunWithSearchTerm(pSearchTerm, Nothing, Nothing, pSearchTitle)
End Function
Public Async Function RunWithSearchTerm(pSearchTerm As String, pDateFrom As Date, pDateTo As Date) As Task(Of SearchResult)
Return Await RunWithSearchTerm(pSearchTerm, pDateFrom, pDateTo, Nothing)
End Function
Public Async Function Run(pSearchTerm As String, pDateFrom As Date, pDateTo As Date) As Threading.Tasks.Task(Of SearchResult)
Public Async Function RunWithSearchTerm(pSearchTerm As String, pDateFrom As Date, pDateTo As Date, pSearchTitle As String) As Task(Of SearchResult)
If pDateFrom.Equals(Date.MinValue) = False Then
ExplicitDate = True
End If
Dim oSearchTerm = pSearchTerm
Dim oWindowTitle = GetResultWindowString(pSearchTerm)
Dim oWindowTitle = GetResultWindowString(pSearchTerm, pSearchTitle)
Dim oParams = GetParams(oWindowTitle)
Dim oDateConstraint = $"{_ActiveDateAttribute}~{_ActiveDateConstraint}"
@@ -121,7 +124,8 @@ Public Class SearchRunner
If Await My.Database.ExecuteNonQueryIDBAsync(oSQL) = True Then
Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL)
If oDTDocResult.Rows.Count > 0 Then
Dim oRowCount = oDTDocResult.Rows.Count
If oRowCount > 0 Then
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
.Title = SearchTitle,
.Datatable = oDTDocResult
@@ -139,9 +143,9 @@ Public Class SearchRunner
oForm.Show()
Return New SearchResult()
Return New SearchResult(oRowCount)
Else
Return New SearchResult("No Results")
Return New SearchResult(oRowCount)
End If
Else
@@ -168,7 +172,11 @@ Public Class SearchRunner
Return oParams
End Function
Private Function GetResultWindowString(SearchContent As String) As String
Private Function GetResultWindowString(SearchContent As String, pWindowTitle As String) As String
If pWindowTitle IsNot Nothing Then
Return pWindowTitle
End If
If SearchContent <> String.Empty Then
If My.Application.User.Language = State.UserState.LANG_DE_DE Then
@@ -260,14 +268,15 @@ Public Class SearchRunner
End Sub
Public Class SearchResult
Public OK As Boolean
Public OK As Boolean = True
Public Count As Integer = 0
Public ErrorMessage As String = String.Empty
''' <summary>
''' Returns a positive Search Result
''' </summary>
Public Sub New()
OK = True
Public Sub New(pCountResults As Integer)
Count = pCountResults
End Sub
''' <summary>