private void cargarGrillaTipos()
    {
        Programa.Areas AREA_PROGRAMA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        TipoActividad _tipoActividad = new TipoActividad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaTipos = _tipoActividad.ObtenerTiposActividadPorArea(AREA_PROGRAMA);

        if (tablaTipos.Rows.Count <= 0)
        {
            if (_tipoActividad.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _tipoActividad.MensajeError, Proceso.Error);
            }
            else
            {
                Mostrar(Acciones.Nuevo);
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron Tipos de Actividad configurados.", Proceso.Advertencia);
            }

            GridView_Tipos.DataSource = null;
            GridView_Tipos.DataBind();
        }
        else
        {
            Mostrar(Acciones.Cargar);

            CargarGrillaTiposDesdeTabla(tablaTipos);

            inhabilitarFilasGrilla(GridView_Tipos, 1);
        }
    }
    private void Actualizar()
    {
        Programa.Areas AREA_PROGRAMA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        List<TipoActividad> listaTipos = new List<TipoActividad>();

        for (int i = 0; i < GridView_Tipos.Rows.Count; i++)
        {
            GridViewRow filaGrilla = GridView_Tipos.Rows[i];

            TipoActividad _tipoParaLista = new TipoActividad();

            Decimal ID_TIPO_ACTIVIDAD = Convert.ToDecimal(GridView_Tipos.DataKeys[i].Values["ID_TIPO_ACTIVIDAD"]);

            TextBox textoNombre = filaGrilla.FindControl("TextBox_Nombre") as TextBox;
            String NOMBRE = textoNombre.Text.Trim();

            DropDownList dropActiva = filaGrilla.FindControl("DropDownList_Estado") as DropDownList;
            Boolean ACTIVA = true;
            if (dropActiva.SelectedValue == "False")
            {
                ACTIVA = false;
            }

            CheckBoxList checkSecciones = filaGrilla.FindControl("CheckBoxList_Secciones") as CheckBoxList;
            String SECCIONES_HABILITADAS = ObtenerValuesSeleccionados(checkSecciones);

            _tipoParaLista.ACTIVA = ACTIVA;
            _tipoParaLista.ID_TIPO_ACTIVIDAD = ID_TIPO_ACTIVIDAD;
            _tipoParaLista.NOMBRE = NOMBRE;
            _tipoParaLista.SECCIONES_HABILITADAS = SECCIONES_HABILITADAS;

            listaTipos.Add(_tipoParaLista);
        }

        TipoActividad _tipo = new TipoActividad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Boolean verificador = _tipo.ActualizarTipos(AREA_PROGRAMA, listaTipos);

        if (verificador == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _tipo.MensajeError, Proceso.Error);
        }
        else
        {
            Ocultar(Acciones.Inicio);
            Desactivar(Acciones.Inicio);
            Cargar(Acciones.Inicio);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Los tipos de Actividad, fueron actualizados correctamente.", Proceso.Correcto);
        }
    }
    private void Cargar(Listas lista, DropDownList drop)
    {
        Decimal ID_MAESTRA_COMPROMISO = Convert.ToDecimal(HiddenField_ID_MAESTRA_COMPROMISO.Value);

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

        Decimal ID_PROGRAMA_GENERAL = 0;
        Decimal ID_EMPRESA = 0;
        if(tablaResultado.Rows.Count > 0)
        {
            DataRow filaResultado = tablaResultado.Rows[0];

            ID_PROGRAMA_GENERAL = Convert.ToDecimal(filaResultado["ID_PROGRAMA_GENERAL"]);
            ID_EMPRESA = Convert.ToDecimal(filaResultado["ID_EMPRESA"]);
        }

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

        switch (lista)
        {
            case Listas.SubProgramas:
                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_DETALLE_GENERAL.ToString() + ":" + 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();

                ListItem 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.Encargados:

                DataTable tablaEncargados = _prog.ObtenerUsuariosSistemaActivos();

                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;
        }
    }
    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 Cargar(Listas lista, DropDownList drop)
    {
        switch (lista)
        {
            case Listas.SubProgramas:
                SubPrograma _sub = new SubPrograma(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                Programa.Areas AREA_SUBPROGRAMA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);
                DataTable tablaSubProgramas = _sub.ObtenerSubProgramasPorArea(AREA_SUBPROGRAMA);

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

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

                drop.DataBind();
                break;
            case Listas.Actividades:

                ActividadRseGlobal _act = new ActividadRseGlobal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                Programa.Areas AREA_ACTIVIDAD = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);
                DataTable tablaActividad = _act.ObtenerActividadesPorArea(AREA_ACTIVIDAD);

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

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

                drop.DataBind();
                break;
            case Listas.EstadosSubProgramas:
                drop.Items.Clear();
                parametro _parametroSP = new parametro(Session["idEmpresa"].ToString());
                DataTable tablaParametrosSP = _parametroSP.ObtenerParametrosPorTabla(tabla.PARAMETROS_ESTADO_SUB_PROGRAMA);
                ListItem itemSP = new ListItem("Seleccione...", "");
                drop.Items.Add(itemSP);
                foreach (DataRow fila in tablaParametrosSP.Rows)
                {
                    itemSP = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
                    drop.Items.Add(itemSP);
                }
                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:

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

                drop.Items.Clear();
                TipoActividad _tipoActividad = new TipoActividad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaParametrosTA = _tipoActividad.ObtenerTiposActividadPorAreayEstado(AREA_TIPO_ACTIVIDAD, 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;
        }
    }
    private void Cargar_DropDownList_Tipo(DropDownList drop)
    {
        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        drop.Items.Clear();

        TipoActividad _tipoActividad = new TipoActividad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaParametros = _tipoActividad.ObtenerTiposActividadPorAreayEstado(AREA, true);

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

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