Zooflow: Improve Search Ribbon, Process Independent Search
This commit is contained in:
@@ -30,6 +30,11 @@ Public Class SearchRunner
|
||||
Undefined
|
||||
End Enum
|
||||
|
||||
Public Enum TokenOperator
|
||||
[And]
|
||||
[Or]
|
||||
End Enum
|
||||
|
||||
Public Event NeedsRefresh As EventHandler(Of Integer)
|
||||
Public Event Closed As EventHandler(Of Integer)
|
||||
|
||||
@@ -41,6 +46,8 @@ Public Class SearchRunner
|
||||
End Property
|
||||
|
||||
Private _ActiveDateAttribute As String = SEARCH_FACT_DATE_DEFAULT
|
||||
Private _ActiveTokenOperator As TokenOperator = TokenOperator.And
|
||||
|
||||
Public ReadOnly Property ActiveDateAttribute As String
|
||||
Get
|
||||
Return _ActiveDateAttribute
|
||||
@@ -151,7 +158,7 @@ Public Class SearchRunner
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Async Function InsertSearchTokens(pTokens As IEnumerable(Of Search.SearchToken.AttributeValueToken)) As Task
|
||||
Private Async Function InsertSearchTokens(pTokens As IEnumerable(Of Search.SearchToken.Token)) As Task
|
||||
Logger.Debug("Deleting previous user tokens..")
|
||||
Await My.Database.ExecuteNonQueryIDBAsync($"DELETE FROM TBIDB_SEARCH_INPUT_USER WHERE USR_ID = {UserId}")
|
||||
|
||||
@@ -165,10 +172,20 @@ Public Class SearchRunner
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
Dim oOperatorString
|
||||
|
||||
Select Case _ActiveTokenOperator
|
||||
Case TokenOperator.Or
|
||||
oOperatorString = "OR"
|
||||
Case Else
|
||||
oOperatorString = "AND"
|
||||
End Select
|
||||
|
||||
|
||||
For Each oToken In pTokens
|
||||
Dim oSQLInsert As String = $"
|
||||
INSERT INTO [dbo].[TBIDB_SEARCH_INPUT_USER] ([USR_ID], [ATTR_ID], [ATTR_TITLE], [TERM_ID], [OPERATOR])
|
||||
VALUES ({UserId}, {oToken.AttributeId}, '{oToken.AttributeTitle}', {oToken.TermId}, 'AND')"
|
||||
VALUES ({UserId}, {oToken.AttributeId}, '{oToken.AttributeTitle}', {oToken.TermId}, '{oOperatorString}')"
|
||||
|
||||
Dim oResult = Await My.Database.ExecuteNonQueryIDBAsync(oSQLInsert)
|
||||
Logger.Warn("Inserting Tokens failed!")
|
||||
@@ -248,6 +265,10 @@ Public Class SearchRunner
|
||||
_ActiveDateConstraint = DateConstraintToConstant(pConstraint)
|
||||
End Sub
|
||||
|
||||
Public Sub SetTokenOperator(pOperator As TokenOperator)
|
||||
_ActiveTokenOperator = pOperator
|
||||
End Sub
|
||||
|
||||
Public Function DateConstraintToConstant(pConstraint As DateConstraint) As String
|
||||
Select Case pConstraint
|
||||
Case DateConstraint.Today
|
||||
|
||||
Reference in New Issue
Block a user