Zooflow: Clean up FlowSearch1, work on FlowSearch2

This commit is contained in:
Jonathan Jenne
2022-04-08 16:22:42 +02:00
parent fb1aa4f333
commit 347c83cac2
9 changed files with 644 additions and 446 deletions

View File

@@ -10,23 +10,38 @@ Public Class frmFlowSearch1
Private Logger As Logger
Private TOGGLE_Change As Boolean = False
Private LIMITATION_DATE As Boolean = False
Private SEARCH_FACT_DATE_ATTRIBUTE = "ADDED_WHEN"
Private SEARCH_FACT_DATE As String = "MONTH(OBJ.ADDED_WHEN) <> 13"
Private CONST_CR_TODAY As String = "CREATED_TODAY"
Private CONST_CR_YDAY As String = "CREATED_YESTERDAY"
Private CONST_CR_L7DAYS As String = "CREATED_LAST7DAYS"
Private CONST_CR_Y_CURR As String = "CREATED_YEAR_CURRENT"
Private CONST_CR_Y_LAST As String = "CREATED_YEAR_LAST"
Private CONST_CR_M_CURR As String = "CREATED_MONTH_CURRENT"
Private CONST_CR_M_LAST As String = "CREATED_MONTH_LAST"
Private AttributeSearch As String = "ADDED_WHEN"
Private DateConstraint As String = ""
Private BaseSearchSQL As String
'Private LIMITATION_DATE As Boolean = False
'Private SEARCH_FACT_DATE As String = "MONTH(OBJ.ADDED_WHEN) <> 13"
Private Const SEARCH_FACT_DATE_DEFAULT As String = "ADDED_WHEN"
Private Const CREATED_TOMORROW As String = "TOMORROW"
Private Const CREATED_TODAY As String = "ECM_CREATED_TODAY"
Private Const CREATED_YESTERDAY As String = "ECM_CREATED_YESTERDAY"
Private Const CREATED_LAST_7_DAYS As String = "ECM_CREATED_LAST7DAYS"
Private Const CREATED_YEAR_CURRENT As String = "ECM_CREATED_YEAR_CURRENT"
Private Const CREATED_YEAR_LAST As String = "ECM_CREATED_YEAR_LAST"
Private Const CREATED_MONTH_CURR As String = "ECM_CREATED_MONTH_CURRENT"
Private Const CREATED_MONTH_LAST As String = "ECM_CREATED_MONTH_LAST"
Private CONST_DATE_TOMORROW As String = "TOMORROW"
Private SEARCH_PARAM3
Private ExplizitDate As Boolean = False
Dim oBASESEARCH As String
'Private Enum DateConstraintEnum
' Today
' Yesterday
' Last7Days
' CurrentYear
' LastYear
' CurrentMonth
' LastMonth
'End Enum
Sub ResetTogglesDate()
TOGGLE_Change = True
ToggleSwitchToday.IsOn = False
@@ -58,7 +73,7 @@ Public Class frmFlowSearch1
If oToggle.IsOn Then
TOGGLE_Change = True
Dim oWHENDATE As String
'Dim oWHENDATE As String
Select Case oToggle.Name
Case "ToggleSwitchTomorrow"
ToggleSwitchToday.IsOn = False
@@ -69,7 +84,9 @@ Public Class frmFlowSearch1
ToggleSwitchYear.IsOn = False
ToggleSwitchMonth.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CONST_DATE_TOMORROW)
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_TOMORROW)
DateConstraint = CREATED_TOMORROW
Case "ToggleSwitchYear"
ToggleSwitchToday.IsOn = False
ToggleSwitchYesterday.IsOn = False
@@ -78,7 +95,9 @@ Public Class frmFlowSearch1
ToggleSwitchYear_Last.IsOn = False
ToggleSwitchMonth.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CONST_CR_Y_CURR)
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_CURRENT)
DateConstraint = CREATED_YEAR_CURRENT
Case "ToggleSwitchYear_Last"
ToggleSwitchToday.IsOn = False
ToggleSwitchYesterday.IsOn = False
@@ -87,7 +106,8 @@ Public Class frmFlowSearch1
ToggleSwitchYear.IsOn = False
ToggleSwitchMonth.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CONST_CR_TODAY)
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_LAST)
DateConstraint = CREATED_TODAY
Case "ToggleSwitchMonth"
ToggleSwitchToday.IsOn = False
@@ -97,7 +117,9 @@ Public Class frmFlowSearch1
ToggleSwitchYear.IsOn = False
ToggleSwitchYear_Last.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CONST_CR_M_CURR)
'oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CREATED_MONTH_CURR)
DateConstraint = CREATED_MONTH_CURR
Case "ToggleSwitchMonth_Last"
ToggleSwitchToday.IsOn = False
ToggleSwitchYesterday.IsOn = False
@@ -106,12 +128,14 @@ Public Class frmFlowSearch1
ToggleSwitchYear.IsOn = False
ToggleSwitchYear_Last.IsOn = False
ToggleSwitchMonth.IsOn = False
Dim currentDate As DateTime = DateTime.Now
If currentDate.Month = 1 Then
oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = 12 " & vbNewLine & "AND YEAR(@ATTRIBUTE) = (YEAR(GETDATE()) -1)", CONST_CR_M_LAST)
Else
oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CONST_CR_M_LAST)
End If
'Dim currentDate As DateTime = DateTime.Now
'If currentDate.Month = 1 Then
' oWHENDATE = GET_DATE_LIMITATION($"MONTH(@ATTRIBUTE) = 12 {vbNewLine}AND YEAR(@ATTRIBUTE) = (YEAR(GETDATE()) -1)", CREATED_MONTH_LAST)
'Else
' oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CREATED_MONTH_LAST)
'End If
DateConstraint = CREATED_MONTH_LAST
Case "ToggleSwitchToday"
ToggleSwitchYesterday.IsOn = False
ToggleSwitchTomorrow.IsOn = False
@@ -120,7 +144,9 @@ Public Class frmFlowSearch1
ToggleSwitchYear_Last.IsOn = False
ToggleSwitchMonth.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())", CONST_CR_TODAY)
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())", CREATED_TODAY)
DateConstraint = CREATED_TODAY
Case "ToggleSwitchYesterday"
ToggleSwitchToday.IsOn = False
ToggleSwitchTomorrow.IsOn = False
@@ -129,7 +155,9 @@ Public Class frmFlowSearch1
ToggleSwitchYear_Last.IsOn = False
ToggleSwitchMonth.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CONST_CR_YDAY)
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_YESTERDAY)
DateConstraint = CREATED_YESTERDAY
Case "ToggleSwitchLastWeek"
ToggleSwitchToday.IsOn = False
ToggleSwitchTomorrow.IsOn = False
@@ -138,35 +166,70 @@ Public Class frmFlowSearch1
ToggleSwitchYear_Last.IsOn = False
ToggleSwitchMonth.IsOn = False
ToggleSwitchMonth_Last.IsOn = False
oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CONST_CR_L7DAYS)
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_LAST_7_DAYS)
DateConstraint = CREATED_LAST_7_DAYS
End Select
SEARCH_FACT_DATE = oWHENDATE
'SEARCH_FACT_DATE = oWHENDATE
TOGGLE_Change = False
LIMITATION_DATE = True
'LIMITATION_DATE = True
Else
If ToggleSwitchToday.IsOn = False And ToggleSwitchYesterday.IsOn = False And ToggleSwitchYear.IsOn = False And ToggleSwitchYear_Last.IsOn = False And
ToggleSwitchMonth_Last.IsOn = False And ToggleSwitchMonth.IsOn = False And ToggleSwitchLastWeek.IsOn = False And ToggleSwitchTomorrow.IsOn = False Then
LIMITATION_DATE = False
SEARCH_PARAM3 = ""
'LIMITATION_DATE = False
DateConstraint = ""
End If
End If
End Sub
Private Function GET_DATE_LIMITATION(pInput As String, pVariant As String) As String
Try
If SEARCH_FACT_DATE_ATTRIBUTE = "ADDED_WHEN" Then
SEARCH_PARAM3 = "ECM_" & pVariant
Return pInput.Replace("@ATTRIBUTE", "OBJ.ADDED_WHEN")
Else
Dim oSTR = $"GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]"
Return pInput.Replace("@ATTRIBUTE", oSTR)
End If
Catch ex As Exception
Return pInput
Logger.Error(ex)
End Try
End Function
'Private Function GetDateConstraint(pDateConstraint As DateConstraint) As String
' Select Case pDateConstraint
' Case DateConstraint.Today
' Return GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())", CREATED_TODAY)
' Case DateConstraint.Yesterday
' Return GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_YESTERDAY)
' Case DateConstraint.Last7Days
' Return GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_LAST_7_DAYS)
' Case DateConstraint.CurrentMonth
' Return GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CREATED_MONTH_CURR)
' Case DateConstraint.LastMonth
' If Now.Month = 1 Then
' Return GET_DATE_LIMITATION($"MONTH(@ATTRIBUTE) = 12 {vbNewLine}AND YEAR(@ATTRIBUTE) = (YEAR(GETDATE()) -1)", CREATED_MONTH_LAST)
' Else
' Return GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CREATED_MONTH_LAST)
' End If
' Case DateConstraint.CurrentYear
' Return GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_CURRENT)
' Case DateConstraint.LastYear
' Return GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_LAST)
' Case Else
' Return ""
' End Select
'End Function
'Private Function GET_DATE_LIMITATION(pInput As String, pVariant As String) As String
' Try
' If SEARCH_FACT_DATE_ATTRIBUTE = SEARCH_FACT_DATE_DEFAULT Then
' SEARCH_PARAM3 = pVariant
' Return pInput.Replace("@ATTRIBUTE", "OBJ.ADDED_WHEN")
' Else
' Dim oSTR = $"GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]"
' Return pInput.Replace("@ATTRIBUTE", oSTR)
' End If
' Catch ex As Exception
' Return pInput
' Logger.Error(ex)
' End Try
'End Function
Private Sub cmbLimitationDateAttr_SelectedValueChanged(sender As Object, e As EventArgs) Handles cmbLimitationDateAttr.SelectedValueChanged
If cmbLimitationDateAttr.SelectedIndex <> -1 Then
@@ -175,10 +238,10 @@ Public Class frmFlowSearch1
Dim oEditValue As String = cmbLimitationDateAttr.SelectedItem.ToString
If oEditValue = IDB_ADDED_WHEN_String_German Or oEditValue = IDB_ADDED_WHEN_String_Englisch Then
SEARCH_FACT_DATE_ATTRIBUTE = "ADDED_WHEN"
AttributeSearch = SEARCH_FACT_DATE_DEFAULT
Else
SEARCH_FACT_DATE_ATTRIBUTE = oEditValue
SEARCH_FACT_DATE = $"MONTH(GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]) <> 13"
AttributeSearch = oEditValue
'SEARCH_FACT_DATE = $"MONTH(GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]) <> 13"
End If
'SearchContent()
Catch ex As Exception
@@ -217,9 +280,9 @@ Public Class frmFlowSearch1
For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_BASE Then
oBASESEARCH = oRow.Item("SQL_COMMAND")
oBASESEARCH = oBASESEARCH.Replace("@USER_ID", My.Application.User.UserId)
oBASESEARCH = oBASESEARCH.Replace("@LANG_CODE", My.Application.User.Language)
BaseSearchSQL = oRow.Item("SQL_COMMAND")
BaseSearchSQL = BaseSearchSQL.Replace("@USER_ID", My.Application.User.UserId)
BaseSearchSQL = BaseSearchSQL.Replace("@LANG_CODE", My.Application.User.Language)
End If
Next
Catch ex As Exception
@@ -235,17 +298,15 @@ Public Class frmFlowSearch1
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
Await Search_GO()
Await ExecuteSearch()
Catch ex As Exception
Logger.Error(ex)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Function
Private Async Function Search_GO() As Threading.Tasks.Task
Dim oWindowTitle
Private Async Function ExecuteSearch() As Threading.Tasks.Task
Dim oSearchTerm = txtSearchInput.Text
Dim oParams = New DocumentResultList.Params() With {
.WindowGuid = "FlowSearch",
.WindowTitle = GetResultWindowString(oSearchTerm),
@@ -256,7 +317,7 @@ Public Class frmFlowSearch1
}
}
Dim oP3 = $"{SEARCH_FACT_DATE_ATTRIBUTE}~{SEARCH_PARAM3}"
Dim oP3 = $"{AttributeSearch}~{DateConstraint}"
If ExplizitDate Then
Dim oDate2 As Date
If Not IsNothing(DateEditTill.EditValue) Then
@@ -266,14 +327,14 @@ Public Class frmFlowSearch1
End If
Dim oProc = $"EXEC PRIDB_SEARCH_ADD_USR_DATE {My.Application.User.UserId},'{CDate(DateEditFrom.EditValue)}','{oDate2}'"
If Await My.Database.ExecuteNonQueryIDBAsync(oProc) = True Then
oP3 = $"{SEARCH_FACT_DATE_ATTRIBUTE}~DATEPART"
oP3 = $"{AttributeSearch}~DATEPART"
End If
End If
Dim oSQL = $"EXEC PRIDB_SEARCH_TEXT_GET_RESULTS {My.Application.User.UserId},'{oSearchTerm}','{oP3}'"
If Await My.Database.ExecuteNonQueryIDBAsync(oSQL) = True Then
Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(oBASESEARCH)
Dim oDTDocResult = Await My.Database.GetDatatableIDBAsync(BaseSearchSQL)
If oDTDocResult.Rows.Count > 0 Then
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
.Title = "FlowSearchXYZ",
@@ -305,7 +366,7 @@ Public Class frmFlowSearch1
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
Await Search_GO()
Await ExecuteSearch()
Catch ex As Exception
Logger.Error(ex)
Finally
@@ -328,8 +389,6 @@ Public Class frmFlowSearch1
Return $"Search via date"
End If
End If
End Function
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
@@ -351,23 +410,11 @@ Public Class frmFlowSearch1
End If
End Sub
Private Sub DateEdit1_DateTimeChanged(sender As Object, e As EventArgs) Handles DateEditFrom.DateTimeChanged
Dim oobj = DateEditFrom.EditValue
If Not IsNothing(oobj) Then
ResetTogglesDate()
End If
End Sub
Private Sub DateEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles DateEditFrom.EditValueChanged
Dim oobj = DateEditFrom.EditValue
If Not IsNothing(oobj) Then
Dim oDateFrom = DateEditFrom.EditValue
If Not IsNothing(oDateFrom) Then
ResetTogglesDate()
ExplizitDate = True
End If
End Sub
Private Sub PictureEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles PictureEdit1.EditValueChanged
End Sub
End Class