//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Event handler. Llamada al evento asociado al botón Buscar. </summary> /// /// <remarks> TVO Grupo DPAA2009-2010, 14/04/2010. </remarks> /// /// <exception cref="Exception"> Thrown when exception. </exception> /// /// <param name="sender"> Source of the event. </param> /// <param name="e"> Event information. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// private void buttonBuscar_Click(object sender, EventArgs e) { MetodoBusqueda = buttonBuscar_Click; int idCad = 0, idTem = 0, idCal = 0; idCad = ObtenerIdCadena(cBBCadena); idTem = ObtenerIdTematica(cBBTematica); idCal = ObtenerIdCalif(cBBCalificacion); ENPrograma prog = new ENPrograma(tBBNombreProg.Text, idTem, idCal, idCad); DataView dvResultBusq = new DataView(); try { if (Paginar) { dGVResultBProg.ClearSelection(); // Obtenemos el tamaño de la consulta TOTAL_registros = prog.obtenerTamanyoConsulta(); // Si el total de filas es inferior al número de resgistros por página, se desactiva la paginación if (TOTAL_registros <= MIN_PAGINA_registros) { throw new Exception("Excepción de paginación"); } else { // Si el total de filas obtenidas es menos que el registro que estabamos mostrando -> actualizamos el registro actual if (esDesbordamientoPagina(ACTUAL_registro)) { ACTUAL_registro = TOTAL_registros - (TOTAL_registros % PAGINA_registros) + 1; } else if (esUltimaPagina(ACTUAL_registro)) { btnPaginaSiguiente.Visible = false; btnPaginaUltima.Visible = false; } else { btnPaginaSiguiente.Visible = true; btnPaginaUltima.Visible = true; } MensajePaginacion(etInfoPAG, getNumPaginaActual(ACTUAL_registro), getNumPaginasTotales()); dvResultBusq = prog.buscarPrograma(ACTUAL_registro, PAGINA_registros); } gbMensajes.Visible = true; } else { dvResultBusq = prog.buscarPrograma(); TOTAL_registros = dvResultBusq.Table.Rows.Count; if (TOTAL_registros <= MIN_PAGINA_registros) { chkPaginacion.Enabled = false; } else { chkPaginacion.Enabled = true; } } //Si obtengo resultados, le asigno la tabla al datagrid if (dvResultBusq.Count > 0) { dGVResultBProg.DataSource = dvResultBusq; darFormatoDataGrid(); dGVResultBProg.Visible = true; } else { dGVResultBProg.Visible = false; } if (dvResultBusq.Count == 1) { MensajeSistema(labelMensSistPB, "Se ha obtenido 1 resultado.", kMensajeSistema.mCORRECTO); } else { MensajeSistema(labelMensSistPB, "Se han obtenido " + dvResultBusq.Count + " resultados.", kMensajeSistema.mCORRECTO); } gbMensajes.Visible = true; } catch (ENException enex) { if (enex.Tipo != -1) { MensajeSistema(labelMensSistPB, enex.Message, kMensajeSistema.mADVERTENCIA); } else { MensajeSistema(labelMensSistPB, enex.Message, kMensajeSistema.mERROR); } gbMensajes.Visible = true; // MessageBox.Show(enex.Message); } catch (Exception ex) { chkPaginacion.Checked = false; chkPaginacion_CheckedChanged((CheckBox)chkPaginacion, null); MensajeSistema(labelMensSistPB, "Se ha desactivado la paginación debido a que sólo hay 1 página", kMensajeSistema.mADVERTENCIA); chkPaginacion.Enabled = false; } }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Event handler. LLamada al evento asociado al botón Insertar. </summary> /// /// <remarks> TVO DPAA 2009-2010. </remarks> /// /// <param name="sender"> Source of the event. </param> /// <param name="e"> Event information. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// //------------------------------------------------------Insertando private void buttonInsertarProg_Click(object sender, EventArgs e) { int insertadas = 0; int idCad = 0, idTem = 0, idCal = 0, idProg = 0; idCad = ObtenerIdCadena(cBICadena); idTem = ObtenerIdTematica(cBITematica); idCal = ObtenerIdCalif(cBICalificacion); ENPrograma programa = new ENPrograma(idCad, idTem, idCal, tBNombreProg.Text, tBDescripcion.Text, cBActProg.Checked, cBNovedad.Checked); try { TbSeccionBaseErrorProvider.Dispose(); if (buttonInsertarProg.Text == "Insertar") { if (ValidaFormulario(tBNombreProg.Text, cBITematica.Text, cBICalificacion.Text, cBICadena.Text, tBDescripcion.Text, cBActProg.Checked, cBNovedad.Checked)) { DataView dvProgramaExiste = new DataView(); ENPrograma programaExiste = new ENPrograma(tBNombreProg.Text); //Se busca un programa con ese nombre y cualquier tipo dvProgramaExiste = programaExiste.buscarPrograma(); if (dvProgramaExiste.Count == 0) //No existe el programa que queremos insertar { insertadas = programa.InsertarPrograma(); if (insertadas > 0) { MensajeSistema(labelMensajeSist, "Inserción correcta", kMensajeSistema.mCORRECTO); } else { MensajeSistema(labelMensajeSist, "ERROR: La inserción no se pudo realizar.", kMensajeSistema.mERROR); } } else { MensajeSistema(labelMensajeSist, "ERROR: El programa ya existe.", kMensajeSistema.mERROR); } gBMensajesSist.Visible = true; } else { gBMensajesSist.Visible = false; } } else { if (buttonInsertarProg.Text == "Modificar") { int id = int.Parse(dGVResultBProg.SelectedRows[0].Cells["idProg"].Value.ToString()); programa.Id_Programa = id; int modificadas = programa.modificarPrograma(); if (modificadas > 0) { MensajeSistema(labelMensajeSist, "Modificación correcta", kMensajeSistema.mCORRECTO); buttonBuscar_Click((object)buttonBuscar, null); } else { MensajeSistema(labelMensajeSist, "ERROR: La modificación no se pudo realizar.", kMensajeSistema.mERROR); } gBMensajesSist.Visible = true; } } } catch (ENException enex) { MensajeSistema(labelMensajeSist, enex.Message, kMensajeSistema.mERROR); gBMensajesSist.Visible = true; } }