private void Cargar(Listas lista, DropDownList drop)
    {
        Programa.Areas AREA_PROGRAMA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        Programa _prog = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        ListItem item;

        drop.Items.Clear();

        switch (lista)
        {
            case Listas.SubProgramas:

                Decimal ID_PROGRAMA_GENERAL = Convert.ToDecimal(HiddenField_ID_PROGRAMA_GENERAL.Value);

                DataTable tablaProgramas = _prog.ObtenerSubProgramasDeUnProgramaGeneral(ID_PROGRAMA_GENERAL);

                drop.Items.Clear();
                drop.Items.Add(new ListItem("Seleccione...", ""));

                foreach (DataRow fila in tablaProgramas.Rows)
                {
                    Decimal ID_DETALLE_GENERAL = Convert.ToDecimal(fila["ID_DETALLE_GENERAL"]);
                    Decimal ID_SUB_PROGRAMA = Convert.ToDecimal(fila["ID_SUBPROGRAMA"]);

                    DataTable tablaActividadesPrograma = _prog.ObtenerActividadesPorDetalleGeneralPadre(ID_DETALLE_GENERAL);

                    if (tablaActividadesPrograma.Rows.Count > 0)
                    {
                        drop.Items.Add(new ListItem(fila["NOMBRE_SUB_PROGRAMA"].ToString().Trim(), ID_SUB_PROGRAMA.ToString()));
                    }
                }

                drop.DataBind();
                break;
            case Listas.EstadosActividades:
                drop.Items.Clear();
                parametro _parametroAC = new parametro(Session["idEmpresa"].ToString());
                DataTable tablaParametrosAC = _parametroAC.ObtenerParametrosPorTabla(tabla.PARAMETROS_ESTADO_ACTIVIDAD_RSE_GLOBAL);
                ListItem itemAC = new ListItem("Seleccione...", "");
                drop.Items.Add(itemAC);
                foreach (DataRow fila in tablaParametrosAC.Rows)
                {
                    itemAC = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
                    drop.Items.Add(itemAC);
                }
                drop.DataBind();
                break;
            case Listas.TiposActividad:
                drop.Items.Clear();
                TipoActividad _tipoActividad = new TipoActividad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaParametrosTA = _tipoActividad.ObtenerTiposActividadPorAreayEstado(AREA_PROGRAMA, true);
                drop.Items.Add(new ListItem("Seleccione...", ""));

                foreach (DataRow fila in tablaParametrosTA.Rows)
                {
                    drop.Items.Add(new ListItem(fila["NOMBRE"].ToString(), fila["NOMBRE"].ToString()));
                }
                drop.DataBind();
                break;
            case Listas.SectoresActividad:
                drop.Items.Clear();
                parametro _parametroSA = new parametro(Session["idEmpresa"].ToString());
                DataTable tablaParametrosSA = _parametroSA.ObtenerParametrosPorTabla(tabla.PARAMETROS_SECTORES_ACTIVIDAD);
                drop.Items.Add(new ListItem("Seleccione...", ""));
                foreach (DataRow fila in tablaParametrosSA.Rows)
                {
                    drop.Items.Add(new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString()));
                }
                drop.DataBind();
                break;
            case Listas.Regionales:
                drop.Items.Clear();
                regional _regional = new regional(Session["idEmpresa"].ToString());
                DataTable tablaRegionales = _regional.ObtenerTodasLasRegionales();

                item = new ListItem("Seleccione...", "");
                drop.Items.Add(item);

                foreach (DataRow fila in tablaRegionales.Rows)
                {
                    item = new ListItem(fila["NOMBRE"].ToString(), fila["ID_REGIONAL"].ToString());
                    drop.Items.Add(item);
                }

                drop.DataBind();
                break;
            case Listas.EntidadesCOlaboradoras:
                EntidadColaboradora _entidad = new EntidadColaboradora(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                Programa.Areas AREA_ENTIDAD = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

                DataTable tablaEntidades = _entidad.ObtenerTodasEntidadesPorAreaYEstado(AREA_ENTIDAD, true);

                drop.Items.Clear();
                drop.Items.Add(new ListItem("Seleccione...",""));

                foreach (DataRow fila in tablaEntidades.Rows)
                {
                    item = new ListItem(fila["NOMBRE"].ToString(), fila["ID_ENTIDAD"].ToString());
                    drop.Items.Add(item);
                }

                drop.DataBind();

                break;
            case Listas.Encargados:
                DataTable tablaEncargados = _prog.ObtenerUsuariosSistemaActivos();

                drop.Items.Clear();

                drop.Items.Add(new ListItem("Seleccione...",""));

                foreach (DataRow fila in tablaEncargados.Rows)
                {
                    item = new ListItem(fila["NOMBRE_USUARIO"].ToString(), fila["USU_LOG"].ToString());
                    drop.Items.Add(item);
                }

                drop.DataBind();

                break;
            case Listas.MotivosCancelacion:
                MotivoProgComp _motivoCancelacion = new MotivoProgComp(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                DataTable tablaMotivosCancelacion = _motivoCancelacion.ObtenerMotivosActProgCompPorAreaYTipo(AREA_PROGRAMA, "CANCELACION");

                drop.Items.Add(new ListItem("Seleccione...", ""));

                foreach (DataRow fila in tablaMotivosCancelacion.Rows)
                {
                    if (fila["ACTIVO"].ToString() == "True")
                    {
                        drop.Items.Add(new ListItem(fila["MOTIVO"].ToString(), fila["MOTIVO"].ToString()));
                    }
                }

                drop.DataBind();

                break;
            case Listas.MotivosReprogramacion:
                MotivoProgComp _motivoRepro = new MotivoProgComp(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                DataTable tablaMotivosRepro = _motivoRepro.ObtenerMotivosActProgCompPorAreaYTipo(AREA_PROGRAMA, "REPROGRAMACION");

                drop.Items.Add(new ListItem("Seleccione...", ""));

                foreach (DataRow fila in tablaMotivosRepro.Rows)
                {
                    if (fila["ACTIVO"].ToString() == "True")
                    {
                        drop.Items.Add(new ListItem(fila["MOTIVO"].ToString(), fila["MOTIVO"].ToString()));
                    }
                }

                drop.DataBind();

                break;
            case Listas.ResponsablesCompromisos:
                DataTable tablaResponsables = _prog.ObtenerUsuariosSistemaActivos();

                drop.Items.Clear();

                drop.Items.Add(new ListItem("Seleccione...",""));
                drop.Items.Add(new ListItem("CLIENTE", "CLIENTE"));

                foreach (DataRow fila in tablaResponsables.Rows)
                {
                    item = new ListItem(fila["NOMBRE_USUARIO"].ToString(), fila["USU_LOG"].ToString());
                    drop.Items.Add(item);
                }

                drop.DataBind();
                break;
        }
    }
    private void ResultadosActividad()
    {
        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        tools _tools = new tools();

        Decimal ID_ACTIVIDAD = Convert.ToDecimal(HiddenField_ID_ACTIVIDAD.Value);
        Decimal ID_DETALLE = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

        Decimal PRESUPUESTO_FINAL = Convert.ToDecimal(TextBox_PresupuestoFinal.Text);
        Int32 PERSONAL_FINAL = Convert.ToInt32(TextBox_PersonalFinal.Text);

        Int32 PUNTUACION_LOG_BUENA = 0;
        Int32 PUNTUACION_LOG_REGULAR = 0;
        Int32 PUNTUACION_LOG_MALA = 0;

        Int32 PUNTUACION_INSTRUCTOR_BUENA = 0;
        Int32 PUNTUACION_INSTRUCTOR_REGULAR = 0;
        Int32 PUNTUACION_INSTRUCTOR_MALA = 0;

        Int32 PUNTUACION_INSTALACIONES_BUENA = 0;
        Int32 PUNTUACION_INSTALACIONES_REGULAR = 0;
        Int32 PUNTUACION_INSTALACIONES_MALA = 0;

        try { PUNTUACION_LOG_BUENA = Convert.ToInt32(TextBox_LogisticaBuena.Text); }
        catch { PUNTUACION_LOG_BUENA = 0; }

        try { PUNTUACION_LOG_REGULAR = Convert.ToInt32(TextBox_LogisticaRegular.Text); }
        catch { PUNTUACION_LOG_REGULAR = 0; }

        try { PUNTUACION_LOG_MALA = Convert.ToInt32(TextBox_LogisticaMala.Text); }
        catch { PUNTUACION_LOG_MALA = 0; }

        try { PUNTUACION_INSTRUCTOR_BUENA = Convert.ToInt32(TextBox_InstructorBuena.Text); }
        catch { PUNTUACION_INSTRUCTOR_BUENA = 0; }

        try { PUNTUACION_INSTRUCTOR_REGULAR = Convert.ToInt32(TextBox_InstructorRegular.Text); }
        catch { PUNTUACION_INSTRUCTOR_REGULAR = 0; }

        try { PUNTUACION_INSTRUCTOR_MALA = Convert.ToInt32(TextBox_InstructorMala.Text); }
        catch { PUNTUACION_INSTRUCTOR_MALA = 0; }

        try { PUNTUACION_INSTALACIONES_BUENA = Convert.ToInt32(TextBox_InstalacionesBuena.Text); }
        catch { PUNTUACION_INSTALACIONES_BUENA = 0; }

        try { PUNTUACION_INSTALACIONES_REGULAR = Convert.ToInt32(TextBox_InstalacionesRegular.Text); }
        catch { PUNTUACION_INSTALACIONES_REGULAR = 0; }

        try { PUNTUACION_INSTALACIONES_MALA = Convert.ToInt32(TextBox_InstalacionesMala.Text); }
        catch { PUNTUACION_INSTALACIONES_MALA = 0; }

        Int32 TotalLogistica = PUNTUACION_LOG_BUENA + PUNTUACION_LOG_MALA + PUNTUACION_LOG_REGULAR;
        Int32 TotalInstructor = PUNTUACION_INSTRUCTOR_BUENA + PUNTUACION_INSTRUCTOR_MALA + PUNTUACION_INSTRUCTOR_REGULAR;
        Int32 TotalInstalaciones = PUNTUACION_INSTALACIONES_BUENA + PUNTUACION_INSTALACIONES_MALA + PUNTUACION_INSTALACIONES_REGULAR;

        if (TotalLogistica > PERSONAL_FINAL)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de encuestas totales de LOGISTICA (" + TotalLogistica.ToString() + ") no puede superar el número de participantes (" + PERSONAL_FINAL.ToString() + ") de la encuesta", Proceso.Advertencia);
        }
        else
        {
            if (TotalInstructor > PERSONAL_FINAL)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de encuestas totales de INSTRUCTOR (" + TotalInstructor.ToString() + ") no puede superar el número de participantes (" + PERSONAL_FINAL.ToString() + ") de la encuesta", Proceso.Advertencia);
            }
            else
            {
                if (TotalInstalaciones > PERSONAL_FINAL)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de encuestas totales de INSTALACIONES (" + TotalInstalaciones.ToString() + ") no puede superar el número de participantes (" + PERSONAL_FINAL.ToString() + ") de la encuesta", Proceso.Advertencia);
                }
                else
                {
                    Byte[] ARCHIVO_ENCUESTA = null;
                    Int32 ARCHIVO_ENCUESTA_TAMANO = 0;
                    String ARCHIVO_ENCUESTA_EXTENSION = null;
                    String ARCHIVO_ENCUESTA_TYPE = null;
                    if (FileUpload_ArchivoEncuesta.HasFile == true)
                    {
                        using (BinaryReader reader = new BinaryReader(FileUpload_ArchivoEncuesta.PostedFile.InputStream))
                        {
                            ARCHIVO_ENCUESTA = reader.ReadBytes(FileUpload_ArchivoEncuesta.PostedFile.ContentLength);
                            ARCHIVO_ENCUESTA_TAMANO = FileUpload_ArchivoEncuesta.PostedFile.ContentLength;
                            ARCHIVO_ENCUESTA_TYPE = FileUpload_ArchivoEncuesta.PostedFile.ContentType;
                            ARCHIVO_ENCUESTA_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ArchivoEncuesta.PostedFile.FileName);
                        }
                    }

                    List<Asistencia> listaAsistencia = new List<Asistencia>();

                    for (int i = 0; i < GridView_ControlAsistencia.Rows.Count; i++)
                    {
                        CheckBox check = GridView_ControlAsistencia.Rows[i].FindControl("CheckBox_Asistencia") as CheckBox;

                        if (check.Checked == true)
                        {
                            Decimal ID_EMPLEADO = Convert.ToDecimal(GridView_ControlAsistencia.DataKeys[i].Values["ID_EMPLEADO"]);
                            Decimal ID_SOLICITUD = Convert.ToDecimal(GridView_ControlAsistencia.DataKeys[i].Values["ID_SOLICITUD"]);

                            Asistencia _asistenciaParaLista = new Asistencia();

                            _asistenciaParaLista.ID_EMPLEADO = ID_EMPLEADO;
                            _asistenciaParaLista.ID_SOLICITUD = ID_SOLICITUD;
                            _asistenciaParaLista.ID_DETALLE = ID_DETALLE;

                            listaAsistencia.Add(_asistenciaParaLista);
                        }
                    }

                    if ((listaAsistencia.Count <= 0) && (HiddenField_SECCIONES_HABILITADAS.Value.Contains("Control Asistencia") == true))
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Para porder continuar debe diligenciar la asistencia de los colaboradores.", Proceso.Advertencia);
                    }
                    else
                    {
                        Byte[] ARCHIVO_ASISTENCIA = null;
                        Int32 ARCHIVO_ASISTENCIA_TAMANO = 0;
                        String ARCHIVO_ASISTENCIA_EXTENSION = null;
                        String ARCHIVO_ASISTENCIA_TYPE = null;
                        if (FileUpload_ArchivoAsistencia.HasFile == true)
                        {
                            using (BinaryReader reader = new BinaryReader(FileUpload_ArchivoAsistencia.PostedFile.InputStream))
                            {
                                ARCHIVO_ASISTENCIA = reader.ReadBytes(FileUpload_ArchivoAsistencia.PostedFile.ContentLength);
                                ARCHIVO_ASISTENCIA_TAMANO = FileUpload_ArchivoAsistencia.PostedFile.ContentLength;
                                ARCHIVO_ASISTENCIA_TYPE = FileUpload_ArchivoAsistencia.PostedFile.ContentType;
                                ARCHIVO_ASISTENCIA_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ArchivoAsistencia.PostedFile.FileName);
                            }
                        }

                        String RESULTADOS_ENCUESTA = "";

                        RESULTADOS_ENCUESTA = Programa.TemasEncuesta.LOGISTICA.ToString() + ":" + Programa.CalificacionesTemasEncuesta.BUENA.ToString() + "=" + PUNTUACION_LOG_BUENA.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.LOGISTICA.ToString() + ":" + Programa.CalificacionesTemasEncuesta.REGULAR.ToString() + "=" + PUNTUACION_LOG_REGULAR.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.LOGISTICA.ToString() + ":" + Programa.CalificacionesTemasEncuesta.MALA.ToString() + "=" + PUNTUACION_LOG_MALA.ToString();

                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTRUCTOR.ToString() + ":" + Programa.CalificacionesTemasEncuesta.BUENA.ToString() + "=" + PUNTUACION_INSTRUCTOR_BUENA.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTRUCTOR.ToString() + ":" + Programa.CalificacionesTemasEncuesta.REGULAR.ToString() + "=" + PUNTUACION_INSTRUCTOR_REGULAR.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTRUCTOR.ToString() + ":" + Programa.CalificacionesTemasEncuesta.MALA.ToString() + "=" + PUNTUACION_INSTRUCTOR_MALA.ToString();

                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTALACIONES.ToString() + ":" + Programa.CalificacionesTemasEncuesta.BUENA.ToString() + "=" + PUNTUACION_INSTALACIONES_BUENA.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTALACIONES.ToString() + ":" + Programa.CalificacionesTemasEncuesta.REGULAR.ToString() + "=" + PUNTUACION_INSTALACIONES_REGULAR.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTALACIONES.ToString() + ":" + Programa.CalificacionesTemasEncuesta.MALA.ToString() + "=" + PUNTUACION_INSTALACIONES_MALA.ToString();

                        Boolean correcto = true;

                        if (HiddenField_SECCIONES_HABILITADAS.Value.Contains("Resultados Encuesta") == true)
                        {
                            correcto = VerificarEstandarEncuesta(PUNTUACION_LOG_BUENA, PUNTUACION_LOG_REGULAR, PUNTUACION_LOG_MALA, PUNTUACION_INSTRUCTOR_BUENA, PUNTUACION_INSTRUCTOR_REGULAR, PUNTUACION_INSTRUCTOR_MALA, PUNTUACION_INSTALACIONES_BUENA, PUNTUACION_INSTALACIONES_REGULAR, PUNTUACION_INSTALACIONES_MALA);
                        }

                        if (correcto == true)
                        {
                            List<EntidadColaboradora> listaEntidadesColaboradoras = new List<EntidadColaboradora>();
                            for (int i = 0; i < GridView_EntidadesColaboradoras.Rows.Count; i++)
                            {
                                EntidadColaboradora entidadParaLista = new EntidadColaboradora();

                                DropDownList dropGrilla = GridView_EntidadesColaboradoras.Rows[i].FindControl("DropDownList_EntidadesColoboradoras") as DropDownList;

                                TextBox texto = GridView_EntidadesColaboradoras.Rows[i].FindControl("TextBox_DescripcionEntidad") as TextBox;

                                entidadParaLista.DESCRIPCION = texto.Text.Trim();
                                entidadParaLista.ID_ENTIDAD = Convert.ToDecimal(dropGrilla.SelectedValue);
                                entidadParaLista.ID_ENTIDAD_COLABORA = Convert.ToDecimal(GridView_EntidadesColaboradoras.DataKeys[i].Values["ID_ENTIDAD_COLABORA"]);

                                listaEntidadesColaboradoras.Add(entidadParaLista);
                            }

                            List<MaestraCompromiso> listaCompromisos = new List<MaestraCompromiso>();
                            for (int i = 0; i < GridView_Compromisos.Rows.Count; i++)
                            {
                                GridViewRow filaGrilla = GridView_Compromisos.Rows[i];

                                MaestraCompromiso compromisoParaLista = new MaestraCompromiso();

                                Decimal ID_MAESTRA_COMPROMISO = Convert.ToDecimal(GridView_Compromisos.DataKeys[i].Values["ID_MAESTRA_COMPROMISO"]);

                                Decimal ID_ACTIVIDAD_GENERA = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

                                String NOMBRE_ACTIVIDAD_GENERA = DropDownList_IdActividad.SelectedItem.Text;

                                String TIPO_GENERA = Programa.TiposGeneraCompromiso.ACTIVIDAD.ToString();

                                TextBox textoCompromiso = filaGrilla.FindControl("TextBox_Compromiso") as TextBox;
                                String COMPROMISO = textoCompromiso.Text.Trim();

                                DropDownList dropGrilla = filaGrilla.FindControl("DropDownList_ResponsableCompromiso") as DropDownList;
                                String USU_LOG_RESPONSABLE = dropGrilla.SelectedValue;

                                TextBox textoFechaP = filaGrilla.FindControl("TextBox_FechaCompromiso") as TextBox;
                                DateTime FECHA_P = new DateTime();
                                try
                                {
                                    FECHA_P = Convert.ToDateTime(textoFechaP.Text);
                                }
                                catch
                                {
                                    FECHA_P = new DateTime();
                                }

                                DateTime FECHA_EJECUCION = new DateTime();

                                TextBox textoObservaciones = filaGrilla.FindControl("TextBox_ObservacionesCompromiso") as TextBox;
                                String OBSERVACIONES = textoObservaciones.Text.Trim();

                                Label textoEstado = filaGrilla.FindControl("Label_EstadoCompromiso") as Label;
                                String ESTADO = "CERRADO";
                                if (USU_LOG_RESPONSABLE.ToUpper() != "CLIENTE")
                                {
                                    ESTADO = textoEstado.Text;
                                }

                                compromisoParaLista.COMPROMISO = COMPROMISO;
                                compromisoParaLista.ESTADO = ESTADO;
                                compromisoParaLista.FECHA_EJECUCION = FECHA_EJECUCION;
                                compromisoParaLista.FECHA_P = FECHA_P;
                                compromisoParaLista.ID_ACTIVIDAD_GENERA = ID_ACTIVIDAD_GENERA;
                                compromisoParaLista.ID_MAESTRA_COMPROMISO = ID_MAESTRA_COMPROMISO;
                                compromisoParaLista.NOMBRE_ACTIVIDAD_GENERA = NOMBRE_ACTIVIDAD_GENERA;
                                compromisoParaLista.OBSERVACIONES = OBSERVACIONES;
                                compromisoParaLista.USU_LOG_RESPONSABLE = USU_LOG_RESPONSABLE;
                                compromisoParaLista.TIPO_GENERA = TIPO_GENERA;

                                listaCompromisos.Add(compromisoParaLista);
                            }

                            String CONCLUSION_ACTIVIDAD = TextBox_ConclusionesActividad.Text.Trim();
                            String DIRECCION_IMAGEN_REPRESENTATIVA = null;
                            if (FileUpload_ImagenRepresentativa.HasFile == false)
                            {
                                DIRECCION_IMAGEN_REPRESENTATIVA = null;
                            }
                            else
                            {
                                String[] extensionesImagenPermitidas = ConfigurationManager.AppSettings["extensionesImagenesPermitidas"].ToLower().Split(',');
                                String ext = System.IO.Path.GetExtension(FileUpload_ImagenRepresentativa.PostedFile.FileName).ToLower();
                                Boolean isValidFile = false;
                                for (int i = 0; i < extensionesImagenPermitidas.Length; i++)
                                {
                                    if (ext == "." + extensionesImagenPermitidas[i])
                                    {
                                        isValidFile = true;
                                        break;
                                    }
                                }

                                if (isValidFile == true)
                                {
                                    Guid id = Guid.NewGuid();

                                    String nombreUnicoParaImagen = id.ToString();

                                    String filePath = "~/imagenes/imgRepresentativasActividad/" + nombreUnicoParaImagen + ext;

                                    FileUpload_ImagenRepresentativa.SaveAs(MapPath(filePath));

                                    DIRECCION_IMAGEN_REPRESENTATIVA = filePath;

                                    FileUpload_ImagenRepresentativa.Dispose();
                                }
                            }

                            Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                            Boolean verificado = _programa.TerminarProgDetallesActividad(ID_DETALLE, PRESUPUESTO_FINAL, PERSONAL_FINAL, Programa.EstadosDetalleActividad.TERMINADA, RESULTADOS_ENCUESTA, listaAsistencia, ARCHIVO_ENCUESTA, ARCHIVO_ENCUESTA_TAMANO, ARCHIVO_ENCUESTA_EXTENSION, ARCHIVO_ENCUESTA_TYPE, ARCHIVO_ASISTENCIA, ARCHIVO_ASISTENCIA_TAMANO, ARCHIVO_ASISTENCIA_EXTENSION, ARCHIVO_ASISTENCIA_TYPE, listaEntidadesColaboradoras, CONCLUSION_ACTIVIDAD, DIRECCION_IMAGEN_REPRESENTATIVA, listaCompromisos, AREA);

                            if (verificado == false)
                            {
                                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _programa.MensajeError, Proceso.Advertencia);
                            }
                            else
                            {
                                Ocultar(Acciones.Inicio);
                                Desactivar(Acciones.Inicio);
                                Mostrar(Acciones.Inicio);
                                Cargar(Acciones.Inicio);

                                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Los Resultados de la Actividad fueron registrados correctamente.", Proceso.Correcto);
                            }
                        }
                    }
                }
            }
        }
    }
    private void Guardar()
    {
        String NOMBRE = TextBox_NombreEntidad.Text.Trim();

        String DESCRIPCION = TextBox_DescripcionEntidad.Text.Trim();

        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        EntidadColaboradora _entidad = new EntidadColaboradora(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Decimal ID_ENTIDAD = _entidad.Adicionar(NOMBRE, DESCRIPCION, AREA);

        if (ID_ENTIDAD <= 0)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _entidad.MensajeError, Proceso.Error);
        }
        else
        {
            Cargar(ID_ENTIDAD);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La Entidad Colaboradora " + NOMBRE + " fue creada correctamente y se le asignó el ID: " + ID_ENTIDAD.ToString(), Proceso.Correcto);
        }
    }
    private void cargar_GridView_RESULTADOS_BUSQUEDA()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        EntidadColaboradora _entidad = new EntidadColaboradora(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaEntidades = _entidad.ObtenerTodasEntidadesPorArea(AREA);

        if (tablaEntidades.Rows.Count <= 0)
        {
            if (_entidad.MensajeError == null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros de Entidades Colaboradoras.", Proceso.Advertencia);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _entidad.MensajeError, Proceso.Error);
            }

            Panel_RESULTADOS_GRID.Visible = false;
        }
        else
        {
            GridView_RESULTADOS_BUSQUEDA.DataSource = tablaEntidades;
            GridView_RESULTADOS_BUSQUEDA.DataBind();
        }
    }
    private void Cargar(Decimal ID_ENTIDAD)
    {
        HiddenField_ID_ENTIDAD.Value = ID_ENTIDAD.ToString();

        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        EntidadColaboradora _entidad = new EntidadColaboradora(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaEntidad = _entidad.ObtenerEntidadPorId(ID_ENTIDAD, AREA);

        if (tablaEntidad.Rows.Count <= 0)
        {
            if (String.IsNullOrEmpty(_entidad.MensajeError) == false)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _entidad.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información de la Entidad Colaboradora seleccionada", Proceso.Error);
            }
        }
        else
        {
            Ocultar(Acciones.Inicio);
            Desactivar(Acciones.Inicio);
            Mostrar(Acciones.Cargar);
            Cargar(Acciones.Cargar);

            DataRow filaEntidad = tablaEntidad.Rows[0];

            CargarControlRegistro(filaEntidad);

            CargarInformacionEntidad(filaEntidad);
        }
    }
    private void Buscar()
    {
        Ocultar(Acciones.Inicio);
        Desactivar(Acciones.Inicio);
        Mostrar(Acciones.Inicio);

        String datosCapturados = HiddenField_FILTRO_DATO.Value;
        String campo = HiddenField_FILTRO_DROP.Value;

        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        EntidadColaboradora _entidad = new EntidadColaboradora(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaResultadosBusqueda = new DataTable();

        if (DropDownList_BUSCAR.SelectedValue == "NOMBRE")
        {
            tablaResultadosBusqueda = _entidad.ObtenerEntidadesPorNombre(datosCapturados, AREA);
        }

        if (tablaResultadosBusqueda.Rows.Count <= 0)
        {
            if (_entidad.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _entidad.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros que cumplieran los datos de busqueda.", Proceso.Advertencia);
            }

            Panel_RESULTADOS_GRID.Visible = false;
        }
        else
        {
            Panel_RESULTADOS_GRID.Visible = true;

            GridView_RESULTADOS_BUSQUEDA.DataSource = tablaResultadosBusqueda;
            GridView_RESULTADOS_BUSQUEDA.DataBind();
        }
    }
    private void Actualizar()
    {
        Decimal ID_ENTIDAD = Convert.ToDecimal(HiddenField_ID_ENTIDAD.Value);

        String NOMBRE = TextBox_NombreEntidad.Text.Trim();

        String DESCRIPCION = TextBox_DescripcionEntidad.Text.Trim();

        Boolean ACTIVO = true;

        if (DropDownList_EstadoEntidad.SelectedValue == "False")
        {
            ACTIVO = false;
        }

        EntidadColaboradora _entidad = new EntidadColaboradora(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Boolean verificado = _entidad.Actualizar(ID_ENTIDAD, NOMBRE, DESCRIPCION, ACTIVO);

        if (verificado == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _entidad.MensajeError, Proceso.Error);
        }
        else
        {
            Cargar(ID_ENTIDAD);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La Entidad Colaboradora " + NOMBRE + " fue Actualizada correctamente.", Proceso.Correcto);
        }
    }