344 lines
15 KiB
VB.net
344 lines
15 KiB
VB.net
Imports DevExpress.XtraEditors
|
|
Imports DigitalData.GUIs.Common
|
|
Imports DigitalData.GUIs.ZooFlow.ClassConstants
|
|
Imports DigitalData.Modules.Logging
|
|
Imports DigitalData.Modules.ZooFlow
|
|
|
|
Public Class frmFlowSearch1
|
|
Private _Params As ClipboardWatcherParams
|
|
Private _Environment As Environment
|
|
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 CONST_DATE_TOMORROW As String = "TOMORROW"
|
|
Private SEARCH_PARAM3
|
|
|
|
Private ExplizitDate As Boolean = False
|
|
|
|
Dim oBASESEARCH As String
|
|
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
|
|
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 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 "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
|
|
oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CONST_DATE_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
|
|
oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CONST_CR_Y_CURR)
|
|
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
|
|
oWHENDATE = GET_DATE_LIMITATION("YEAR(@ATTRIBUTE) = YEAR(GETDATE())", CONST_CR_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
|
|
oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = MONTH(GETDATE())", CONST_CR_M_CURR)
|
|
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)", CONST_CR_M_LAST)
|
|
Else
|
|
oWHENDATE = GET_DATE_LIMITATION("MONTH(@ATTRIBUTE) = (MONTH(GETDATE()) -1)", CONST_CR_M_LAST)
|
|
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())", CONST_CR_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
|
|
oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CONST_CR_YDAY)
|
|
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
|
|
oWHENDATE = GET_DATE_LIMITATION("convert(DATE,@ATTRIBUTE) = convert(DATE,GETDATE()-1)", CONST_CR_L7DAYS)
|
|
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 And ToggleSwitchLastWeek.IsOn = False And ToggleSwitchTomorrow.IsOn = False Then
|
|
|
|
LIMITATION_DATE = False
|
|
SEARCH_PARAM3 = ""
|
|
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 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
|
|
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
|
|
oBASESEARCH = oRow.Item("SQL_COMMAND")
|
|
oBASESEARCH = oBASESEARCH.Replace("@USER_ID", My.Application.User.UserId)
|
|
oBASESEARCH = oBASESEARCH.Replace("@LANG_CODE", My.Application.User.Language)
|
|
End If
|
|
Next
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
|
Logger.Error(ex)
|
|
End Try
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
|
Search_GO()
|
|
End Sub
|
|
Private Sub Search_GO()
|
|
Dim owTITLE
|
|
Dim oSearchTerm = txtSearchInput.Text
|
|
If My.Application.User.Language = "de-DE" Then
|
|
owTITLE = $"Suche nach ""{oSearchTerm}"""
|
|
End If
|
|
_Params = New ClipboardWatcherParams()
|
|
_Params.ClipboardContents = oSearchTerm
|
|
|
|
Dim oParams = New DocumentResultList.Params() With {
|
|
.WindowGuid = "FlowSearch",
|
|
.WindowTitle = GetResultWindowString(oSearchTerm),
|
|
.OperationModeOverride = Modules.ZooFlow.Constants.OperationMode.ZooFlow,
|
|
.ProfileGuid = 354522
|
|
}
|
|
|
|
Dim oP3 = $"{SEARCH_FACT_DATE_ATTRIBUTE}~{SEARCH_PARAM3}"
|
|
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 My.DatabaseIDB.ExecuteNonQuery(oProc) = True Then
|
|
oP3 = $"{SEARCH_FACT_DATE_ATTRIBUTE}~DATEPART"
|
|
End If
|
|
End If
|
|
Dim oSQL = $"EXEC PRIDB_SEARCH_TEXT_GET_RESULTS {My.Application.User.UserId},'{oSearchTerm}','{oP3}'"
|
|
|
|
If My.DatabaseIDB.ExecuteNonQuery(oSQL) = True Then
|
|
Dim oDTDocResult = My.DatabaseIDB.GetDatatable(oBASESEARCH)
|
|
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.FormClosed, AddressOf ProfileResultForm_Closed
|
|
'AddHandler oForm.NeedsRefresh, AddressOf ProfileResultForm_NeedsRefresh
|
|
|
|
'OpenForms.Add(oForm)
|
|
oForm.Show()
|
|
Else
|
|
bsiStatus.Caption = "No Results"
|
|
End If
|
|
|
|
|
|
Else
|
|
bsiStatus.Caption = "Error oin FlowSearch - Check Your log"
|
|
End If
|
|
'
|
|
|
|
End Sub
|
|
|
|
Private Sub txtSearchInput_KeyUp(sender As Object, e As KeyEventArgs) Handles txtSearchInput.KeyUp
|
|
If e.KeyCode = Keys.Return Then
|
|
If txtSearchInput.Text = String.Empty Then
|
|
Exit Sub
|
|
End If
|
|
Search_GO()
|
|
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 Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
|
Me.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_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
|
|
ExplizitDate = True
|
|
End If
|
|
|
|
End Sub
|
|
End Class |