265 lines
10 KiB
VB.net
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 |