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