protected void GridView_EsquemaPrograma_RowCommand(object sender, GridViewCommandEventArgs e) { int indexSeleccionado = Convert.ToInt32(e.CommandArgument); Decimal ID_PROGRAMA_GENERAL = Convert.ToDecimal(GridView_EsquemaPrograma.DataKeys[indexSeleccionado].Values["ID_PROGRAMA_GENERAL"]); ; Decimal ID_DETALLE_GENERAL = Convert.ToDecimal(GridView_EsquemaPrograma.DataKeys[indexSeleccionado].Values["ID_DETALLE_GENERAL"]); HiddenField_ID_PROGRAMA_GENERAL.Value = ID_PROGRAMA_GENERAL.ToString(); HiddenField_ID_NODO_SELECCIONADO.Value = ID_DETALLE_GENERAL.ToString(); if (e.CommandName == "nuevo_programa") { HiddenField_TIPO_NODO_SELECCIONADO.Value = TiposNodo.SUBPROGRAMA.ToString(); MostrarFormularioCreacionSubprogramaActividad(Panel_FONDO_NUEVO_SUBPROGAMA, Panel_CONTENIDO_NUEVO_SUBPROGRAMA); Cargar(Acciones.Subprograma); Activar(Acciones.Subprograma); TextBox_DescripcionSubPrograma.Text = ""; } else { if (e.CommandName == "nueva_actividad") { HiddenField_TIPO_NODO_SELECCIONADO.Value = TiposNodo.ACTIVIDAD.ToString(); MostrarFormularioCreacionSubprogramaActividad(Panel_FONDO_ACTIVIDAD, Panel_CONTENIDO_ACTIVIDAD); Cargar(Acciones.Actividad); Activar(Acciones.Actividad); TextBox_DescripcionActividad.Text = ""; } else { if (e.CommandName == "eliminar") { Boolean programaActualizado = false; GridViewRow filaGrilla = GridView_EsquemaPrograma.Rows[indexSeleccionado]; Label textoNombreEntidad = filaGrilla.FindControl("Label_NombreSubprogramaActividad") as Label; Label textoDescripcionEntidad = filaGrilla.FindControl("Label_DescripcionProgramaActividad") as Label; if (GridView_EsquemaPrograma.DataKeys[indexSeleccionado].Values["TIPO"].ToString() == TiposNodo.ACTIVIDAD.ToString()) { Programa _prog = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaAsignaciones = _prog.ObtenerAsignacionesDeUnaActividadAProgramaEspecifico(ID_DETALLE_GENERAL); if (tablaAsignaciones.Rows.Count <= 0) { if (_prog.MensajeError != null) { Informar(Panel_FONDO_MENSAJE_ARBOL, Image_MENSAJE_ARBOL_POPUP, Panel_MENSAJES_ARBOL, Label_MENSAJE_ARBOL, _prog.MensajeError, Proceso.Error); } else { Label_TipoEntidadEliminacion.Text = TiposNodo.ACTIVIDAD.ToString(); Label1_IdentificadorEntidadEliminacion.Text = ID_DETALLE_GENERAL.ToString(); Label_DescripcionEntidadEliminacion.Text = textoNombreEntidad.Text + ": " + textoDescripcionEntidad.Text; MostrarFormularioConfirmacionEliminacionActividadSubprograma(Panel_FONDO_CONFIRMACION_ELIMINACION, Panel_CONTENIDO_CONFIRMACION_ELIMINACION); } } else { Informar(Panel_FONDO_MENSAJE_ARBOL, Image_MENSAJE_ARBOL_POPUP, Panel_MENSAJES_ARBOL, Label_MENSAJE_ARBOL, "La Actividad que intenta eliminar ya fue asignada en uno o más Programas Específicos, no puede ser eliminada del Programa General", Proceso.Advertencia); } } else { if (contarDependenciasDeIdDetalleGeneral(ID_DETALLE_GENERAL) <= 0) { Label_TipoEntidadEliminacion.Text = TiposNodo.SUBPROGRAMA.ToString(); Label1_IdentificadorEntidadEliminacion.Text = ID_DETALLE_GENERAL.ToString(); Label_DescripcionEntidadEliminacion.Text = textoNombreEntidad.Text + ": " + textoDescripcionEntidad.Text; MostrarFormularioConfirmacionEliminacionActividadSubprograma(Panel_FONDO_CONFIRMACION_ELIMINACION, Panel_CONTENIDO_CONFIRMACION_ELIMINACION); } else { Informar(Panel_FONDO_MENSAJE_ARBOL, Image_MENSAJE_ARBOL_POPUP, Panel_MENSAJES_ARBOL, Label_MENSAJE_ARBOL, "El Subprograma seleccionado tiene Actividades o SubProgramas Asociados, no puede ser eliminado.", Proceso.Advertencia); } } if (programaActualizado == true) { DataTable tablaEsquemaPrograma = ObtenerEstructuraTablaPrograma(); Cargar(tablaEsquemaPrograma); Cargar_GridView_EsquemaPrograma_DesdeTabla(tablaEsquemaPrograma); } } } } }