All pastes #793484 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-22 09:24 UTC
rendered paste body
Imports LN
Imports EN

Public Class FrmBuscarAreaEducativa
    Private gestorAreaEducativa As New AreaEducativaLN
    Private objAreaEducativaEN As New AreaEducativaEN
    'Private objAreaEducativaAD As New AreaEducativaAD
    Private strAccion As String
    Public listaAreasEducativasBuscadas As New List(Of AreaEducativaEN)
    Public ultimoItemSeleccionado As Integer


    Public Sub New(ByVal strAccion As String)
        ' Llamada necesaria para el Diseñador de Windows Forms.
        InitializeComponent()
        Me.strAccion = strAccion
        If Me.strAccion = "buscar" Then
            Me.BtnEliminar.Visible = False
        End If
        If Me.strAccion = "mantener" Then
            Me.Text = "Mantenimiento de Área Educativa"
        End If
        ' Agregue cualquier inicialización después de la llamada a InitializeComponent().

    End Sub


    'Buscar Area Educativa x nombre
    Public Sub buscarAreaEducativaNombre()
        Dim strNombre As String = Me.TbxNombre.Text
        'valido que minimo haya ingresado 2 caracteres
        If (strNombre.Length < 2) Then
            MessageBox.Show("Debe ingresar al menos 2 caracteres", "Buscar Área Educativa", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            'llenando el datagrid:
            Me.DtgResultados.DataSource = Me.gestorAreaEducativa.buscarNombre(strNombre).Tables("Table")
        End If
    End Sub


    Private Sub BtnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBuscar.Click
        'buscarAreaEducativaNombre()
        'validar que al menos haya ingresado 2 caracteres
        'If (Me.TbxCodigo.Text.Length > 0) Then
        '    If (Me.TbxCodigo.Text.Length < 2) Then
        '        MessageBox.Show("Debe ingresar al menos 2 caracteres", "Buscar Área Educativa", MessageBoxButtons.OK, MessageBoxIcon.Error)
        '    End If
        'Else
        '    If (Me.TbxNombre.Text.Length > 0) Then
        '        If (Me.TbxNombre.Text.Length < 2) Then
        '            MessageBox.Show("Debe ingresar al menos 2 caracteres", "Buscar Área Educativa", MessageBoxButtons.OK, MessageBoxIcon.Error)
        '        End If
        '    Else
        '        If (Me.TbxDescripcion.Text.Length > 0) Then
        '            If (Me.TbxDescripcion.Text.Length < 2) Then
        '                MessageBox.Show("Debe ingresar al menos 2 caracteres", "Buscar Área Educativa", MessageBoxButtons.OK, MessageBoxIcon.Error)
        '            End If
        '        Else
        '            Me.llenaGrillaBuscar()
        '        End If
        '    End If
        'End If
        Me.llenaGrillaBuscar()
        
    End Sub

    Public Sub llenaGrillaBuscar()
        Me.cargaGrillaBuscar()
        If (Me.listaAreasEducativasBuscadas.Count > 0) Then
            Me.DtgResultados.Rows(0).Selected = True
        End If
    End Sub

    Private Sub cargaGrillaBuscar()
        Dim tAreasEducativas As DataTable
        tAreasEducativas = cargaCabeceraGrilla()
        tAreasEducativas.Rows.Clear()
        cargaContenidoGrillaBuscar(tAreasEducativas)
        Me.DtgResultados.DataSource = Nothing
        Me.DtgResultados.DataSource = tAreasEducativas
    End Sub

    ''Listar todas las areas educativas existentes
    'Private Sub listarAreasEducativas()
    '    'llenando el datagrid: me falta ver como capturar solo algunas columnas, me parece que es
    '    'metiendo el DataSet a un DataTable
    '    Me.DtgResultados.DataSource = Me.gestorAreaEducativa.listar2.Tables("Table")
    'End Sub



    Private Sub llenaGrilla()
        cargaGrilla()
        If (Me.gestorAreaEducativa.AreasEducativas.Count > 0) Then
            Me.DtgResultados.Rows(0).Selected = True
            cargaContenidoFilaSelect()
        End If
    End Sub


    Private Sub cargaGrilla()
        Dim tAreasEducativas As DataTable
        tAreasEducativas = cargaCabeceraGrilla()
        cargaContenidoGrilla(tAreasEducativas)
        Me.DtgResultados.DataSource = tAreasEducativas
    End Sub


    Private Sub cargaContenidoGrilla(ByVal tAreaEducativa As DataTable)
        Dim objAreaEducativaLN As New AreaEducativaLN
        Dim newRow As DataRow
        Me.gestorAreaEducativa.AreasEducativas = Me.gestorAreaEducativa.listar

        If Not IsNothing(Me.gestorAreaEducativa.AreasEducativas) Then
            If (Me.gestorAreaEducativa.AreasEducativas.Count > 0) Then
                newRow = tAreaEducativa.NewRow()
                For Each area As AreaEducativaEN In Me.gestorAreaEducativa.AreasEducativas
                    'newRow = tCurso.NewRow()
                    newRow(0) = area.IdAreaEducativa
                    newRow(1) = area.Nombre
                    newRow(2) = area.Descripcion
                    ' Add the row to the Customers table.
                    tAreaEducativa.Rows.Add(newRow)
                    newRow = tAreaEducativa.NewRow()
                Next
            End If
        End If
    End Sub


    Private Function cargaCabeceraGrilla() As DataTable
        Dim tAreaEducativa As New DataTable("AreasEducativas")
        Dim cInsCodigo As New DataColumn("Código")
        Dim cInsNombre As New DataColumn("Nombre")
        Dim cInsDescripcion As New DataColumn("Descripción")

        tAreaEducativa.Columns.Add(cInsCodigo)
        tAreaEducativa.Columns.Add(cInsNombre)
        tAreaEducativa.Columns.Add(cInsDescripcion)

        Return tAreaEducativa
    End Function


    Private Sub cargaContenidoGrillaBuscar(ByVal tCurso As DataTable)

        'por el momento solo busco por nombre
        Me.objAreaEducativaEN.IdAreaEducativa = Me.TbxCodigo.Text
        Me.objAreaEducativaEN.Nombre = Me.TbxNombre.Text
        Me.objAreaEducativaEN.Descripcion = Me.TbxDescripcion.Text

        Me.listaAreasEducativasBuscadas = Me.gestorAreaEducativa.buscar(Me.objAreaEducativaEN)

        Dim newRow As DataRow

        If Not IsNothing(Me.listaAreasEducativasBuscadas) Then
            If (Me.listaAreasEducativasBuscadas.Count > 0) Then
                newRow = tCurso.NewRow()
                For Each area As AreaEducativaEN In Me.listaAreasEducativasBuscadas
                    newRow(0) = area.IdAreaEducativa
                    newRow(1) = area.Nombre
                    newRow(2) = area.Descripcion
                    ' Add the row to the Customers table.
                    tCurso.Rows.Add(newRow)
                    newRow = tCurso.NewRow()
                Next
            End If
        End If
    End Sub


    Public Sub cargaContenidoFilaSelect()
        Dim i As Integer
        For i = 0 To Me.gestorAreaEducativa.AreasEducativas.Count - 1
            If (Me.DtgResultados.Rows(i).Selected) Then
                Me.objAreaEducativaEN = CType(Me.gestorAreaEducativa.AreasEducativas.Item(i), AreaEducativaEN)
            End If
        Next
        Me.ultimoItemSeleccionado = i
    End Sub



    Private Sub BtnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancelar.Click
        Me.Close()
    End Sub

    Private Sub BtnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        cargaContenidoFilaSelectBusqueda()
        Dim FrmModificar As New FrmModificarAreaEducativa(Me.objAreaEducativaEN, "mantener")
        FrmModificar.ShowDialog()
        'Me.Close()
    End Sub

    Public Sub cargaContenidoFilaSelectBusqueda()
        Dim i As Integer
        For i = 0 To Me.listaAreasEducativasBuscadas.Count - 1
            If (Me.DtgResultados.Rows(i).Selected) Then
                Me.objAreaEducativaEN = CType(Me.listaAreasEducativasBuscadas.Item(i), AreaEducativaEN)
            End If
        Next
    End Sub

    Private Sub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEliminar.Click
        cargaContenidoFilaSelectBusqueda()
        'primero validar que no tenga cursos asociados, 
        If (Me.gestorAreaEducativa.cursosAsociados(Me.objAreaEducativaEN)) Then
            MessageBox.Show("Existen cursos asociados al Área Educativa " + "'" + Me.objAreaEducativaEN.Nombre + "'", "Eliminar Área Educativa", MessageBoxButtons.OK, MessageBoxIcon.Error)
            'dentro del AD ya verifico la existencia del Area Educativa
        Else
            'mensajes de confirmacion
            Dim confirmacion As DialogResult = MessageBox.Show("Desea realmente eliminar el Área Educativa " + Me.objAreaEducativaEN.Nombre, "Eliminar Área Educativa", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
            If (confirmacion = Windows.Forms.DialogResult.Yes) Then
                Me.gestorAreaEducativa.eliminarAreaEducativa(Me.objAreaEducativaEN)
                'mensaje de informacion
                MessageBox.Show("Se eliminó exitosamente el Área Educativa " + "'" + Me.objAreaEducativaEN.Nombre + "'", "Eliminar Área Educativa", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
        End If
        'ejecuto nuevamente la busqueda para actualizar la grilla
        Me.llenaGrillaBuscar()
    End Sub

    Private Sub FrmBuscarAreaEducativa_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Me.llenaGrilla()
    End Sub

    Private Sub DtgResultados_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DtgResultados.CellDoubleClick

        If Me.strAccion = "buscar" Then
            cargaContenidoFilaSelectBusqueda()
            Dim FrmModificar As New FrmModificarAreaEducativa(Me.objAreaEducativaEN, "buscar")
            FrmModificar.ShowDialog()
            'Me.Close()
        End If
        If Me.strAccion = "mantener" Then
            cargaContenidoFilaSelectBusqueda()
            Dim FrmModificar As New FrmModificarAreaEducativa(Me.objAreaEducativaEN, "modificar")
            FrmModificar.ShowDialog()
            'Me.Close()
        End If
        Me.llenaGrillaBuscar()

    End Sub

    Private Sub BtnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLimpiar.Click
        Me.TbxCodigo.Text = ""
        Me.TbxNombre.Text = ""
        Me.TbxDescripcion.Text = ""
    End Sub

End Class