Monorepo/GUIs.ZooFlow/Search/Old/frmFlowSearch1.vb
2022-06-02 16:41:53 +02:00

265 lines
10 KiB
VB.net

Imports DevExpress.XtraEditors
Imports DevExpress.XtraSplashScreen
Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.ZooFlow.ClassConstants
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow
Public Class frmFlowSearch1
Private Environment As Environment
Private Logger As Logger
Private SearchRunner As Search.SearchRunner
Private Property BaseSearchSQL As String
Private Property TogglesDate As List(Of ToggleSwitch)
Private Property TogglesDateChanging As Boolean = False
Private Sub ResetTogglesDate()
ResetTogglesDate(Nothing)
End Sub
Private Sub ResetTogglesDate(pExcludeToggle As ToggleSwitch)
TogglesDateChanging = True
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
TogglesDateChanging = False
End Sub
Private Sub ToggleSwitchToday_Toggled(sender As Object, e As EventArgs) Handles _
ToggleSwitchToday.Toggled,
ToggleSwitchYesterday.Toggled,
ToggleSwitchYear.Toggled,
ToggleSwitchYear_Last.Toggled,
ToggleSwitchMonth_Last.Toggled,
ToggleSwitchMonth.Toggled,
ToggleSwitchLastWeek.Toggled,
ToggleSwitchTomorrow.Toggled
If TogglesDateChanging = True Then
Exit Sub
End If
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
If oToggle.IsOn Then
TogglesDateChanging = True
Select Case oToggle.Name
Case "ToggleSwitchTomorrow"
ResetTogglesDate(ToggleSwitchTomorrow)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Tomorrow)
Case "ToggleSwitchYear"
ResetTogglesDate(ToggleSwitchYear)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.CurrentYear)
Case "ToggleSwitchYear_Last"
ResetTogglesDate(ToggleSwitchYear_Last)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Today)
Case "ToggleSwitchMonth"
ResetTogglesDate(ToggleSwitchMonth)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.CurrentMonth)
Case "ToggleSwitchMonth_Last"
ResetTogglesDate(ToggleSwitchMonth_Last)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.LastMonth)
Case "ToggleSwitchToday"
ResetTogglesDate(ToggleSwitchToday)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Today)
Case "ToggleSwitchYesterday"
ResetTogglesDate(ToggleSwitchYesterday)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Yesterday)
Case "ToggleSwitchLastWeek"
ResetTogglesDate(ToggleSwitchLastWeek)
SearchRunner.SetDateConstraint(SearchRunner.DateConstraint.Last7Days)
End Select
TogglesDateChanging = False
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
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
SearchRunner.SetDateAttribute()
Else
SearchRunner.SetDateAttribute(oEditValue)
End If
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 Search.SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch")
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
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
TextEditSearch.MaskBox.AutoCompleteSource = AutoCompleteSource.CustomSource
TextEditSearch.MaskBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
TextEditSearch.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 Sub Form_NeedsRefresh(sender As Object, e As Integer)
End Sub
Private Sub BarButtonReset_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonReset.ItemClick
TextEditSearch.Text = ""
ResetTogglesDate()
ToggleSwitchDateto.IsOn = 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()
SearchRunner.ExplicitDate = True
End If
End Sub
Private Async Sub SimpleButton1_Click(sender As Object, e As EventArgs)
RunSearch()
End Sub
Private Async Sub RunSearch()
'Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
'Try
' Dim oResult = Await SearchRunner.RunWithSearchTerm(TextEditSearch.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 Sub
Private Sub TextEditSearch_KeyUp(sender As Object, e As KeyEventArgs) Handles TextEditSearch.KeyUp
If e.KeyCode = Keys.Return Then
If TextEditSearch.Text = String.Empty Then
Return
End If
RunSearch()
End If
End Sub
Private Sub PictureEdit1_Click(sender As Object, e As EventArgs) Handles PictureEdit1.Click
RunSearch()
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
' Dim oResult = Await SearchRunner.RunWithSearchTerm(TextEditSearch.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
End Class