

Public Class dxwInicioAplicacion
    Public Respuesta As RespuestaInicioAplicacion
    Public ExpresionBusqueda As String
    Private _CamposBusquedaAlfabeticos() As String
    Private _CamposBusquedaAlfabeticosPorIgualdad() As String
    Private _CamposBusquedaNumericos() As String
    Public Sub New(Titulo As String, TituloCamposBusqueda As String, CamposBusquedaAlfabeticos() As String, CamposBusquedaAlfabeticosPorIgualdad() As String, CamposBusquedaNumericos() As String, TextoABuscar As String, PermitirNuevos As Boolean, PermitirBusquedaAvanzada As Boolean, Optional TextoNuevos As String = "", Optional TextoOtrasOpciones As String = "")

        ' Esta llamada es exigida por el diseñador.

        InitializeComponent()
        Me.Title = Titulo
        _CamposBusquedaAlfabeticos = CamposBusquedaAlfabeticos
        _CamposBusquedaAlfabeticosPorIgualdad = CamposBusquedaAlfabeticosPorIgualdad
        _CamposBusquedaNumericos = CamposBusquedaNumericos
        tbCamposBusqueda.Text = TituloCamposBusqueda
        teBusqueda.Text = TextoABuscar
        If Not PermitirBusquedaAvanzada Then tbBusquedaAvanzada.Visibility = Visibility.Collapsed
        If Not PermitirNuevos Then tbNuevo.Visibility = Visibility.Collapsed
        If Not PermitirBusquedaAvanzada And Not PermitirNuevos Then lgOtrasOpciones.Visibility = Visibility.Collapsed
        If TextoNuevos <> "" Then tbNuevo.Text = TextoNuevos
        If TextoOtrasOpciones <> "" Then
            tbOtrasOpciones.Text = TextoOtrasOpciones
            tbcOtrasOpciones.Visibility = Visibility.Visible
        End If
        ' Agregue cualquier inicialización después de la llamada a InitializeComponent().

    End Sub

    Private Sub HlBusquedaAvanzada_Click(sender As Object, e As RoutedEventArgs)
        DialogResult = True
        Respuesta = RespuestaInicioAplicacion.BUSQUEDA_AVANZADA
        Me.Close()
    End Sub

    Private Sub HlNuevoRegistro_Click(sender As Object, e As RoutedEventArgs)
        DialogResult = True
        Respuesta = RespuestaInicioAplicacion.NUEVO_REGISTRO
        Me.Close()
    End Sub

    Private Sub BtBuscar_Click(sender As Object, e As RoutedEventArgs)
        If Me.teBusqueda.Text.Trim <> "" Then
            ExpresionBusqueda = Utilidades.Varias.GeneraExpresionBusqueda(Me.teBusqueda.Text.Trim, Me._CamposBusquedaNumericos, Me._CamposBusquedaAlfabeticos, Me._CamposBusquedaAlfabeticosPorIgualdad)
            Respuesta = RespuestaInicioAplicacion.BUSQUEDA_RAPIDA

            Me.DialogResult = True
            Me.Close()
        End If
    End Sub

    Private Sub CommandBinding_Executed(sender As Object, e As ExecutedRoutedEventArgs)
        Me.DialogResult = False
        Me.Close()
    End Sub

    Private Sub dxwInicioAplicacion_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
        Me.teBusqueda.Focus()
    End Sub

    Private Sub HlOtrasOpciones_Click(sender As Object, e As RoutedEventArgs)
        DialogResult = True
        Respuesta = RespuestaInicioAplicacion.OTRAS_OPCIONES
        Me.Close()
    End Sub
    'Public Shared Function GeneraExpresionBusqueda(TextoAbuscar As String, CamposBusquedaNumericos() As String, CamposBusquedaAlfabeticos() As String) As String
    '    Dim Expresion As String = ""
    '    Dim Palabras = TextoAbuscar.Trim.Split(" ")
    '    For Each palabra In Palabras
    '        Dim Numero = palabra.Replace(",", ".")
    '        If CamposBusquedaNumericos.Count > 0 AndAlso Double.TryParse(Numero, Nothing) Then
    '            For Each c In CamposBusquedaNumericos
    '                Expresion &= " or " & c & "=" & Numero
    '            Next
    '        End If
    '        For Each c In CamposBusquedaAlfabeticos
    '            Expresion &= " or " & c & ".Contains(" & Chr(34) & palabra & Chr(34) & ")"
    '        Next
    '    Next
    '    Return Expresion.Substring(4)
    'End Function


End Class
Public Enum RespuestaInicioAplicacion
    BUSQUEDA_AVANZADA
    BUSQUEDA_RAPIDA
    NUEVO_REGISTRO
    OTRAS_OPCIONES
End Enum
