private String CargarCondicionesContratacion(Decimal ID_EMPRESA, Conexion _datos)
    {
        DataTable tablaPerfilesCondiciones = ConfigurarTablaPerfilesCondicionesContratacion();

        //capturamos los perfils de la empresa
        perfil _perfil = new perfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        //ok -----------------------
        DataTable tablaPerfiles = _perfil.ObtenerVenDPerfilesConOcupacionPorIdEmpresa(ID_EMPRESA, _datos);

        String htmlSeccion = String.Empty;

        //recorremos cada uno de los perfiles de la tabla
        foreach (DataRow filaPerfil in tablaPerfiles.Rows)
        {
            Decimal ID_PERFIL = Convert.ToDecimal(filaPerfil["REGISTRO"]);
            String PERFIL = filaPerfil["NOM_OCUPACION"].ToString().Trim() + " (Entre " + filaPerfil["EDAD_MIN"].ToString().Trim() + " y " + filaPerfil["EDAD_MAX"].ToString().Trim() + ").";

            //CAPTURAMOS LA INFORMACION DE CONDICIONES DE CONTRATACION ASOCIADAS AL PERFIL SELECCIONADO
            condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            // ok ------------
            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionContratacionPorIdPerfil(ID_PERFIL, _datos);

            foreach (DataRow filaCondicion in tablaCondicionContratacion.Rows)
            {
                DataRow filaPerfilCondicion = tablaPerfilesCondiciones.NewRow();

                filaPerfilCondicion["REGISTRO"] = ID_PERFIL;
                filaPerfilCondicion["PERFIL"] = PERFIL;

                if (filaCondicion["ID_CIUDAD"] != DBNull.Value)
                {
                    filaPerfilCondicion["NOM_SUB_C"] = "NO APLICA";
                    filaPerfilCondicion["NOM_CC"] = "NO APLICA";

                    ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
                    //ok -------------------------
                    DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(filaCondicion["ID_CIUDAD"].ToString(), _datos);
                    DataRow filaCiudad = tablaCiudad.Rows[0];

                    filaPerfilCondicion["NOMBRE_CIUDAD"] = filaCiudad["NOMBRE_CIUDAD"];
                }
                else
                {
                    if (filaCondicion["ID_CENTRO_C"] != DBNull.Value)
                    {
                        filaPerfilCondicion["NOM_SUB_C"] = "NO APLICA";

                        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                        //ok ----------------------
                        DataTable tablaCC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaCondicion["ID_CENTRO_C"]), _datos);
                        DataRow filaCC = tablaCC.Rows[0];

                        filaPerfilCondicion["NOM_CC"] = filaCC["NOM_CC"];

                        ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
                        // ok --------------------
                        DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(filaCC["ID_CIUDAD"].ToString(), _datos);
                        DataRow filaCiudad = tablaCiudad.Rows[0];

                        filaPerfilCondicion["NOMBRE_CIUDAD"] = filaCiudad["NOMBRE_CIUDAD"];
                    }
                    else
                    {
                        if (filaCondicion["ID_SUB_C"] != DBNull.Value)
                        {
                            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                            //ok ----------------
                            DataTable tablaSubC = _subCentroCosto.ObtenerSubCentrosDeCostoPorIdSubCosto(Convert.ToDecimal(filaCondicion["ID_SUB_C"]), _datos);
                            DataRow filaSubC = tablaSubC.Rows[0];

                            filaPerfilCondicion["NOM_SUB_C"] = filaSubC["NOM_SUB_C"];

                            centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                            // ok -------------
                            DataTable tablaCC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaSubC["ID_CENTRO_C"]), _datos);
                            DataRow filaCC = tablaCC.Rows[0];

                            filaPerfilCondicion["NOM_CC"] = filaCC["NOM_CC"];

                            ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
                            //ok --------------
                            DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(filaCC["ID_CIUDAD"].ToString(), _datos);
                            DataRow filaCiudad = tablaCiudad.Rows[0];

                            filaPerfilCondicion["NOMBRE_CIUDAD"] = filaCiudad["NOMBRE_CIUDAD"];
                        }
                    }
                }

                filaPerfilCondicion["PORCENTAJE_RIESGO"] = filaCondicion["PORCENTAJE_RIESGO"].ToString().Trim() + "%";
                filaPerfilCondicion["DOC_TRAB"] = filaCondicion["DOC_TRAB"].ToString().Trim();
                filaPerfilCondicion["OBS_CTE"] = filaCondicion["OBS_CTE"].ToString().Trim();

                //asignamos la fila a la tabla final
                tablaPerfilesCondiciones.Rows.Add(filaPerfilCondicion);
                tablaPerfilesCondiciones.AcceptChanges();
            }
        }

        //tablaTemp.Columns.Add("REGISTRO");
        //tablaTemp.Columns.Add("PERFIL");
        //tablaTemp.Columns.Add("NOM_SUB_C");
        //tablaTemp.Columns.Add("NOM_CC");
        //tablaTemp.Columns.Add("NOMBRE_CIUDAD");
        //tablaTemp.Columns.Add("PORCENTAJE_RIESGO");
        //tablaTemp.Columns.Add("DOC_TRAB");
        //tablaTemp.Columns.Add("OBS_CTE");

        foreach (DataRow fila in tablaPerfilesCondiciones.Rows)
        {
            htmlSeccion += "<tr>";
            htmlSeccion += "  <td width=\"16%\" style=\"text-align:left;\">";
            htmlSeccion += fila["PERFIL"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"12%\" style=\"text-align:center;\">";
            htmlSeccion += fila["NOM_SUB_C"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"12%\" style=\"text-align:center;\">";
            htmlSeccion += fila["NOM_CC"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"12%\" style=\"text-align:center;\">";
            htmlSeccion += fila["NOMBRE_CIUDAD"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"7%\" style=\"text-align:center;\">";
            htmlSeccion += fila["PORCENTAJE_RIESGO"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"20%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["DOC_TRAB"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"21%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["OBS_CTE"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "</tr>";
        }

        return htmlSeccion;
    }
    /// <summary>
    /// hecho por cesar pulido
    /// el dia 17 de enero de 2013
    /// para cargar la seccion de examenes medicos por condicion de contratacion
    /// </summary>
    /// <param name="ID_EMPRESA"></param>
    /// <returns></returns>
    private String CargarExamenesMedicosContratacion(Decimal ID_EMPRESA, Conexion _datos)
    {
        DataTable tablaPerfilesExamenes = ConfigurarTablaPerfilesExamenes();

        //capturamos los perfils de la empresa
        perfil _perfil = new perfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        //ok -------------
        DataTable tablaPerfiles = _perfil.ObtenerVenDPerfilesConOcupacionPorIdEmpresa(ID_EMPRESA, _datos);

        String htmlSeccion = String.Empty;

        //recorremos cada uno de los perfiles de la tabla
        foreach (DataRow filaPerfil in tablaPerfiles.Rows)
        {
            Decimal ID_PERFIL = Convert.ToDecimal(filaPerfil["REGISTRO"]);
            String PERFIL = filaPerfil["NOM_OCUPACION"].ToString().Trim() + " (Entre " + filaPerfil["EDAD_MIN"].ToString().Trim() + " y " + filaPerfil["EDAD_MAX"].ToString().Trim() + ").";

            //CAPTURAMOS LA INFORMACION DE CONDICIONES DE CONTRATACION ASOCIADAS AL PERFIL SELECCIONADO
            condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            //ok ---------------
            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionContratacionPorIdPerfil(ID_PERFIL, _datos);

            foreach (DataRow filaCondicion in tablaCondicionContratacion.Rows)
            {
                //ok
                CargarVariablesCiudadCentroYSubCentro(filaCondicion);

                DataTable tablaInfoExamenesParametrizados;
                if (GLO_ID_SUB_C != 0)
                {
                    //ok --------------------
                    tablaInfoExamenesParametrizados = _condicionesContratacion.ObtenerExamenesParametrizadosParaSubC(ID_PERFIL, GLO_ID_SUB_C, 0, _datos);
                }
                else
                {
                    if (GLO_ID_CENTRO_C != 0)
                    {
                        //ok -----------
                        tablaInfoExamenesParametrizados = _condicionesContratacion.ObtenerExamenesParametrizadosParaCentroC(ID_PERFIL, GLO_ID_CENTRO_C, 0, _datos);
                    }
                    else
                    {
                        //ok --------------
                        tablaInfoExamenesParametrizados = _condicionesContratacion.ObtenerExamenesParametrizadosParaCiudad(ID_PERFIL, GLO_ID_CIUDAD, 0, _datos);
                    }
                }

                String EXAMENES_MEDICOS_REQUERIDOS = String.Empty;

                foreach (DataRow filaInfoExamen in tablaInfoExamenesParametrizados.Rows)
                {
                    if (String.IsNullOrEmpty(EXAMENES_MEDICOS_REQUERIDOS) == true)
                    {
                        EXAMENES_MEDICOS_REQUERIDOS = "<b>" + filaInfoExamen["NOMBRE"].ToString().Trim() + "</b> - Facturar a: " + filaInfoExamen["FACTURADO_A"].ToString().Trim();
                    }
                    else
                    {
                        EXAMENES_MEDICOS_REQUERIDOS += "<br><b>" + filaInfoExamen["NOMBRE"].ToString().Trim() + "</b> - Facturar a: " + filaInfoExamen["FACTURADO_A"].ToString().Trim();
                    }
                }

                DataRow filaPerfilExamen = tablaPerfilesExamenes.NewRow();

                filaPerfilExamen["REGISTRO"] = ID_PERFIL;
                filaPerfilExamen["PERFIL"] = PERFIL;

                if (filaCondicion["ID_CIUDAD"] != DBNull.Value)
                {
                    filaPerfilExamen["NOM_SUB_C"] = "NO APLICA";
                    filaPerfilExamen["NOM_CC"] = "NO APLICA";

                    ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
                    //ok ---------
                    DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(filaCondicion["ID_CIUDAD"].ToString(), _datos);
                    DataRow filaCiudad = tablaCiudad.Rows[0];

                    filaPerfilExamen["NOMBRE_CIUDAD"] = filaCiudad["NOMBRE_CIUDAD"];
                }
                else
                {
                    if (filaCondicion["ID_CENTRO_C"] != DBNull.Value)
                    {
                        filaPerfilExamen["NOM_SUB_C"] = "NO APLICA";

                        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                        // ok -----------
                        DataTable tablaCC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaCondicion["ID_CENTRO_C"]), _datos);
                        DataRow filaCC = tablaCC.Rows[0];

                        filaPerfilExamen["NOM_CC"] = filaCC["NOM_CC"];

                        ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
                        // ok ...................
                        DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(filaCC["ID_CIUDAD"].ToString(), _datos);
                        DataRow filaCiudad = tablaCiudad.Rows[0];

                        filaPerfilExamen["NOMBRE_CIUDAD"] = filaCiudad["NOMBRE_CIUDAD"];
                    }
                    else
                    {
                        if (filaCondicion["ID_SUB_C"] != DBNull.Value)
                        {
                            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                            //ok -------------
                            DataTable tablaSubC = _subCentroCosto.ObtenerSubCentrosDeCostoPorIdSubCosto(Convert.ToDecimal(filaCondicion["ID_SUB_C"]), _datos);
                            DataRow filaSubC = tablaSubC.Rows[0];

                            filaPerfilExamen["NOM_SUB_C"] = filaSubC["NOM_SUB_C"];

                            centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                            //ok ---------
                            DataTable tablaCC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaSubC["ID_CENTRO_C"]), _datos);
                            DataRow filaCC = tablaCC.Rows[0];

                            filaPerfilExamen["NOM_CC"] = filaCC["NOM_CC"];

                            ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
                            //ok -------
                            DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(filaCC["ID_CIUDAD"].ToString(), _datos);
                            DataRow filaCiudad = tablaCiudad.Rows[0];

                            filaPerfilExamen["NOMBRE_CIUDAD"] = filaCiudad["NOMBRE_CIUDAD"];
                        }
                    }
                }

                if (String.IsNullOrEmpty(EXAMENES_MEDICOS_REQUERIDOS) == true)
                {
                    filaPerfilExamen["EXAMENES_MEDICOS_REQUERIDOS"] = "Ninguno";
                }
                else
                {
                    filaPerfilExamen["EXAMENES_MEDICOS_REQUERIDOS"] = EXAMENES_MEDICOS_REQUERIDOS;
                }

                tablaPerfilesExamenes.Rows.Add(filaPerfilExamen);
                tablaPerfilesExamenes.AcceptChanges();
            }
        }

        //tablaTemp.Columns.Add("REGISTRO");
        //tablaTemp.Columns.Add("PERFIL");
        //tablaTemp.Columns.Add("NOM_SUB_C");
        //tablaTemp.Columns.Add("NOM_CC");
        //tablaTemp.Columns.Add("NOMBRE_CIUDAD");
        //tablaTemp.Columns.Add("EXAMENES_MEDICOS_REQUERIDOS");

        foreach (DataRow fila in tablaPerfilesExamenes.Rows)
        {
            htmlSeccion += "<tr>";
            htmlSeccion += "  <td width=\"23%\" style=\"text-align:left;\">";
            htmlSeccion += fila["PERFIL"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"13%\" style=\"text-align:center;\">";
            htmlSeccion += fila["NOM_SUB_C"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"13%\" style=\"text-align:center;\">";
            htmlSeccion += fila["NOM_CC"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"13%\" style=\"text-align:center;\">";
            htmlSeccion += fila["NOMBRE_CIUDAD"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"38%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["EXAMENES_MEDICOS_REQUERIDOS"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "</tr>";
        }

        return htmlSeccion;
    }
    private void CargarCondicionesDeUnPerfil(Decimal ID_PERFIL)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);

        HiddenField_ID_PERFIL.Value = ID_PERFIL.ToString();

        HiddenField_REGISTRO_VEN_P_CONTRATACION.Value = "";

        condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionContratacionPorIdPerfil(ID_PERFIL);

        if (tablaCondicionContratacion.Rows.Count <= 0)
        {
            if (_condicionesContratacion.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _condicionesContratacion.MensajeError, Proceso.Error);
            }
            else
            {
                cargarInterfazNuevaCondicion();
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron condiciones de contratación para el perfil seleccionado</br>Por favor proceda a seleccionar una UBICACIÓN Y/Ó SERVICIO y configure los datos que se presentan.", Proceso.Advertencia);
            }
        }
        else
        {
            Ocultar(Acciones.Inicio);
            Mostrar(Acciones.GrillaCondicionesConfiguradas);

            cargar_GridView_LISTA_CONFIGURACION_ACTUAL(tablaCondicionContratacion);

            if (Session["idEmpresa"].ToString() == "1")
            {
                GridView_LISTA_CONFIGURACION_ACTUAL.Columns[7].Visible = false;
            }
            else
            {
                GridView_LISTA_CONFIGURACION_ACTUAL.Columns[7].Visible = true;
            }
        }
    }