Zooflow: Improve Search Form code
This commit is contained in:
@@ -6,53 +6,55 @@ Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.ZooFlow
|
||||
|
||||
Public Class frmFlowSearch1
|
||||
Private _Environment As Environment
|
||||
Private Environment As Environment
|
||||
Private Logger As Logger
|
||||
Private SearchRunner As SearchRunner
|
||||
|
||||
Private TOGGLE_Change As Boolean = False
|
||||
Private AttributeSearch As String = "ADDED_WHEN"
|
||||
Private DateConstraint As String = ""
|
||||
Private BaseSearchSQL As String
|
||||
|
||||
'Private Property AttributeSearch As String = "ADDED_WHEN"
|
||||
'Private Property DateConstraint 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 Property ExplizitDate As Boolean = False
|
||||
|
||||
Private Const SEARCH_FACT_DATE_DEFAULT As String = "ADDED_WHEN"
|
||||
Private Property BaseSearchSQL As String
|
||||
Private Property TogglesDate As List(Of ToggleSwitch)
|
||||
Private Property TogglesDateChanging As Boolean = False
|
||||
|
||||
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 Sub ResetTogglesDate()
|
||||
ResetTogglesDate(Nothing)
|
||||
End Sub
|
||||
|
||||
Private Sub ResetTogglesDate(pExcludeToggle As ToggleSwitch)
|
||||
TogglesDateChanging = True
|
||||
|
||||
Private ExplizitDate As Boolean = False
|
||||
For Each oToggle As ToggleSwitch In TogglesDate
|
||||
If pExcludeToggle IsNot Nothing Then
|
||||
If oToggle.Name = pExcludeToggle.Name Then
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
oToggle.IsOn = False
|
||||
Next
|
||||
|
||||
'Private Enum DateConstraintEnum
|
||||
' Today
|
||||
' Yesterday
|
||||
' Last7Days
|
||||
' CurrentYear
|
||||
' LastYear
|
||||
' CurrentMonth
|
||||
' LastMonth
|
||||
'End Enum
|
||||
|
||||
|
||||
Sub ResetTogglesDate()
|
||||
TOGGLE_Change = True
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
TOGGLE_Change = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
TogglesDateChanging = False
|
||||
End Sub
|
||||
|
||||
Private Sub ToggleSwitchToday_Toggled(sender As Object, e As EventArgs) Handles _
|
||||
@@ -65,124 +67,382 @@ Public Class frmFlowSearch1
|
||||
ToggleSwitchLastWeek.Toggled,
|
||||
ToggleSwitchTomorrow.Toggled
|
||||
|
||||
If TOGGLE_Change = True Then
|
||||
If TogglesDateChanging = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
|
||||
|
||||
If oToggle.IsOn Then
|
||||
TOGGLE_Change = True
|
||||
TogglesDateChanging = True
|
||||
'Dim oWHENDATE As String
|
||||
Select Case oToggle.Name
|
||||
Case "ToggleSwitchTomorrow"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_TOMORROW)
|
||||
DateConstraint = CREATED_TOMORROW
|
||||
'DateConstraint = CREATED_TOMORROW
|
||||
|
||||
ResetTogglesDate(ToggleSwitchTomorrow)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Tomorrow)
|
||||
|
||||
Case "ToggleSwitchYear"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_CURRENT)
|
||||
'DateConstraint = CREATED_YEAR_CURRENT
|
||||
|
||||
ResetTogglesDate(ToggleSwitchYear)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.CurrentYear)
|
||||
|
||||
DateConstraint = CREATED_YEAR_CURRENT
|
||||
Case "ToggleSwitchYear_Last"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CREATED_YEAR_LAST)
|
||||
DateConstraint = CREATED_TODAY
|
||||
'DateConstraint = CREATED_TODAY
|
||||
|
||||
ResetTogglesDate(ToggleSwitchYear_Last)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Today)
|
||||
|
||||
Case "ToggleSwitchMonth"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CREATED_MONTH_CURR)
|
||||
DateConstraint = CREATED_MONTH_CURR
|
||||
'DateConstraint = CREATED_MONTH_CURR
|
||||
|
||||
ResetTogglesDate(ToggleSwitchMonth)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.CurrentMonth)
|
||||
|
||||
Case "ToggleSwitchMonth_Last"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'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)", CREATED_MONTH_LAST)
|
||||
'Else
|
||||
' oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CREATED_MONTH_LAST)
|
||||
'End If
|
||||
DateConstraint = CREATED_MONTH_LAST
|
||||
'DateConstraint = CREATED_MONTH_LAST
|
||||
|
||||
ResetTogglesDate(ToggleSwitchMonth_Last)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.LastMonth)
|
||||
|
||||
Case "ToggleSwitchToday"
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())", CREATED_TODAY)
|
||||
DateConstraint = CREATED_TODAY
|
||||
'DateConstraint = CREATED_TODAY
|
||||
|
||||
ResetTogglesDate(ToggleSwitchToday)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Today)
|
||||
|
||||
Case "ToggleSwitchYesterday"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchLastWeek.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchLastWeek.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_YESTERDAY)
|
||||
DateConstraint = CREATED_YESTERDAY
|
||||
'DateConstraint = CREATED_YESTERDAY
|
||||
|
||||
ResetTogglesDate(ToggleSwitchYesterday)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Yesterday)
|
||||
|
||||
Case "ToggleSwitchLastWeek"
|
||||
ToggleSwitchToday.IsOn = False
|
||||
ToggleSwitchTomorrow.IsOn = False
|
||||
ToggleSwitchYesterday.IsOn = False
|
||||
ToggleSwitchYear.IsOn = False
|
||||
ToggleSwitchYear_Last.IsOn = False
|
||||
ToggleSwitchMonth.IsOn = False
|
||||
ToggleSwitchMonth_Last.IsOn = False
|
||||
'ToggleSwitchToday.IsOn = False
|
||||
'ToggleSwitchTomorrow.IsOn = False
|
||||
'ToggleSwitchYesterday.IsOn = False
|
||||
'ToggleSwitchYear.IsOn = False
|
||||
'ToggleSwitchYear_Last.IsOn = False
|
||||
'ToggleSwitchMonth.IsOn = False
|
||||
'ToggleSwitchMonth_Last.IsOn = False
|
||||
'oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CREATED_LAST_7_DAYS)
|
||||
DateConstraint = CREATED_LAST_7_DAYS
|
||||
'DateConstraint = CREATED_LAST_7_DAYS
|
||||
|
||||
ResetTogglesDate(ToggleSwitchLastWeek)
|
||||
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Last7Days)
|
||||
|
||||
End Select
|
||||
'SEARCH_FACT_DATE = oWHENDATE
|
||||
TOGGLE_Change = False
|
||||
TogglesDateChanging = False
|
||||
'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
|
||||
DateConstraint = ""
|
||||
'DateConstraint = ""
|
||||
SearchRunner.SetDateConstraint()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub cmbLimitationDateAttr_SelectedValueChanged(sender As Object, e As EventArgs) Handles cmbLimitationDateAttr.SelectedValueChanged
|
||||
If cmbLimitationDateAttr.SelectedIndex <> -1 Then
|
||||
Try
|
||||
|
||||
Dim oEditValue As String = cmbLimitationDateAttr.SelectedItem.ToString
|
||||
|
||||
If oEditValue = IDB_ADDED_WHEN_String_German Or oEditValue = IDB_ADDED_WHEN_String_Englisch Then
|
||||
'AttributeSearch = SEARCH_FACT_DATE_DEFAULT
|
||||
SearchRunner.SetDateAttribute()
|
||||
Else
|
||||
'AttributeSearch = oEditValue
|
||||
SearchRunner.SetDateAttribute(oEditValue)
|
||||
'SEARCH_FACT_DATE = $"MONTH(GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]) <> 13"
|
||||
End If
|
||||
'SearchContent()
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub frmFlowSearch1_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Logger = My.LogConfig.GetLogger()
|
||||
SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment)
|
||||
|
||||
Try
|
||||
If My.Application.User.Language = "de-DE" Then
|
||||
cmbLimitationDateAttr.Items.Add(IDB_ADDED_WHEN_String_German)
|
||||
Else
|
||||
cmbLimitationDateAttr.Items.Add(IDB_ADDED_WHEN_String_Englisch)
|
||||
End If
|
||||
'Dim oDT As DataTable = My.DatabaseIDB.GetDatatable($"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE TYPE_ID IN (5,6) AND LANG_ID = {My.Application.User.LanguageId}")
|
||||
|
||||
For Each oRow As DataRow In My.Tables.DTIDB_ATTRIBUTE.Rows
|
||||
If CBool(oRow.Item("SYS_ATTRIBUTE")) = False And (oRow.Item("TYP_ID") = 5 Or oRow.Item("TYP_ID") = 6) Then
|
||||
cmbLimitationDateAttr.Items.Add(oRow.Item("ATTR_TITLE"))
|
||||
End If
|
||||
|
||||
Next
|
||||
Environment = My.Application.GetEnvironment
|
||||
'Dim editor As BarEditItem = BarEditItemDate
|
||||
' editor = TryCast(BarEditItemDate, ComboBoxEdit)
|
||||
If My.Application.User.Language = "de-DE" Then
|
||||
cmbLimitationDateAttr.SelectedIndex = 0
|
||||
' BarEditItemDate.EditValue = "Erstellt Wann"
|
||||
Else
|
||||
cmbLimitationDateAttr.SelectedIndex = 1
|
||||
' BarEditItemDate.EditValue = "Added When"
|
||||
End If
|
||||
|
||||
For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
|
||||
If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_BASE Then
|
||||
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
|
||||
|
||||
SearchRunner.BaseSearchSQL = BaseSearchSQL
|
||||
|
||||
|
||||
Dim osql = $"EXEC PRIDB_SEARCH_AUTOSUGGEST '{My.Application.User.Language}',{My.Application.User.UserId}"
|
||||
Dim oDTSuggest As DataTable
|
||||
oDTSuggest = My.Database.GetDatatableIDB(osql)
|
||||
Dim collection As AutoCompleteStringCollection = New AutoCompleteStringCollection
|
||||
For Each orow As DataRow In oDTSuggest.Rows
|
||||
collection.Add(orow.Item("TERM"))
|
||||
Next
|
||||
|
||||
|
||||
txtSearchInput.MaskBox.AutoCompleteSource = AutoCompleteSource.CustomSource
|
||||
txtSearchInput.MaskBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
|
||||
txtSearchInput.MaskBox.AutoCompleteCustomSource = collection
|
||||
|
||||
TogglesDate = New List(Of ToggleSwitch) From {
|
||||
ToggleSwitchTomorrow,
|
||||
ToggleSwitchToday,
|
||||
ToggleSwitchYesterday,
|
||||
ToggleSwitchYear,
|
||||
ToggleSwitchYear_Last,
|
||||
ToggleSwitchMonth,
|
||||
ToggleSwitchMonth_Last,
|
||||
ToggleSwitchLastWeek
|
||||
}
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
BringToFront()
|
||||
End Sub
|
||||
|
||||
Private Async Function BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) As Threading.Tasks.Task Handles BarButtonStartSearch.ItemClick
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
|
||||
Try
|
||||
'Await ExecuteSearch()
|
||||
|
||||
Dim oResult = Await SearchRunner.Run(txtSearchInput.Text, DateEditFrom.EditValue, DateEditTill.EditValue)
|
||||
If oResult.OK = False Then
|
||||
bsiStatus.Caption = oResult.ErrorMessage
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Finally
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
Private Sub Form_NeedsRefresh(sender As Object, e As Integer)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Async Function txtSearchInput_KeyUp(sender As Object, e As KeyEventArgs) As Threading.Tasks.Task Handles txtSearchInput.KeyUp
|
||||
If e.KeyCode = Keys.Return Then
|
||||
If txtSearchInput.Text = String.Empty Then
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
|
||||
Try
|
||||
'Await ExecuteSearch()
|
||||
Dim oResult = Await SearchRunner.Run(txtSearchInput.Text, DateEditFrom.EditValue, DateEditTill.EditValue)
|
||||
If oResult.OK = False Then
|
||||
bsiStatus.Caption = oResult.ErrorMessage
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Finally
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
End Try
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub BarButtonReset_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonReset.ItemClick
|
||||
txtSearchInput.Text = ""
|
||||
ResetTogglesDate()
|
||||
ToggleSwitchDateto.IsOn = False
|
||||
'ExplizitDate = False
|
||||
SearchRunner.ExplicitDate = False
|
||||
End Sub
|
||||
|
||||
Private Sub ToggleSwitch1_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchDateto.Toggled
|
||||
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
|
||||
|
||||
If oToggle.IsOn Then
|
||||
DateEditTill.Enabled = True
|
||||
lblDatefrom.Text = "Datum von"
|
||||
Else
|
||||
DateEditTill.Enabled = False
|
||||
lblDatefrom.Text = "Datum"
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub DateEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles DateEditFrom.EditValueChanged
|
||||
Dim oDateFrom = DateEditFrom.EditValue
|
||||
If Not IsNothing(oDateFrom) Then
|
||||
ResetTogglesDate()
|
||||
'ExplizitDate = True
|
||||
SearchRunner.ExplicitDate = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Private Function GetResultWindowString(SearchContent As String) As String
|
||||
' If SearchContent <> String.Empty Then
|
||||
' If My.Application.User.Language = State.UserState.LANG_DE_DE Then
|
||||
|
||||
' Return $"Suche Nach '{txtSearchInput.Text}'"
|
||||
' Else
|
||||
' Return $"Search For '{txtSearchInput.Text}'"
|
||||
' End If
|
||||
' Else
|
||||
' If My.Application.User.Language = State.UserState.LANG_DE_DE Then
|
||||
' Return $"Suche Datumsbegrenzt"
|
||||
' Else
|
||||
' Return $"Search via date"
|
||||
' End If
|
||||
' End If
|
||||
'End Function
|
||||
|
||||
'Private Async Function ExecuteSearch() As Threading.Tasks.Task
|
||||
' Dim oSearchTerm = txtSearchInput.Text
|
||||
' Dim oParams = New DocumentResultList.Params() With {
|
||||
' .WindowGuid = "FlowSearch",
|
||||
' .WindowTitle = GetResultWindowString(oSearchTerm),
|
||||
' .OperationModeOverride = Modules.ZooFlow.Constants.OperationMode.ZooFlow,
|
||||
' .ProfileGuid = 354522,
|
||||
' .ColumnNames = New DocumentResultList.ColumnNames With {
|
||||
' .ObjectIdColumn = "DocID"
|
||||
' }
|
||||
' }
|
||||
|
||||
' Dim oP3 = $"{AttributeSearch}~{DateConstraint}"
|
||||
' If ExplizitDate Then
|
||||
' Dim oDate2 As Date
|
||||
' If Not IsNothing(DateEditTill.EditValue) Then
|
||||
' oDate2 = CDate(DateEditTill.EditValue)
|
||||
' Else
|
||||
' oDate2 = CDate(DateEditFrom.EditValue)
|
||||
' 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 = $"{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(BaseSearchSQL)
|
||||
' If oDTDocResult.Rows.Count > 0 Then
|
||||
' oParams.Results.Add(New DocumentResultList.DocumentResult() With {
|
||||
' .Title = "FlowSearchXYZ",
|
||||
' .Datatable = oDTDocResult
|
||||
' })
|
||||
' Dim oForm As New frmDocumentResultList(My.LogConfig, _Environment, oParams)
|
||||
|
||||
' AddHandler oForm.NeedsRefresh, AddressOf Form_NeedsRefresh
|
||||
|
||||
' oForm.Show()
|
||||
' Else
|
||||
' bsiStatus.Caption = "No Results"
|
||||
' End If
|
||||
' Else
|
||||
' bsiStatus.Caption = "Error in FlowSearch - Check Your log"
|
||||
' End If
|
||||
'End Function
|
||||
|
||||
'Private Function GetDateConstraint(pDateConstraint As DateConstraint) As String
|
||||
' Select Case pDateConstraint
|
||||
' Case DateConstraint.Today
|
||||
@@ -231,204 +491,13 @@ Public Class frmFlowSearch1
|
||||
' End Try
|
||||
'End Function
|
||||
|
||||
Private Sub cmbLimitationDateAttr_SelectedValueChanged(sender As Object, e As EventArgs) Handles cmbLimitationDateAttr.SelectedValueChanged
|
||||
If cmbLimitationDateAttr.SelectedIndex <> -1 Then
|
||||
Try
|
||||
|
||||
Dim oEditValue As String = cmbLimitationDateAttr.SelectedItem.ToString
|
||||
|
||||
If oEditValue = IDB_ADDED_WHEN_String_German Or oEditValue = IDB_ADDED_WHEN_String_Englisch Then
|
||||
AttributeSearch = SEARCH_FACT_DATE_DEFAULT
|
||||
Else
|
||||
AttributeSearch = oEditValue
|
||||
'SEARCH_FACT_DATE = $"MONTH(GRPDATE.[{SEARCH_FACT_DATE_ATTRIBUTE}]) <> 13"
|
||||
End If
|
||||
'SearchContent()
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub frmFlowSearch1_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Logger = My.LogConfig.GetLogger()
|
||||
|
||||
Try
|
||||
If My.Application.User.Language = "de-DE" Then
|
||||
cmbLimitationDateAttr.Items.Add(IDB_ADDED_WHEN_String_German)
|
||||
Else
|
||||
cmbLimitationDateAttr.Items.Add(IDB_ADDED_WHEN_String_Englisch)
|
||||
End If
|
||||
'Dim oDT As DataTable = My.DatabaseIDB.GetDatatable($"SELECT * FROM VWIDB_BE_ATTRIBUTE WHERE TYPE_ID IN (5,6) AND LANG_ID = {My.Application.User.LanguageId}")
|
||||
|
||||
For Each oRow As DataRow In My.Tables.DTIDB_ATTRIBUTE.Rows
|
||||
If CBool(oRow.Item("SYS_ATTRIBUTE")) = False And (oRow.Item("TYP_ID") = 5 Or oRow.Item("TYP_ID") = 6) Then
|
||||
cmbLimitationDateAttr.Items.Add(oRow.Item("ATTR_TITLE"))
|
||||
End If
|
||||
|
||||
Next
|
||||
_Environment = My.Application.GetEnvironment
|
||||
'Dim editor As BarEditItem = BarEditItemDate
|
||||
' editor = TryCast(BarEditItemDate, ComboBoxEdit)
|
||||
If My.Application.User.Language = "de-DE" Then
|
||||
cmbLimitationDateAttr.SelectedIndex = 0
|
||||
' BarEditItemDate.EditValue = "Erstellt Wann"
|
||||
Else
|
||||
cmbLimitationDateAttr.SelectedIndex = 1
|
||||
' BarEditItemDate.EditValue = "Added When"
|
||||
End If
|
||||
|
||||
For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
|
||||
If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_BASE Then
|
||||
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
|
||||
Dim osql = $"EXEC PRIDB_SEARCH_AUTOSUGGEST '{My.Application.User.Language}',{My.Application.User.UserId}"
|
||||
Dim oDTSuggest As DataTable
|
||||
oDTSuggest = My.Database.GetDatatableIDB(osql)
|
||||
Dim collection As AutoCompleteStringCollection = New AutoCompleteStringCollection
|
||||
For Each orow As DataRow In oDTSuggest.Rows
|
||||
collection.Add(orow.Item("TERM"))
|
||||
Next
|
||||
|
||||
|
||||
txtSearchInput.MaskBox.AutoCompleteSource = AutoCompleteSource.CustomSource
|
||||
txtSearchInput.MaskBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
|
||||
txtSearchInput.MaskBox.AutoCompleteCustomSource = collection
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
Me.BringToFront()
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Async Function BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) As Threading.Tasks.Task Handles BarButtonItem1.ItemClick
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
|
||||
Try
|
||||
Await ExecuteSearch()
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Finally
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
End Try
|
||||
End Function
|
||||
Private Async Function ExecuteSearch() As Threading.Tasks.Task
|
||||
Dim oSearchTerm = txtSearchInput.Text
|
||||
Dim oParams = New DocumentResultList.Params() With {
|
||||
.WindowGuid = "FlowSearch",
|
||||
.WindowTitle = GetResultWindowString(oSearchTerm),
|
||||
.OperationModeOverride = Modules.ZooFlow.Constants.OperationMode.ZooFlow,
|
||||
.ProfileGuid = 354522,
|
||||
.ColumnNames = New DocumentResultList.ColumnNames With {
|
||||
.ObjectIdColumn = "DocID"
|
||||
}
|
||||
}
|
||||
|
||||
Dim oP3 = $"{AttributeSearch}~{DateConstraint}"
|
||||
If ExplizitDate Then
|
||||
Dim oDate2 As Date
|
||||
If Not IsNothing(DateEditTill.EditValue) Then
|
||||
oDate2 = CDate(DateEditTill.EditValue)
|
||||
Else
|
||||
oDate2 = CDate(DateEditFrom.EditValue)
|
||||
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 = $"{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(BaseSearchSQL)
|
||||
If oDTDocResult.Rows.Count > 0 Then
|
||||
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
|
||||
.Title = "FlowSearchXYZ",
|
||||
.Datatable = oDTDocResult
|
||||
})
|
||||
Dim oForm As New frmDocumentResultList(My.LogConfig, _Environment, oParams)
|
||||
|
||||
AddHandler oForm.NeedsRefresh, AddressOf Form_NeedsRefresh
|
||||
|
||||
oForm.Show()
|
||||
Else
|
||||
bsiStatus.Caption = "No Results"
|
||||
End If
|
||||
Else
|
||||
bsiStatus.Caption = "Error in FlowSearch - Check Your log"
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub Form_NeedsRefresh(sender As Object, e As Integer)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Async Function txtSearchInput_KeyUp(sender As Object, e As KeyEventArgs) As Threading.Tasks.Task Handles txtSearchInput.KeyUp
|
||||
If e.KeyCode = Keys.Return Then
|
||||
If txtSearchInput.Text = String.Empty Then
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
|
||||
Try
|
||||
Await ExecuteSearch()
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Finally
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
End Try
|
||||
End If
|
||||
End Function
|
||||
Private Function GetResultWindowString(SearchContent As String) As String
|
||||
If SearchContent <> String.Empty Then
|
||||
If My.Application.User.Language = State.UserState.LANG_DE_DE Then
|
||||
|
||||
Return $"Suche Nach '{txtSearchInput.Text}'"
|
||||
Else
|
||||
Return $"Search For '{txtSearchInput.Text}'"
|
||||
End If
|
||||
Else
|
||||
If My.Application.User.Language = State.UserState.LANG_DE_DE Then
|
||||
Return $"Suche Datumsbegrenzt"
|
||||
Else
|
||||
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
|
||||
txtSearchInput.Text = ""
|
||||
ResetTogglesDate()
|
||||
ToggleSwitchDateto.IsOn = False
|
||||
ExplizitDate = False
|
||||
End Sub
|
||||
|
||||
Private Sub ToggleSwitch1_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchDateto.Toggled
|
||||
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
|
||||
|
||||
If oToggle.IsOn Then
|
||||
DateEditTill.Enabled = True
|
||||
lblDatefrom.Text = "Datum von"
|
||||
Else
|
||||
DateEditTill.Enabled = False
|
||||
lblDatefrom.Text = "Datum"
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub DateEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles DateEditFrom.EditValueChanged
|
||||
Dim oDateFrom = DateEditFrom.EditValue
|
||||
If Not IsNothing(oDateFrom) Then
|
||||
ResetTogglesDate()
|
||||
ExplizitDate = True
|
||||
End If
|
||||
End Sub
|
||||
'Private Enum DateConstraintEnum
|
||||
' Today
|
||||
' Yesterday
|
||||
' Last7Days
|
||||
' CurrentYear
|
||||
' LastYear
|
||||
' CurrentMonth
|
||||
' LastMonth
|
||||
'End Enum
|
||||
End Class
|
||||
Reference in New Issue
Block a user