public Boolean adicionarOrdenesExamenes(List<examenesEmpleado> examenesLab,
            Decimal ID_SOLICITUD,
            Decimal ID_ENTIDAD,
            String NUM_CUENTA,
            String FORMA_PAGO,
            String TIPO_CUENTA,
            Decimal ID_REQUERIMIENTO,
            String ID_CIUDAD,
            Decimal ID_CENTRO_C,
            Decimal ID_SUB_C,
            Decimal ID_SERVICIO,
            Decimal ID_EMPRESA,
            Boolean TIENE_CUENTA)
        {
            Boolean correcto = true;

            ordenExamenes orden = new ordenExamenes(Empresa, Usuario);
            decimal idOrden = 0;
            int idLab = 0;

            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            try
            {
                foreach (examenesEmpleado item in examenesLab)
                {
                    if (item.valida == false)
                    {
                        idLab = item.idLab;
                        idOrden = orden.AdicionarConRegOrdenExamen(item.idSolIngreso, item.idRequerimientos, conexion);
                        if (idOrden <= 0)
                        {
                            correcto = false;
                            conexion.DeshacerTransaccion();
                            MensajeError = orden.MensajeError;
                            break;
                        }
                        else
                        {
                            Decimal ID_EXAMEN_EMPLEADO = AdicionarConRegExamenesEmpleado(Convert.ToInt32(idOrden), item.registroAlmacen, 0, "N", item.fecha, conexion);

                            if (ID_EXAMEN_EMPLEADO <= 0)
                            {
                                correcto = false;
                                conexion.DeshacerTransaccion();
                                break;
                            }
                            else
                            {
                                item.valida = true;
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    radicacionHojasDeVida _radicacionHojasDeVida = new radicacionHojasDeVida(Empresa, Usuario);
                    if (_radicacionHojasDeVida.ActualizarEntidadNumCuenta(Convert.ToInt32(ID_SOLICITUD), Convert.ToInt32(ID_ENTIDAD), NUM_CUENTA, FORMA_PAGO, TIPO_CUENTA, conexion) == false)
                    {
                        correcto = false;
                        MensajeError = _radicacionHojasDeVida.MensajeError;
                        conexion.DeshacerTransaccion();
                    }
                }

                if (correcto == true)
                {
                    ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Empresa, Usuario);

                    Decimal ID_TEMPORAL = _contratoTemporal.AdicionarConRegContratoTemporal(ID_REQUERIMIENTO, ID_SOLICITUD, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, ID_SERVICIO, ID_EMPRESA, TIENE_CUENTA, conexion);

                    if (ID_TEMPORAL <= 0)
                    {
                        correcto = false;
                        MensajeError = _contratoTemporal.MensajeError;
                        conexion.DeshacerTransaccion();
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch (ExecutionEngineException ex)
            {
                correcto = false;
                MensajeError = ex.Message;
                conexion.DeshacerTransaccion();
            }
            finally
            {
                conexion.Desconectar();
            }

            return correcto;
        }
    private void IniciarSeleccionDeUbicacion()
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_REQUERIMIENTO = Convert.ToDecimal(HiddenField_ID_REQUISICION.Value);
        Decimal ID_SOLICITUD = Convert.ToDecimal(HiddenField_ID_SOLICITUD.Value);

        ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaCOntratoTemporal = _contratoTemporal.ObtenerConRegContratosTemporalPorIdRequerimientoIdSolicitud(ID_REQUERIMIENTO, ID_SOLICITUD);

        if (tablaCOntratoTemporal.Rows.Count <= 0)
        {
            cargar_DropDownList_CIUDAD(ID_EMPRESA);
            inhabilitar_DropDownList_CENTRO_COSTO();
            inhabilitar_DropDownList_SUB_CENTRO();
            limpiarDropDownList_Servicio();

            HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

            if (Session["idEmpresa"].ToString().Trim() == "1")
            {
                colorear_indicadores_de_ubicacion(false, false, false, false, System.Drawing.Color.Transparent);

                Label_Servicio.Visible = false;
                Label_SERVICIO_SELECCIONADO.Visible = false;
            }
            else
            {
                colorear_indicadores_de_ubicacion(false, false, false, true, System.Drawing.Color.Red);

                Label_Servicio.Visible = true;
                Label_SERVICIO_SELECCIONADO.Visible = true;
            }

            Label_Riesgo.Text = "Riesgo: Desconocido.";

            TextBox_Req_usuario.Text = "";
            TextBox_Doc_Entregar.Text = "";
        }
        else
        {
            DataRow filaContratoTemporal = tablaCOntratoTemporal.Rows[0];
            CargarUbicacionTrabajadorSegunTemporal(filaContratoTemporal);
        }
    }
    private Boolean CargarUbicacionTrabajadorTemporal(Decimal ID_REQUERIMIENTO, Decimal ID_SOLICITUD)
    {
        Boolean resultadoTieneCuenta = false;

        ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaInfoTemporal = _contratoTemporal.ObtenerConRegContratosTemporalPorIdRequerimientoIdSolicitud(ID_REQUERIMIENTO, ID_SOLICITUD);

        if (tablaInfoTemporal.Rows.Count <= 0)
        {
            if (_contratoTemporal.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _contratoTemporal.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontro información temporal de contrato. Consulte al Administrador del sistema.", Proceso.Advertencia);
            }

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

            DataRow filaInfoContrato = tablaInfoTemporal.Rows[0];

            if (filaInfoContrato["TIENE_CUENTA"].ToString().Trim() == "True")
            {
                resultadoTieneCuenta = true;
            }

            if (DBNull.Value.Equals(filaInfoContrato["ID_SUB_C"]) == false)
            {
                Label_infoUbicacionTrabajador.Text = "UBICACIÓN: SUB CENTRO DE COSTO " + filaInfoContrato["NOMBRE_SUB_C"].ToString().Trim();
                HiddenField_ID_SUB_C_SELECCIONADO.Value = filaInfoContrato["ID_SUB_C"].ToString().Trim();
                HiddenField_ID_CENTRO_C_SELECCIONADO.Value = "0";
                HiddenField_ID_CIUDAD_SELECCIONADA.Value = null;
            }
            else
            {
                if (DBNull.Value.Equals(filaInfoContrato["ID_CENTRO_C"]) == false)
                {
                    Label_infoUbicacionTrabajador.Text = "UBICACIÓN: CENTRO DE COSTO " + filaInfoContrato["NOMBRE_CENTRO_C"].ToString().Trim();
                    HiddenField_ID_SUB_C_SELECCIONADO.Value = "0";
                    HiddenField_ID_CENTRO_C_SELECCIONADO.Value = filaInfoContrato["ID_CENTRO_C"].ToString().Trim();
                    HiddenField_ID_CIUDAD_SELECCIONADA.Value = null;
                }
                else
                {
                    Label_infoUbicacionTrabajador.Text = "UBICACIÓN: CIUDAD " + filaInfoContrato["NOMBRE_CIUDAD"].ToString().Trim();
                    HiddenField_ID_SUB_C_SELECCIONADO.Value = "0";
                    HiddenField_ID_CENTRO_C_SELECCIONADO.Value = "0";
                    HiddenField_ID_CIUDAD_SELECCIONADA.Value = filaInfoContrato["ID_CIUDAD"].ToString().Trim(); ;
                }
            }
        }

        return resultadoTieneCuenta;
    }
    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 Boolean ActualizarContratoTemporal(Decimal ID_REQUERIMIENTO, Decimal ID_SOLICITUD)
    {
        Boolean resultado = true;

        ObtenerVariablesUbicacionGlobales();

        ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaTemporal = _contratoTemporal.ObtenerConRegContratosTemporalPorIdRequerimientoIdSolicitud(ID_REQUERIMIENTO, ID_SOLICITUD);

        if (tablaTemporal.Rows.Count <= 0)
        {
            if (_contratoTemporal.MensajeError != null)
            {
                resultado = false;
                Informar(Panel_FONDO_MENSAJE_ARP, Image_MENSAJE_ARP_POPUP, Panel_MENSAJES_ARP, Label_MENSAJE_ARP, _contratoTemporal.MensajeError, Proceso.Error);
            }
            else
            {
                Decimal ID_TEMPORAL = _contratoTemporal.AdicionarConRegContratoTemporal(ID_REQUERIMIENTO, ID_SOLICITUD, GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, 0, Convert.ToDecimal(HiddenField_ID_EMPRESA.Value), false);

                if (ID_TEMPORAL <= 0)
                {
                    resultado = false;
                    Informar(Panel_FONDO_MENSAJE_ARP, Image_MENSAJE_ARP_POPUP, Panel_MENSAJES_ARP, Label_MENSAJE_ARP, _contratoTemporal.MensajeError, Proceso.Error);
                }
            }
        }
        else
        {
            DataRow filaTemporal = tablaTemporal.Rows[0];

            Boolean TIENE_CUENTA = false;
            if (filaTemporal["TIENE_CUENTA"].ToString().Trim() == "True")
            {
                TIENE_CUENTA = true;
            }

            Decimal ID_TEMPORAL = _contratoTemporal.AdicionarConRegContratoTemporal(ID_REQUERIMIENTO, ID_SOLICITUD, GLO_ID_CIUDAD, GLO_ID_CENTRO_C, GLO_ID_SUB_C, 0, Convert.ToDecimal(HiddenField_ID_EMPRESA.Value), TIENE_CUENTA);

            if (ID_TEMPORAL <= 0)
            {
                resultado = false;
                Informar(Panel_FONDO_MENSAJE_ARP, Image_MENSAJE_ARP_POPUP, Panel_MENSAJES_ARP, Label_MENSAJE_ARP, _contratoTemporal.MensajeError, Proceso.Error);
            }
        }

        return resultado;
    }
    private void Cargar(Decimal ID_REQUERIMIENTO, Decimal ID_SOLICITUD, Decimal ID_EMPRESA, Decimal ID_OCUPACION)
    {
        HiddenField_ID_REQUERIMIENTO.Value = ID_REQUERIMIENTO.ToString();
        HiddenField_ID_SOLICITUD.Value = ID_SOLICITUD.ToString();
        HiddenField_ID_EMPRESA.Value = ID_EMPRESA.ToString();
        HiddenField_ID_OCUPACION.Value = ID_OCUPACION.ToString();

        radicacionHojasDeVida _solIngreso = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        _solIngreso.ActualizarEstadoProcesoRegSolicitudesIngreso(Convert.ToInt32(ID_REQUERIMIENTO), Convert.ToInt32(ID_SOLICITUD), "EN AFILIACIONES", Session["USU_LOG"].ToString());

        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable _tablaReq = _requisicion.ObtenerComRequerimientoPorIdRequerimiento(ID_REQUERIMIENTO);
        DataRow _filaReq = _tablaReq.Rows[0];
        String CIUDAD_REQ = _filaReq["CIUDAD_REQ"].ToString().Trim();
        HiddenField_CIUDAD_REQ.Value = CIUDAD_REQ;

        perfil _PERFIL = new perfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaPerfil = _PERFIL.ObtenerPorRegistro(Convert.ToInt32(_filaReq["REGISTRO_PERFIL"]));
        DataRow filaPerfil = tablaPerfil.Rows[0];
        Decimal ID_PERFIL = Convert.ToDecimal(_filaReq["REGISTRO_PERFIL"]);
        ID_OCUPACION = Convert.ToDecimal(filaPerfil["ID_OCUPACION"]);
        if (!string.IsNullOrEmpty(filaPerfil["CODIGO"].ToString())) Label_RIESGO.Text = filaPerfil["CODIGO"].ToString();
        HiddenField_ID_PERFIL.Value = ID_PERFIL.ToString();
        HiddenField_ID_OCUPACION.Value = ID_OCUPACION.ToString();

        DataTable tablasol = _solIngreso.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD));
        DataRow filaSolIngreso = tablasol.Rows[0];
        String NOMBRE_TRABAJADOR = filaSolIngreso["NOMBRES"].ToString().Trim() + " " + filaSolIngreso["APELLIDOS"].ToString().Trim();
        String NUM_DOC_IDENTIDAD_COMPLETO = filaSolIngreso["TIP_DOC_IDENTIDAD"].ToString().Trim() + " " + filaSolIngreso["NUM_DOC_IDENTIDAD"].ToString().Trim();
        String NUM_DOC_IDENTIDAD = filaSolIngreso["NUM_DOC_IDENTIDAD"].ToString().Trim();
        HiddenField_NUM_DOC_IDENTIDAD.Value = NUM_DOC_IDENTIDAD;

        cliente _empresa = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaEmpresa = _empresa.ObtenerEmpresaConIdEmpresa(ID_EMPRESA);
        DataRow filaEmpresa = tablaEmpresa.Rows[0];
        String RAZ_SOCIAL = filaEmpresa["RAZ_SOCIAL"].ToString().Trim();
        HiddenField_ID_EMPRESA.Value = filaEmpresa["ID_EMPRESA"].ToString().Trim();

        cargo _cargo = new cargo(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaOcupacion = _cargo.ObtenerOcupacionPorIdOcupacion(ID_OCUPACION);
        DataRow filaOcupacion = tablaOcupacion.Rows[0];
        String CARGO = filaOcupacion["NOM_OCUPACION"].ToString().Trim();

        HiddenField_persona.Value = ID_SOLICITUD.ToString() + "," + ID_REQUERIMIENTO.ToString() + "," + ID_OCUPACION.ToString() + "," + ID_EMPRESA.ToString() + "," + NUM_DOC_IDENTIDAD.Trim();

        cargarDatosTrabajador(NOMBRE_TRABAJADOR, NUM_DOC_IDENTIDAD_COMPLETO, RAZ_SOCIAL, CARGO, ID_OCUPACION.ToString());

        ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaCOntratoTemporal = _contratoTemporal.ObtenerConRegContratosTemporalPorIdRequerimientoIdSolicitud(ID_REQUERIMIENTO, ID_SOLICITUD);

        Panel_UbicacionTrabajador.Visible = true;

        if (tablaCOntratoTemporal.Rows.Count <= 0)
        {
            if (_contratoTemporal.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _contratoTemporal.MensajeError, Proceso.Error);
            }

            CargarSeccionUbicacionTrabajador();

            Panel_INFO_ADICIONAL_MODULO.Visible = true;
            Label_INFO_ADICIONAL_MODULO.Text = "SELECCIONE LA UBICACIÓN DONDE LABORARÁ EL TRABAJADOR, PARA PODER CONTINUAR CON LAS AFILIACIONES";
        }
        else
        {
            DataRow filaContratoTemporal = tablaCOntratoTemporal.Rows[0];
            CargarUbicacionTrabajadorSegunTemporal(filaContratoTemporal);
            Panel_INFO_ADICIONAL_MODULO.Visible = true;
            Label_INFO_ADICIONAL_MODULO.Text = "DILIGENCIAR AFILIACIONES DEL TRABAJADOR";
        }

        limpiar_DropDownList_ENTIDAD_ARP();
        limpiar_DropDownList_ENTIDAD_EPS();
        limpiar_DropDownList_ENTIDAD_Caja();
        limpiar_DropDownList(DropDownList_DepartamentoCajaC);
        limpiar_DropDownList(DropDownList_CiudadCajaC);
        limpiar_DropDownList_AFP();

        cargar_DropDownList_pensionado();

        if (HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value == "S")
        {
            Panel_ARP.Visible = true;
            Panel_EPS.Visible = true;
            Panel_CCF.Visible = true;
            Panel_AFP.Visible = true;

            cargar_DropDownList_ENTIDAD_AFP();
            cargar_DropDownList_ENTIDAD_ARP();
            cargar_DropDownList_ENTIDAD_CAJA();
            cargar_DropDownList_ENTIDAD_EPS();
        }

        cargar_GridView_AFP(ID_SOLICITUD.ToString(), ID_REQUERIMIENTO.ToString());
        cargar_GridView_ARP(ID_SOLICITUD.ToString(), ID_REQUERIMIENTO.ToString());
        cargar_GridView_CCF(ID_SOLICITUD.ToString(), ID_REQUERIMIENTO.ToString());
        cargar_GridView_EPS(ID_SOLICITUD.ToString(), ID_REQUERIMIENTO.ToString());

        TextBox_ARP_OBSERVACIONES.Text = "";
        TextBox_COMENTARIOS_AFP.Text = "";
        TextBox_COMENTARIOS_EPS.Text = "";
        TextBox_observaciones_Caja.Text = "";

        Panel_Registro_CCF.Visible = true;
        Panel_registro_EPS.Visible = true;
        Panel_registros_afp.Visible = true;
        Panel_registros_ARP.Visible = true;

        if (GridView_ARP.Rows.Count > 0)
        {
            Panel_registros_ARP.Visible = false;
        }
        if (GridView_AFP.Rows.Count > 0)
        {
            Panel_registros_afp.Visible = false;
        }
        if (GridView_CAJA.Rows.Count > 0)
        {
            Panel_Registro_CCF.Visible = false;
        }
        if (GridView_EPS.Rows.Count > 0)
        {
            Panel_registro_EPS.Visible = false;
        }
    }
        public Boolean adicionarOrdenesExamenes(List <examenesEmpleado> examenesLab,
                                                Decimal ID_SOLICITUD,
                                                Decimal ID_ENTIDAD,
                                                String NUM_CUENTA,
                                                String FORMA_PAGO,
                                                String TIPO_CUENTA,
                                                Decimal ID_REQUERIMIENTO,
                                                String ID_CIUDAD,
                                                Decimal ID_CENTRO_C,
                                                Decimal ID_SUB_C,
                                                Decimal ID_SERVICIO,
                                                Decimal ID_EMPRESA,
                                                Boolean TIENE_CUENTA)
        {
            Boolean correcto = true;

            ordenExamenes orden   = new ordenExamenes(Empresa, Usuario);
            decimal       idOrden = 0;
            int           idLab   = 0;

            Conexion conexion = new Conexion(Empresa);

            conexion.IniciarTransaccion();

            try
            {
                foreach (examenesEmpleado item in examenesLab)
                {
                    if (item.valida == false)
                    {
                        idLab   = item.idLab;
                        idOrden = orden.AdicionarConRegOrdenExamen(item.idSolIngreso, item.idRequerimientos, conexion);
                        if (idOrden <= 0)
                        {
                            correcto = false;
                            conexion.DeshacerTransaccion();
                            MensajeError = orden.MensajeError;
                            break;
                        }
                        else
                        {
                            Decimal ID_EXAMEN_EMPLEADO = AdicionarConRegExamenesEmpleado(Convert.ToInt32(idOrden), item.registroAlmacen, 0, "N", item.fecha, conexion);

                            if (ID_EXAMEN_EMPLEADO <= 0)
                            {
                                correcto = false;
                                conexion.DeshacerTransaccion();
                                break;
                            }
                            else
                            {
                                item.valida = true;
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    radicacionHojasDeVida _radicacionHojasDeVida = new radicacionHojasDeVida(Empresa, Usuario);
                    if (_radicacionHojasDeVida.ActualizarEntidadNumCuenta(Convert.ToInt32(ID_SOLICITUD), Convert.ToInt32(ID_ENTIDAD), NUM_CUENTA, FORMA_PAGO, TIPO_CUENTA, conexion) == false)
                    {
                        correcto     = false;
                        MensajeError = _radicacionHojasDeVida.MensajeError;
                        conexion.DeshacerTransaccion();
                    }
                }

                if (correcto == true)
                {
                    ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Empresa, Usuario);

                    Decimal ID_TEMPORAL = _contratoTemporal.AdicionarConRegContratoTemporal(ID_REQUERIMIENTO, ID_SOLICITUD, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, ID_SERVICIO, ID_EMPRESA, TIENE_CUENTA, conexion);

                    if (ID_TEMPORAL <= 0)
                    {
                        correcto     = false;
                        MensajeError = _contratoTemporal.MensajeError;
                        conexion.DeshacerTransaccion();
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch (ExecutionEngineException ex)
            {
                correcto     = false;
                MensajeError = ex.Message;
                conexion.DeshacerTransaccion();
            }
            finally
            {
                conexion.Desconectar();
            }

            return(correcto);
        }