Imports DevExpress.XtraEditors Imports DigitalData.GUIs.ZooFlow.ClassConstants Public Class frmFlowSearch1 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 Sub ToggleSwitchToday_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchToday.Toggled, ToggleSwitchYesterday.Toggled, ToggleSwitchYear.Toggled, ToggleSwitchYear_Last.Toggled, ToggleSwitchMonth_Last.Toggled, ToggleSwitchMonth.Toggled If TOGGLE_Change = True Then Exit Sub End If Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch) If oToggle.IsOn Then TOGGLE_Change = True Dim oWHENDATE As String Select Case oToggle.Name 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 oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())") Case "ToggleSwitchLastYear" 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()) -1)") 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 oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())") 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 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)") Else oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)") End If 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 oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE())") 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 oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)") End Select SEARCH_FACT_DATE = oWHENDATE TOGGLE_Change = 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 Then LIMITATION_DATE = False End If End If End Sub Private Function GET_DATE_LIMITATION(pInput As String) As String Try If SEARCH_FACT_DATE_ATTRIBUTE = "ADDED_WHEN" Then 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 Try 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" Else SEARCH_FACT_DATE_ATTRIBUTE = 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 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 oDT.Rows cmbLimitationDateAttr.Items.Add(oRow.Item("ATTR_TITLE")) Next '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 End Sub End Class