private void cargar_DropDownList_LISTA_RIESGOS()
    {
        DropDownList_LISTA_RIESGOS.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_TABLA_RIESGOS);

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

        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString() + " - " + fila["CODIGO"].ToString() + "%", fila["DESCRIPCION"].ToString());
            DropDownList_LISTA_RIESGOS.Items.Add(item);
        }

        DropDownList_LISTA_RIESGOS.DataBind();
    }
    private void cargar_DropDownList_SALARIO()
    {
        DropDownList_DESCRIPCION_SALARIO.Items.Clear();
        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametro = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_DESCRIPCION_SALARIO);

        System.Web.UI.WebControls.ListItem item = new System.Web.UI.WebControls.ListItem("Seleccione Descripcion de salario", "");
        DropDownList_DESCRIPCION_SALARIO.Items.Add(item);

        foreach (DataRow fila in tablaParametro.Rows)
        {
            item = new System.Web.UI.WebControls.ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_DESCRIPCION_SALARIO.Items.Add(item);
        }

        DropDownList_DESCRIPCION_SALARIO.DataBind();
    }
    private void Cargar(Acciones accion)
    {
        ListItem item = new ListItem("Ninguno", "0");
        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        switch (accion)
        {
            case Acciones.Inicio:
                DropDownList_BUSCAR.Items.Add(item);
                item = new ListItem("Número de documento", "NUMERO_DOCUMENTO");
                DropDownList_BUSCAR.Items.Add(item);
                item = new ListItem("Nombre", "NOMBRE");
                DropDownList_BUSCAR.Items.Add(item);
                DropDownList_BUSCAR.DataBind();

                Cargar(DropDownList_INC_CARENCIA, tabla.PARAMETROS_PERIODO_CARENCIA);
                Cargar(DropDownList_TIPO_INCA, tabla.PARAMETROS_TIPO_INCAPACIDAD);
                Cargar(DropDownList_SEVERO, tabla.PARAMETROS_CASO_SEVERO);
                Cargar(DropDownList_CLASE_INCA, tabla.PARAMETROS_CLASE_INCAPACIDAD);
                Cargar(DropDownList_PRORROGA, tabla.PARAMETROS_PRORROGA);
                Cargar(DropDownList_estado, tabla.PARAMETROS_ESTADO_INCAPACIDAD);
                Cargar(DropDownList_estado_tramite, tabla.PARAMETROS_ESTADO_INCAPACIDAD_TRAMITE);
                Cargar(DropDownList_tramitada_por, tabla.PARAMETROS_INCAPACIDAD_TRAMITADA_POR);
                break;
        }
    }
    private void cargar_DropDownList_TIPO_DOC()
    {
        DropDownList_TIP_DOC.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaUsuarios = _parametro.ObtenerParametrosPorTabla("TIP_DOC_ID");

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

        foreach (DataRow fila in tablaUsuarios.Rows)
        {
            item = new ListItem(fila["descripcion"].ToString(), fila["codigo"].ToString());
            DropDownList_TIP_DOC.Items.Add(item);
        }

        DropDownList_TIP_DOC.DataBind();
    }
    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;
        }
    }
    protected void Button_Imprimir_Carta_Click(object sender, EventArgs e)
    {
        cargar_menu_botones_modulos_internos();

        if (HiddenField_ESTADO_PROCESO.Value != AccionesProceso.Paso2RegistrarResultadosExamenes.ToString())
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se puede imprimir la carta de apertura de cuenta, no se ha realizado la configuración de forma de pago. Verifique por favor", Proceso.Advertencia);
        }
        else
        {

            Byte[] archivo_apertura;

            maestrasInterfaz _maestra = new maestrasInterfaz();

            parametro _parametro = new parametro(Session["idEmpresa"].ToString());
            DataTable tablaConfiguracionCuentas = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_CUENTA_FORMATO_APERTURA_CUENTA);

            if (tablaConfiguracionCuentas.Rows.Count <= 0)
            {
                if (_parametro.MensajeError != null)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _parametro.MensajeError, Proceso.Error);
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha configurado los parametros de cuentas asociadas para pago de nómina.", Proceso.Error);
                }
            }
            else
            {
                Boolean cuentaEncontrada = false;

                String datosCuenta = String.Empty;

                if (DropDownList_entidad_bancaria.SelectedValue == "16")
                {
                    foreach (DataRow filaCuenta in tablaConfiguracionCuentas.Rows)
                    {
                        if (Session["idEmpresa"].ToString() == "1")
                        {
                            Decimal ID_SOLICITUD = Convert.ToDecimal(HiddenField_ID_SOLICITUD.Value);
                            Decimal ID_REQUERIMIENTO = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);

                            if (filaCuenta["VARIABLE"].ToString().Trim() == "CUENTA_BANCO_AVVILLAS_SERTEMPO")
                            {
                                datosCuenta = filaCuenta["CODIGO"].ToString();
                                cuentaEncontrada = true;

                                String[] datosArray = datosCuenta.Split('*');

                                archivo_apertura = _maestra.GenerarPDFAperturaBancoAvvilla("Bogotá", DateTime.Now, DropDownList_entidad_bancaria.SelectedItem.Text, Label_NOMBRE_TRABAJADOR.Text, Label_NUM_DOC_IDENTIDAD.Text, Label_NOMBRE_TRABAJADOR.Text, ID_SOLICITUD, ID_REQUERIMIENTO, "Nombre:.", "Cargo:.", datosArray[0]);

                                String filename = "apertura_cuenta_" + DropDownList_entidad_bancaria.SelectedItem.Text.Trim();
                                filename = filename.Replace(' ', '_');

                                Response.Clear();
                                Response.BufferOutput = false;
                                Response.ContentType = "application/pdf";
                                Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf");
                                Response.BinaryWrite(archivo_apertura);
                                Response.End();

                                break;
                            }
                        }
                        else
                        {
                        }

                    }
                }
                else
                {
                    if (DropDownList_entidad_bancaria.SelectedValue == "1")
                    {
                        foreach (DataRow filaCuenta in tablaConfiguracionCuentas.Rows)
                        {
                            if (Session["idEmpresa"].ToString() == "1")
                            {
                                if (filaCuenta["VARIABLE"].ToString().Trim() == "CUENTA_BANCO_BOGOTA_SERTEMPO")
                                {
                                    datosCuenta = filaCuenta["CODIGO"].ToString();
                                    cuentaEncontrada = true;

                                    String[] datosArray = datosCuenta.Split('*');

                                    archivo_apertura = _maestra.GenerarPDFAperturaBancoBogotaCreditRotativo(DateTime.Now, DropDownList_entidad_bancaria.SelectedItem.Text, Label_NOMBRE_TRABAJADOR.Text, Label_NUM_DOC_IDENTIDAD.Text, "JOSE VIDAL HERNANDEZ SUAREZ", "Jefe Nacional de Contratación", "TEL: 3217088 Ext. 1211", datosArray[0], datosArray[1], datosArray[2]);

                                    String filename = "apertura_cuenta_" + DropDownList_entidad_bancaria.SelectedItem.Text.Trim();
                                    filename = filename.Replace(' ', '_');

                                    Response.Clear();
                                    Response.BufferOutput = false;
                                    Response.ContentType = "application/pdf";
                                    Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf");
                                    Response.BinaryWrite(archivo_apertura);
                                    Response.End();

                                    break;
                                }
                            }
                            else
                            {
                            }

                        }
                    }
                    else
                    {
                        if (DropDownList_entidad_bancaria.SelectedValue == "4")
                        {
                            foreach (DataRow filaCuenta in tablaConfiguracionCuentas.Rows)
                            {
                                if (Session["idEmpresa"].ToString() == "1")
                                {
                                    if (filaCuenta["VARIABLE"].ToString().Trim() == "CUENTA_BANCO_BANCOLOMBIA_SERTEMPO")
                                    {
                                        datosCuenta = filaCuenta["CODIGO"].ToString();
                                        cuentaEncontrada = true;

                                        Decimal ID_REQUERIMIENTO = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);

                                        String[] datosArray = datosCuenta.Split('*');

                                        archivo_apertura = _maestra.GenerarPDFAperturaBancoBancolombia("Bogotá", DateTime.Now, DropDownList_entidad_bancaria.SelectedItem.Text, datosArray[0], datosArray[1], Label_NOMBRE_TRABAJADOR.Text, Label_NUM_DOC_IDENTIDAD.Text, Label_CARGO.Text, ID_REQUERIMIENTO, Label_RAZ_SOCIAL.Text, "SERVICIOS TEMPORALES PROFESIONALES BOGOTA S.A.", "AREA CONTRATACIÓN");

                                        String filename = "apertura_cuenta_" + DropDownList_entidad_bancaria.SelectedItem.Text.Trim();
                                        filename = filename.Replace(' ', '_');

                                        Response.Clear();
                                        Response.BufferOutput = false;
                                        Response.ContentType = "application/pdf";
                                        Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf");
                                        Response.BinaryWrite(archivo_apertura);
                                        Response.End();

                                        break;
                                    }
                                }
                                else
                                {
                                }

                            }
                        }
                        else
                        {

                        }
                    }
                }
                if (String.IsNullOrEmpty(datosCuenta) == false)
                {

                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información de cuenta para el banco seleccionado.", Proceso.Advertencia);
                }
            }
        }
    }
    private void Cargar(Acciones accion)
    {
        DataTable dataTable = new DataTable();
        switch(accion)
        {
            case Acciones.Inicio:
                cliente _cliente = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                dataTable = _cliente.ObtenerTodasLasEmpresasActivas();
                Cargar(dataTable, this.DropDownList_empresas, "ID_EMPRESA", "RAZ_SOCIAL");

                dataTable = _cliente.ObtenerEmpresaConIdEmpresa(Convert.ToDecimal(this.HiddenField_ID_EMPRESA.Value));
                Cargar(dataTable);

                usuario _usuario = new usuario(Session["idEmpresa"].ToString());
                dataTable = _usuario.ObtenerEmpleadosRestriccionEmpresas();
                Cargar(dataTable, this.DropDownList_usuario, "Id_Usuario", "NOMBRE_EMPLEADO");

                parametro _parametro = new parametro(Session["idEmpresa"].ToString());
                dataTable = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_UNIDAD_NEGOCIO);
                Cargar(dataTable, this.DropDownList_unidad_negocio, "codigo", "descripcion");

                Cargar(GridView_unidades_negocio);
                break;

        }
        if (dataTable == null) dataTable.Dispose();
    }
    private void cargar_DropDownList_EXPERIENCIA()
    {
        DropDownList_Experiencia.Items.Clear();

        parametro _experiencia = new parametro(Session["idEmpresa"].ToString());
        DataTable tablanivAcademico = _experiencia.ObtenerParametrosPorTabla("EXPERIENCIA");

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

        foreach (DataRow fila in tablanivAcademico.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_Experiencia.Items.Add(item);
        }
        DropDownList_Experiencia.DataBind();
    }
    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_NIV_ESTUDIOS()
    {
        DropDownList_NIV_ACADEMICO.Items.Clear();

        parametro _nivAcademico = new parametro(Session["idEmpresa"].ToString());
        DataTable tablanivAcademico = _nivAcademico.ObtenerParametrosPorTabla("NIV_ESTUDIOS");

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

        foreach (DataRow fila in tablanivAcademico.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_NIV_ACADEMICO.Items.Add(item);
        }
        DropDownList_NIV_ACADEMICO.DataBind();
    }
    private void cargar_DropDownList_Sexo()
    {
        DropDownList_SEXO.Items.Clear();

        parametro _sexo = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaSexo = _sexo.ObtenerParametrosPorTabla("SEXOREQ");

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

        foreach (DataRow fila in tablaSexo.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_SEXO.Items.Add(item);
        }
        DropDownList_SEXO.DataBind();
    }
    private void cargar_DropDownList_tipo_Pensionado()
    {
        DropDownList_tipo_pensionado.Items.Clear();
        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametro = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_TIPO_PENSIONADO);

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

        foreach (DataRow fila in tablaParametro.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_tipo_pensionado.Items.Add(item);
        }
    }
    private void Cargar(Acciones accion)
    {
        ListItem item = new ListItem("Ninguno", "0");
        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        switch (accion)
        {
            case Acciones.Inicio:
                DropDownList_BUSCAR.Items.Add(item);
                item = new ListItem("NOMBRE", "NOMBRE");
                DropDownList_BUSCAR.Items.Add(item);
                DropDownList_BUSCAR.DataBind();

                break;
        }
    }
    private void cargamos_DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE()
    {
        DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_TIP_DOC_ID);

        ListItem item = new ListItem("Ninguno", "");
        DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.Items.Add(item);

        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.Items.Add(item);
        }
        DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.DataBind();
    }
    private void cargar_DropDownList_forma_pago()
    {
        DropDownList_forma_pago.Items.Clear();

        DropDownList_forma_pago.Items.Add(new System.Web.UI.WebControls.ListItem("Seleccione...", ""));

        parametro forma_pago = new parametro(Session["idEmpresa"].ToString());
        DataTable TABLA_FORMA_PAGO = forma_pago.ObtenerParametrosPorTabla(tabla.PARAMETROS_FORMA_PAGO);

        foreach (DataRow fila in TABLA_FORMA_PAGO.Rows)
        {
            DropDownList_forma_pago.Items.Add(new System.Web.UI.WebControls.ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString()));
        }

        DropDownList_forma_pago.DataBind();
    }
    private void Cargar_DropDownList_Experiencia()
    {
        DropDownList_Experiencia.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_EXPERIENCIA);

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

        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_Experiencia.Items.Add(item);
        }
        DropDownList_Experiencia.DataBind();
    }
    private void cargar_DropDownList_TIPO_CUENTAS()
    {
        DropDownList_TIPO_CUENTAS.Items.Clear();

        DropDownList_TIPO_CUENTAS.Items.Add(new System.Web.UI.WebControls.ListItem("Seleccione...", ""));

        parametro tipo_parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable TABLA_TIPO_parametro = tipo_parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_TIPO_CUENTA);

        foreach (DataRow fila in TABLA_TIPO_parametro.Rows)
        {
            DropDownList_TIPO_CUENTAS.Items.Add(new System.Web.UI.WebControls.ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString()));
        }

        DropDownList_TIPO_CUENTAS.DataBind();
    }
    private void Cargar_DropDownList_NivelEsolaridad()
    {
        DropDownList_NivelEsolaridad.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaParametros = _parametro.ObtenerNivEstudiosParametros();

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

        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_NivelEsolaridad.Items.Add(item);
        }

        DropDownList_NivelEsolaridad.DataBind();
    }
    protected void Button_InformarDescarte_Click(object sender, EventArgs e)
    {
        Decimal ID_REQUERIMIENTO = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);
        Decimal ID_SOLICITUD = Convert.ToDecimal(HiddenField_ID_SOLICITUD.Value);

        ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        Boolean correcto = _contratoTemporal.DescartarConRegContratosTemporal(ID_REQUERIMIENTO, ID_SOLICITUD, TextBox_ObservacionesDescarte.Text.Trim());

        if (correcto == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _contratoTemporal.MensajeError, Proceso.Error);
        }
        else
        {
            parametro _parametro = new parametro(Session["idEmpresa"].ToString());

            DataTable tablaRolParaInformar = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_ROL_INFORMAR_DESCARTE_PROCESO_CONTRATACION);

            if (tablaRolParaInformar.Rows.Count <= 0)
            {
                tools _tools = new tools();
                SecureQueryString QueryStringSeguro;
                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                QueryStringSeguro["img_area"] = "contratacion";
                QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                QueryStringSeguro["accion"] = "descarteContratacionNoRol";

                Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
            }
            else
            {
                DataRow filaParametroRol = tablaRolParaInformar.Rows[0];

                String NOMBRE_ROL = filaParametroRol["CODIGO"].ToString().Trim();

                usuario _usuario = new usuario(Session["idEmpresa"].ToString());
                DataTable tablaUsuariosAInformar = _usuario.ObtenerListaUsuariosSistemaActivosPorNombreRol(NOMBRE_ROL);

                if (tablaUsuariosAInformar.Rows.Count <= 0)
                {
                    tools _tools = new tools();
                    SecureQueryString QueryStringSeguro;
                    QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                    QueryStringSeguro["img_area"] = "contratacion";
                    QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                    QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                    QueryStringSeguro["accion"] = "descarteContratacionNoUsuarios";

                    Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                }
                else
                {
                    Int32 contadorEnvios = 0;
                    Int32 contadorErrores = 0;

                    StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\email_informativo_descarte_contratacion.htm"));
                    String html_formato_plantilla_email = archivo_original.ReadToEnd();
                    archivo_original.Dispose();
                    archivo_original.Close();

                    String NOMBRE_CANDIDATO = Label_NOMBRE_TRABAJADOR.Text;
                    String NUMERO_IDENTIFICACION = Label_NUM_DOC_IDENTIDAD.Text;
                    String OBSERVACIONES_DESCARTE = TextBox_ObservacionesDescarte.Text.Trim();

                    String NOMBRE_USUARIO;
                    DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(Session["USU_LOG"].ToString());
                    DataRow filaUsuario = tablaUsuario.Rows[0];

                    if (filaUsuario["USU_TIPO"].ToString().ToUpper() == "PLANTA")
                    {
                        NOMBRE_USUARIO = filaUsuario["NOMBRES"].ToString().Trim() + " " + filaUsuario["APELLIDOS"].ToString().Trim();
                    }
                    else
                    {
                        NOMBRE_USUARIO = filaUsuario["NOMBRES_EXTERNO"].ToString().Trim() + " " + filaUsuario["APELLIDOS_EXTERNO"].ToString().Trim();
                    }

                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_CANDIDATO]", NOMBRE_CANDIDATO);
                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NUMERO_IDENTIFICACION]", NUMERO_IDENTIFICACION);
                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[OBSERVACIONES_DESCARTE]", OBSERVACIONES_DESCARTE);
                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_USUARIO]", NOMBRE_USUARIO);

                    tools _tools = new tools();

                    foreach (DataRow filausuario in tablaUsuariosAInformar.Rows)
                    {
                        if (DBNull.Value.Equals(filausuario["USU_MAIL"]) == false)
                        {
                            try
                            {
                                _tools.enviarCorreoConCuerpoHtml(filausuario["USU_MAIL"].ToString().Trim(), "DESCARTE EN CONTRATACIÓN", html_formato_plantilla_email);
                                contadorEnvios += 1;
                            }
                            catch
                            {
                                contadorErrores += 1;
                            }
                        }
                        else
                        {
                            contadorErrores += 1;
                        }
                    }

                    if (contadorEnvios <= 0)
                    {
                        SecureQueryString QueryStringSeguro;
                        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                        QueryStringSeguro["accion"] = "descarteContratacionNoEmail";

                        Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                    }
                    else
                    {
                        SecureQueryString QueryStringSeguro;
                        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                        QueryStringSeguro["accion"] = "descarteContratacionOk";

                        Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                    }
                }
            }
        }
    }
    private void Cargar_DropDownList_Profesion()
    {
        DropDownList_Profesion.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla("NUCLEO_FORMACION");

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

        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_Profesion.Items.Add(item);
        }
        DropDownList_Profesion.DataBind();
    }
    private void cargar_DropDownList_ENTIDAD_REPORTA()
    {
        DropDownList_ENTIDAD_REPORTA.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaUsuarios = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_ENTIDAD_ACOSET);

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

        foreach (DataRow fila in tablaUsuarios.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_ENTIDAD_REPORTA.Items.Add(item);
        }

        DropDownList_ENTIDAD_REPORTA.DataBind();
    }
    private void GuardarCumplir()
    {
        Decimal ID_REQUISICION = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);

        String CANCELADO = "N";
        String TIPO_CANCELA = null;
        String MOTIVO_CANCELA = null;
        String CUMPLIDO = "S";

        String CUMPLE_OPORTUNO = "N";
        if (CheckBox_ReqOportuna.Checked == true)
        {
            CUMPLE_OPORTUNO = "S";
        }

        String CUMPLE_EECTIVA = "N";
        if (CheckBox_ReqEfectiva.Checked == true)
        {
            CUMPLE_EECTIVA = "S";
        }

        String MOTIVO_CUMPLIDO = DropDownList_MOTIVO_CUMPLIR.SelectedValue;

        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        parametro _p = new parametro(Session["idEmpresa"].ToString());
        Int32 contratadosPorReq = 0;
        Boolean correcto = true;
        Boolean ajustarCantidad = false;

        DataTable tablaMotivoCumplido = _p.ObtenerDescripcionParametroPorCodigo(tabla.PARAMETROS_MOTIVO_CUMPLIDO_REQ, MOTIVO_CUMPLIDO);
        if (tablaMotivoCumplido.Rows.Count > 0)
        {
            DataRow filaMotivoCumplido = tablaMotivoCumplido.Rows[0];
            if (filaMotivoCumplido["VARIABLE"].ToString().Trim().ToUpper() == "AJUSTAR_CANTIDAD")
            {
                ajustarCantidad = true;
            }
        }

        if (ajustarCantidad == true)
        {
            DataTable tablaConteoContratatos = _requisicion.ObtenerTrabajadoresContratadosPorReq(ID_REQUISICION);

            if (tablaConteoContratatos.Rows.Count > 0)
            {
                DataRow filaConteoContratados = tablaConteoContratatos.Rows[0];
                contratadosPorReq = Convert.ToInt32(filaConteoContratados["CONTRATADOS"].ToString());
            }
        }

        if (ajustarCantidad == true)
        {
            if (contratadosPorReq == 0)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El requerimiento no puede ser cumplido utilizando el motivo: " + MOTIVO_CUMPLIDO + ", porque no se contrataron personas.", Proceso.Advertencia);
                correcto = false;
            }
        }

        if (correcto == true)
        {
            Boolean resultado = _requisicion.ActualizarConRequerimeintosBanderas(ID_REQUISICION, CUMPLIDO, CUMPLE_OPORTUNO, CUMPLE_EECTIVA, MOTIVO_CUMPLIDO, CANCELADO, TIPO_CANCELA, MOTIVO_CANCELA);

            if (resultado == false)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
            }
            else
            {
                Cargar(ID_REQUISICION);

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La requisición #: " + ID_REQUISICION.ToString() + " fue cumplida correctamente.", Proceso.Correcto);
            }
        }
    }
    protected void Button_CONFIRMAR_INFO_aRCHIVP_PLANO_Click(object sender, EventArgs e)
    {
        Session.Remove("listaRegistrosAcoset");

        List<acoset> listaRegistros = new List<acoset>();
        acoset _acosetParaLista;

        Boolean verificador = true;
        String filaArchivo = null;
        String[] filaArchivoArray;

        Int32 contadorRegistrosTotales = 0;
        Int32 contadorRegistrosProcesados = 0;

        DataTable tablaErrores = InicializarTablaErrores();
        DataRow filaError;

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaEntidadesAcoset = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_ENTIDAD_ACOSET);
        Boolean datoCorrecto = true;

        DataTable tablaTipDocs = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_TIP_DOC_ID);

        if (FileUpload_ARCHIVO_PLANO.HasFile == true)
        {
            using (StreamReader reader = new StreamReader(FileUpload_ARCHIVO_PLANO.PostedFile.InputStream))
            {
                while ((filaArchivo = reader.ReadLine()) != null)
                {
                    contadorRegistrosTotales += 1;

                    filaArchivoArray = filaArchivo.Split(';');

                    _acosetParaLista = new acoset(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                    verificador = true;

                    if (filaArchivoArray.Length == 6)
                    {
                        _acosetParaLista.ACTIVO = true;
                        _acosetParaLista.APELLIDOS = filaArchivoArray[0].ToUpper();

                        datoCorrecto = false;
                        foreach(DataRow filaEntidad in tablaEntidadesAcoset.Rows)
                        {
                            if(filaEntidad["CODIGO"].ToString().Trim().ToUpper() == filaArchivoArray[5].ToUpper())
                            {
                                datoCorrecto = true;
                                break;
                            }
                        }
                        if(datoCorrecto == true)
                        {
                            _acosetParaLista.ENTIDAD_REPORTA = filaArchivoArray[5].ToUpper();
                        }
                        else
                        {
                            filaError = tablaErrores.NewRow();

                            filaError["TIPO_ERROR"] = ErroresSubidaMasiva.ERROR_ENTIDAD_REPORTA.ToString();
                            filaError["LINEA"] = contadorRegistrosTotales.ToString();
                            filaError["MENSAJE"] = "El nombre de la entidad que reporta no es correcto.";

                            tablaErrores.Rows.Add(filaError);

                            verificador = false;
                        }

                        _acosetParaLista.MOTIVO_ESTADO = null;
                        _acosetParaLista.NOMBRES = filaArchivoArray[1].ToUpper();
                        _acosetParaLista.NUM_DOC_IDENTIDAD = filaArchivoArray[3].ToUpper();
                        _acosetParaLista.OBS_ACOSET = filaArchivoArray[4].ToUpper();
                        _acosetParaLista.REGISTRO = 0;

                        datoCorrecto = false;
                        foreach(DataRow filaTipoDoc in tablaTipDocs.Rows)
                        {
                            if(filaTipoDoc["CODIGO"].ToString().ToUpper() == filaArchivoArray[2].ToUpper())
                            {
                                datoCorrecto = true;
                                break;
                            }
                        }
                        if(datoCorrecto == true)
                        {
                            _acosetParaLista.TIP_DOC_IDENTIDAD = filaArchivoArray[2].ToUpper();
                        }
                        else
                        {
                            filaError = tablaErrores.NewRow();

                            filaError["TIPO_ERROR"] = ErroresSubidaMasiva.ERROR_TIP_DOC_IDENTIDAD.ToString();
                            filaError["LINEA"] = contadorRegistrosTotales.ToString();
                            filaError["MENSAJE"] = "El tipo de documento de identidad no es correcto.";

                            tablaErrores.Rows.Add(filaError);

                            verificador = false;
                        }
                    }
                    else
                    {
                        filaError = tablaErrores.NewRow();

                        filaError["TIPO_ERROR"] = ErroresSubidaMasiva.ERROR_ESTRUCTURA_ARCHIVO.ToString();
                        filaError["LINEA"] = contadorRegistrosTotales.ToString();
                        filaError["MENSAJE"] = "La línea no tiene la estructura correcta: (APELLIDOS ; NOMBRES ; TIP_DOC_IDENTIDAD ; NUM_DOC_IDENTIDAD ; MOTIVO_REPORTE ; ENTIDAD_REPORTA).";

                        tablaErrores.Rows.Add(filaError);

                        verificador = false;
                    }

                    if (verificador == true)
                    {
                        listaRegistros.Add(_acosetParaLista);

                        contadorRegistrosProcesados += 1;
                    }
                }
            }

            if (tablaErrores.Rows.Count > 0)
            {

                Panel_GRILLA_ERRORES_SUBIDA_MASIVA.Visible = true;
                Panel_FILEUPLOAD_ARCHIVO_PLANO.Visible = true;
                Button_CONFIRMAR_INFO_aRCHIVP_PLANO.Visible = true;
                Button_CANCELAR_SUBIDA_MASIVA.Visible = true;

                Button_GUARDAR_REGISTROS_MASIVOS.Visible = false;
                Panel_INFO_DATOS_SUBIDA_MASIVA.Visible = false;

                GridView_ERRORES_SUBIDA_MASIVA.DataSource = tablaErrores;
                GridView_ERRORES_SUBIDA_MASIVA.DataBind();

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El archivo contiene errores y no puede ser procesado, por favor revise la lista de errores.", Proceso.Error);

                Session.Remove("listaRegistrosAcoset");

                Button_CANCELAR_SUBIDA_MASIVA.Focus();
            }
            else
            {
                Session["listaRegistrosAcoset"] = listaRegistros;

                Panel_GRILLA_ERRORES_SUBIDA_MASIVA.Visible = false;
                Panel_FILEUPLOAD_ARCHIVO_PLANO.Visible = true;
                Button_CONFIRMAR_INFO_aRCHIVP_PLANO.Visible = false;
                Button_CANCELAR_SUBIDA_MASIVA.Visible = true;
                Button_GUARDAR_REGISTROS_MASIVOS.Visible = true;
                Panel_INFO_DATOS_SUBIDA_MASIVA.Visible = true;

                Label_NUM_REGISTROS_ARCHIVO.Text = contadorRegistrosProcesados.ToString();

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El archivo fue verificado, y cumple con las especificaciones, puede continuar con el cargue masivo de egistros Acoset", Proceso.Correcto);

                Button_CANCELAR_SUBIDA_MASIVA.Focus();
            }
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP,Panel_MENSAJES, Label_MENSAJE, "ERROR: Por favor seleccione el archivo con la información de los registros Acoset.", Proceso.Error);

            Session.Remove("listaRegistrosAcoset");

            Button_CANCELAR_SUBIDA_MASIVA.Focus();
        }
    }
    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_DropDownList_Clase_contrato()
    {
        DropDownList_Clase_contrato.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametro = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_CLASE_CONTRATO);

        System.Web.UI.WebControls.ListItem item = new System.Web.UI.WebControls.ListItem("Seleccione...", "");
        DropDownList_Clase_contrato.Items.Add(item);

        foreach (DataRow fila in tablaParametro.Rows)
        {
            if (Session["idEmpresa"].ToString().Equals("1") & fila["VARIABLE"].ToString().Equals("TEMPORAL"))
            {
                item = new System.Web.UI.WebControls.ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
                DropDownList_Clase_contrato.Items.Add(item);
            }
            else if (Session["idEmpresa"].ToString().Equals("3") & fila["VARIABLE"].ToString().Equals("OUTSOURSING"))
            {
                item = new System.Web.UI.WebControls.ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
                DropDownList_Clase_contrato.Items.Add(item);
            }
        }

        DropDownList_Clase_contrato.DataBind();
    }
    private void cargar_DropDownList_ESTADO()
    {
        DropDownList_ESTADO.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_ESTADO_CONTACTO);

        ListItem item = new ListItem("Ninguno", "");
        DropDownList_ESTADO.Items.Add(item);
        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["DESCRIPCION"].ToString());
            DropDownList_ESTADO.Items.Add(item);
        }

        DropDownList_ESTADO.DataBind();
    }
    private void cargar_DropDownList_tipo_Contrato()
    {
        DropDownList_tipo_Contrato.Items.Clear();
        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametro = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_TIPO_CONTRATO);

        System.Web.UI.WebControls.ListItem item = new System.Web.UI.WebControls.ListItem("Seleccione Tipo Contrato", "");
        DropDownList_tipo_Contrato.Items.Add(item);

        foreach (DataRow fila in tablaParametro.Rows)
        {
            item = new System.Web.UI.WebControls.ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_tipo_Contrato.Items.Add(item);
        }

        DropDownList_tipo_Contrato.DataBind();
    }
    private void cargar_DropDownList_TIPO_SERVICIO_RESPECTIVO()
    {
        DropDownList_TIPO_SERVICIO_RESPECTIVO.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());
        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_SERVICIOS_RESPECTIVOS);

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

        foreach (DataRow fila in tablaParametros.Rows)
        {
            item = new ListItem(fila["DESCRIPCION"].ToString(), fila["CODIGO"].ToString());
            DropDownList_TIPO_SERVICIO_RESPECTIVO.Items.Add(item);
        }

        DropDownList_TIPO_SERVICIO_RESPECTIVO.DataBind();
    }
 private void Cargar(DropDownList dropDownList, String tabla)
 {
     ListItem item = new ListItem("Seleccione", "");
     parametro _parametro = new parametro(Session["idEmpresa"].ToString());
     DataTable _dataTable = _parametro.ObtenerParametrosPorTabla(tabla);
     dropDownList.Items.Add(item);
     foreach (DataRow _dataRow in _dataTable.Rows)
     {
         item = new ListItem(_dataRow["DESCRIPCION"].ToString(), _dataRow["CODIGO"].ToString());
         dropDownList.Items.Add(item);
     }
     dropDownList.DataBind();
     _dataTable.Dispose();
 }
    private void cargar_DropDownList_TALLAS_ZAPATOS()
    {
        DropDownList_talla_zapatos.Items.Clear();

        parametro _parametro = new parametro(Session["idEmpresa"].ToString());

        DataTable tablaParametros = _parametro.ObtenerParametrosPorTabla("TALLA_ROPA");

        ListItem item = new ListItem("Ninguno", "");
        DropDownList_talla_zapatos.Items.Add(item);

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