private void CargarUbicacionTrabajadorSegunTemporal(DataRow filaContratoTemporal)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

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

        if (DBNull.Value.Equals(filaContratoTemporal["ID_SUB_C"]) == false)
        {
            Decimal ID_SUB_C = Convert.ToDecimal(filaContratoTemporal["ID_SUB_C"]);

            subCentroCosto _sub = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSubCentro = _sub.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow filaSub = tablaSubCentro.Rows[0];

            Decimal ID_CENTRO_C = Convert.ToDecimal(filaSub["ID_CENTRO_C"]);

            centroCosto _centro = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCentro = _centro.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
            DataRow filaCentro = tablaCentro.Rows[0];

            String ID_CIUDAD = filaCentro["ID_CIUDAD"].ToString().Trim();

            cargar_DropDownList_SUB_CENTRO(ID_EMPRESA, ID_CENTRO_C);
            DropDownList_sub_cc.SelectedValue = ID_SUB_C.ToString();
            DropDownList_sub_cc.Enabled = true;

            cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);
            DropDownList_CentroCosto.SelectedValue = ID_CENTRO_C.ToString();
            DropDownList_CentroCosto.Enabled = true;

            cargar_DropDownList_CIUDAD(ID_EMPRESA);
            DropDownList_Ciudad.SelectedValue = ID_CIUDAD;
            DropDownList_Ciudad.Enabled = true;

            if (Session["idEmpresa"].ToString() == "1")
            {
                DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdSubC(ID_PERFIL, ID_SUB_C);

                if (tablaCondicionContratacion.Rows.Count <= 0)
                {
                    colorear_indicadores_de_ubicacion(false, false, true, false, System.Drawing.Color.Red);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                    Label_Riesgo.Text = "Riesgo: Desconocido.";
                    TextBox_Doc_Entregar.Text = "";
                    TextBox_Req_usuario.Text = "";
                }
                else
                {
                    colorear_indicadores_de_ubicacion(false, false, true, false, System.Drawing.Color.Green);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";

                    DataRow filaCondicion = tablaCondicionContratacion.Rows[0];

                    Label_Riesgo.Text = "Riesgo: " + filaCondicion["VALOR_RIESGO"].ToString().Trim(); ;
                    TextBox_Doc_Entregar.Text = filaCondicion["DOC_TRAB"].ToString().Trim();
                    TextBox_Req_usuario.Text = filaCondicion["OBS_CTE"].ToString().Trim();
                }

                Label_Servicio.Visible = false;
                Label_SERVICIO_SELECCIONADO.Visible = false;
            }
            else
            {
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                cargar_DropDownList_SERVICIO_sub_c(ID_SUB_C);

                colorear_indicadores_de_ubicacion(false, false, false, true, System.Drawing.Color.Red);

                Label_Servicio.Visible = true;
                Label_SERVICIO_SELECCIONADO.Visible = true;
            }
        }
        else
        {
            if (DBNull.Value.Equals(filaContratoTemporal["ID_CENTRO_C"]) == false)
            {
                Decimal ID_CENTRO_C = Convert.ToDecimal(filaContratoTemporal["ID_CENTRO_C"]);

                centroCosto _centro = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaCentro = _centro.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaCentro = tablaCentro.Rows[0];

                String ID_CIUDAD = filaCentro["ID_CIUDAD"].ToString().Trim();

                inhabilitar_DropDownList_SUB_CENTRO();
                DropDownList_sub_cc.Enabled = true;

                cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);
                DropDownList_CentroCosto.SelectedValue = ID_CENTRO_C.ToString();
                DropDownList_CentroCosto.Enabled = true;

                cargar_DropDownList_CIUDAD(ID_EMPRESA);
                DropDownList_Ciudad.SelectedValue = ID_CIUDAD;
                DropDownList_Ciudad.Enabled = true;

                if (Session["idEmpresa"].ToString() == "1")
                {
                    DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCentroC(ID_PERFIL, ID_CENTRO_C);

                    if (tablaCondicionContratacion.Rows.Count <= 0)
                    {
                        colorear_indicadores_de_ubicacion(false, true, false, false, System.Drawing.Color.Red);
                        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                        Label_Riesgo.Text = "Riesgo: Desconocido.";
                        TextBox_Doc_Entregar.Text = "";
                        TextBox_Req_usuario.Text = "";
                    }
                    else
                    {
                        colorear_indicadores_de_ubicacion(false, true, false, false, System.Drawing.Color.Green);
                        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";

                        DataRow filaCondicion = tablaCondicionContratacion.Rows[0];

                        Label_Riesgo.Text = "Riesgo: " + filaCondicion["VALOR_RIESGO"].ToString().Trim(); ;
                        TextBox_Doc_Entregar.Text = filaCondicion["DOC_TRAB"].ToString().Trim();
                        TextBox_Req_usuario.Text = filaCondicion["OBS_CTE"].ToString().Trim();
                    }

                    Label_Servicio.Visible = false;
                    Label_SERVICIO_SELECCIONADO.Visible = false;
                }
                else
                {
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                    cargar_DropDownList_SERVICIO_centro_c(ID_CENTRO_C);

                    colorear_indicadores_de_ubicacion(false, false, false, true, System.Drawing.Color.Red);

                    Label_Servicio.Visible = true;
                    Label_SERVICIO_SELECCIONADO.Visible = true;
                }
            }
            else
            {
                String ID_CIUDAD = filaContratoTemporal["ID_CIUDAD"].ToString().Trim();

                inhabilitar_DropDownList_SUB_CENTRO();
                DropDownList_sub_cc.Enabled = true;

                inhabilitar_DropDownList_CENTRO_COSTO();
                DropDownList_CentroCosto.Enabled = true;

                cargar_DropDownList_CIUDAD(ID_EMPRESA);
                DropDownList_Ciudad.SelectedValue = ID_CIUDAD;
                DropDownList_Ciudad.Enabled = true;

                if (Session["idEmpresa"].ToString() == "1")
                {
                    DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCiudad(ID_PERFIL, ID_CIUDAD);

                    if (tablaCondicionContratacion.Rows.Count <= 0)
                    {
                        colorear_indicadores_de_ubicacion(true, false, false, false, System.Drawing.Color.Red);
                        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                        Label_Riesgo.Text = "Riesgo: Desconocido.";
                        TextBox_Doc_Entregar.Text = "";
                        TextBox_Req_usuario.Text = "";
                    }
                    else
                    {
                        colorear_indicadores_de_ubicacion(true, false, false, false, System.Drawing.Color.Green);
                        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";

                        DataRow filaCondicion = tablaCondicionContratacion.Rows[0];

                        Label_Riesgo.Text = "Riesgo: " + filaCondicion["VALOR_RIESGO"].ToString().Trim(); ;
                        TextBox_Doc_Entregar.Text = filaCondicion["DOC_TRAB"].ToString().Trim();
                        TextBox_Req_usuario.Text = filaCondicion["OBS_CTE"].ToString().Trim();
                    }

                    Label_Servicio.Visible = false;
                    Label_SERVICIO_SELECCIONADO.Visible = false;
                }
                else
                {
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                    cargar_DropDownList_SERVICIO_ciudad(ID_CIUDAD, ID_EMPRESA);

                    colorear_indicadores_de_ubicacion(false, false, false, true, System.Drawing.Color.Red);

                    Label_Servicio.Visible = true;
                    Label_SERVICIO_SELECCIONADO.Visible = true;
                }
            }
        }
    }
    protected void DropDownList_Ciudad_SelectedIndexChanged(object sender, EventArgs e)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

        if (DropDownList_Ciudad.SelectedIndex <= 0)
        {
            HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
            inhabilitar_DropDownList_CENTRO_COSTO();
            inhabilitar_DropDownList_SUB_CENTRO();
            limpiarDropDownList_Servicio();

            Label_Riesgo.Text = "Riesgo: Desconocido.";
            TextBox_Doc_Entregar.Text = "";
            TextBox_Req_usuario.Text = "";

            if (Session["idEmpresa"].ToString() == "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;
            }
        }
        else
        {
            condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            String ID_CIUDAD = DropDownList_Ciudad.SelectedValue;

            cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);
            DropDownList_CentroCosto.Enabled = true;
            inhabilitar_DropDownList_SUB_CENTRO();

            if (Session["idEmpresa"].ToString() == "1")
            {
                DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCiudad(ID_PERFIL, ID_CIUDAD);

                if (tablaCondicionContratacion.Rows.Count <= 0)
                {
                    colorear_indicadores_de_ubicacion(true, false, false, false, System.Drawing.Color.Red);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                    Label_Riesgo.Text = "Riesgo: Desconocido.";
                    TextBox_Doc_Entregar.Text = "";
                    TextBox_Req_usuario.Text = "";
                }
                else
                {
                    colorear_indicadores_de_ubicacion(true, false, false, false, System.Drawing.Color.Green);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";

                    DataRow filaCondicion = tablaCondicionContratacion.Rows[0];

                    Label_Riesgo.Text = "Riesgo: " + filaCondicion["VALOR_RIESGO"].ToString().Trim();
                    TextBox_Doc_Entregar.Text = filaCondicion["DOC_TRAB"].ToString().Trim();
                    TextBox_Req_usuario.Text = filaCondicion["OBS_CTE"].ToString().Trim();
                }

                Label_Servicio.Visible = false;
                Label_SERVICIO_SELECCIONADO.Visible = false;
            }
            else
            {
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

                cargar_DropDownList_SERVICIO_ciudad(ID_CIUDAD, ID_EMPRESA);

                colorear_indicadores_de_ubicacion(false, false, false, true, System.Drawing.Color.Red);

                Label_Servicio.Visible = true;
                Label_SERVICIO_SELECCIONADO.Visible = true;
            }
        }
    }
    protected void Button_Guardar_Click(object sender, EventArgs e)
    {
        try
        {
            if (DropDownList_Clase_contrato.SelectedValue == ClaseContrato.IN.ToString())
            {
                parametroSalarial ParametroSalarial = new parametroSalarial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataRow dataRow = ParametroSalarial.ObtenerPorAño(System.DateTime.Now.Year);
                if (dataRow != null)
                {
                    if (string.IsNullOrEmpty(dataRow["SMMLV"].ToString()))
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha definido el SMMLV para el año " + System.DateTime.Now.Year.ToString(), Proceso.Error);
                        return;
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(dataRow["SMMLV_SALARIO_INTEGRAL"].ToString()))
                        {
                            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha definido la cantidad de SMMLV del salario integral, para el año" + System.DateTime.Now.Year.ToString(), Proceso.Error);
                            return;
                        }
                        else
                        {

                            if ((Convert.ToDecimal(this.TextBox_Salario.Text)) < (Convert.ToDecimal(dataRow["SMMLV_SALARIO_INTEGRAL"].ToString()) * Convert.ToDecimal(dataRow["SMMLV"].ToString())))
                            {
                                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El salario integral es menor al permitido " + (Convert.ToDecimal(dataRow["SMMLV_SALARIO_INTEGRAL"].ToString()) * Convert.ToDecimal(dataRow["SMMLV"].ToString())), Proceso.Error);
                                return;
                            }
                            else
                            {
                                if (!(Convert.ToDecimal(TextBox_contrato_integral_porcentaje_parafiscales.Text).Equals(Convert.ToDecimal(dataRow["PORC_BASE_SEGSOC_SALINTEGRAL"].ToString()))))
                                {
                                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El porcentaje parafiscal debe ser " + dataRow["PORC_BASE_SEGSOC_SALINTEGRAL"].ToString(), Proceso.Error);
                                    return;
                                }
                                else
                                {
                                    if (!(Convert.ToDecimal(TextBox_contrato_integral_porcentaje_prestacional.Text).Equals(Convert.ToDecimal(dataRow["PORC_BASE_VACACIONES_SALINTEGRAL"].ToString()))))
                                    {
                                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El porcentaje prestacional debe ser " + dataRow["PORC_BASE_VACACIONES_SALINTEGRAL"].ToString(), Proceso.Error);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se han configurado los parametros salariales para el año " + System.DateTime.Now.Year.ToString(), Proceso.Error);
                    return;
                }
            }

            tools _tools = new tools();
            SecureQueryString QueryStringSeguro;
            QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);
            String persona = QueryStringSeguro["persona"].ToString();
            String[] datos = persona.Split(',');

            requisicion _req = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(Convert.ToDecimal(datos[1]));
            DataRow filaReq = tablaReq.Rows[0];
            String idPerfil = filaReq["REGISTRO_PERFIL"].ToString();
            Decimal riesgo = 0;
            String centroCosto = "0";
            String SubCentroCosto = "0";
            String Ciudad = null;
            String servicio = "0";
            Decimal salario = 0;
            Decimal smmlv = 0;
            Decimal smmlv_integral = 0;
            String AFP = null;
            String ARP = null;
            String CCF = null;
            String EPS = null;
            String pensionado = "N";
            int id_requerimiento = Convert.ToInt32(datos[1].ToString());
            int id_solicitud = Convert.ToInt32(datos[0].ToString());
            int id_empresa = Convert.ToInt32(datos[3].ToString());
            int ID_SERVICIO_RESPECTIVO = Convert.ToInt32(filaReq["ID_SERVICIO_RESPECTIVO"].ToString());
            String clase_Contrato = null;
            String tipo_Contrato = null;
            DateTime fechaInicio;
            DateTime fechaFinal;

            int id_entidad_Bancaria = 0;
            String formaPago = null;
            String tipoCuenta = String.Empty;
            String num_Cuenta = null;

            String salInt = null;
            String pago_Dias_Productividad = "N";
            String sena_productivo = "N";
            String sena_electivo = "N";
            String practicante_Universitario = "N";
            Decimal valor_nomina = 0;
            Decimal valor_contrato = 0;
            DateTime fecha_inicio_periodo;
            DateTime fecha_fin_periodo;
            String periodo_pago = null;

            radicacionHojasDeVida _sol = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSolicitud = _sol.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(datos[0]));
            DataRow filaSolicitud = tablaSolicitud.Rows[0];

            formaPago = filaSolicitud["FORMA_PAGO"].ToString();

            parametroSalarial par = new parametroSalarial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable par_ta = par.ObtenerSalarioMinimo(Convert.ToInt32(System.DateTime.Today.Year.ToString()));
            DataRow fila = par_ta.Rows[0];
            smmlv = Convert.ToDecimal(fila["SMMLV"].ToString());
            par_ta.Clear();
            fila.Delete();
            par_ta = par.ObtenerSalarioIntegral(Convert.ToInt32(System.DateTime.Today.Year.ToString()));
            fila = par_ta.Rows[0];
            smmlv_integral = Convert.ToDecimal(fila["SMMLV_SALARIO_INTEGRAL"].ToString());

            Ciudad = this.DropDownList_Ciudad.SelectedValue;
            centroCosto = this.DropDownList_CentroCosto.SelectedValue;
            SubCentroCosto = this.DropDownList_sub_cc.SelectedValue;

            if (DropDownList_Salario_integral.SelectedValue.Equals("S"))
            {
                salario = Convert.ToDecimal(TextBox_Salario.Text);
                Decimal salarioInt = smmlv * smmlv_integral;
                if (salario < salarioInt)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El salario ingresado debe ser igual o mayor a " + salarioInt + " dado que indico que es salario integral", Proceso.Advertencia);
                }
            }

            #region afiliaciones
            afiliacion _afiliacion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaAfiliacion;
            DataRow filaAfiliacion;
            if (RadioButton_PRACTICANTE_UNI.Checked)
            {
                practicante_Universitario = "S";
                pensionado = "N";
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionArpPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a ARL", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    ARP = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }
            }
            else if (RadioButton_SENA_ELECTIVO.Checked)
            {
                sena_electivo = "S";
                pensionado = "N";
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

            }
            else if (RadioButton_SENA_PRODUCTIVO.Checked)
            {
                sena_productivo = "S";
                pensionado = "N";
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionArpPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a ARL.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    ARP = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }
            }
            else
            {
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionArpPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a ARL.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    ARP = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionCajasCPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a CCF.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    CCF = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionfpensionesPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a AFP.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    pensionado = filaAfiliacion["PENSIONADO"].ToString();
                    if (pensionado.Equals("S"))
                    {
                        AFP = "0";
                    }
                    else
                    {
                        AFP = filaAfiliacion["REGISTRO"].ToString();
                    }
                }
            }
            #endregion afiliaciones
            #region riesgo
            condicionesContratacion _riesgo = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            if (Session["idEmpresa"].ToString().Equals("3"))
            {
                if (String.IsNullOrEmpty(DropDownList_servicio.SelectedValue.ToString()))
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Debe seleccionar un servicio.", Proceso.Advertencia);
                }
                else
                {
                    if (!(String.IsNullOrEmpty(DropDownList_sub_cc.SelectedValue.ToString())))
                    {
                        DataTable tablaCondContr = _riesgo.ObtenerCondicionContratacionPorIdPerfilIdSubCIdServicio(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_sub_cc.SelectedItem.Value.ToString()), Convert.ToDecimal(DropDownList_servicio.SelectedItem.Value.ToString()));
                        DataRow filaCondContrata = tablaCondContr.Rows[0];
                        riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                        SubCentroCosto = DropDownList_sub_cc.SelectedValue;
                        servicio = DropDownList_servicio.SelectedValue;
                    }
                    else if (!(String.IsNullOrEmpty(DropDownList_CentroCosto.SelectedValue.ToString())))
                    {
                        DataTable tablaCondContr = _riesgo.ObtenerCondicionContratacionPorIdPerfilIdCentroCIdServicio(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_CentroCosto.SelectedItem.Value.ToString()), Convert.ToDecimal(DropDownList_servicio.SelectedItem.Value.ToString()));
                        DataRow filaCondContrata = tablaCondContr.Rows[0];
                        riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                        centroCosto = DropDownList_CentroCosto.SelectedValue;
                        servicio = DropDownList_servicio.SelectedValue;
                    }
                    else if (!(String.IsNullOrEmpty(DropDownList_Ciudad.SelectedValue.ToString())))
                    {
                        DataTable tablaCondContr = _riesgo.ObtenerCondicionContratacionPorIdPerfilIdCiudadIdServicio(Convert.ToDecimal(idPerfil), DropDownList_Ciudad.SelectedItem.Value.ToString(), Convert.ToDecimal(DropDownList_servicio.SelectedItem.Value.ToString()));
                        DataRow filaCondContrata = tablaCondContr.Rows[0];
                        riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                        Ciudad = DropDownList_Ciudad.SelectedValue;
                        servicio = DropDownList_servicio.SelectedValue;
                    }
                }
            }
            else
            {
                if (!(String.IsNullOrEmpty(DropDownList_sub_cc.SelectedValue.ToString())))
                {
                    DataTable tablaCondContr = _riesgo.ObtenerCondicionComercialPorIdPerfilIdSubC(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_sub_cc.SelectedItem.Value.ToString()));
                    DataRow filaCondContrata = tablaCondContr.Rows[0];
                    riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                    SubCentroCosto = DropDownList_sub_cc.SelectedValue;
                }
                else if (!(String.IsNullOrEmpty(DropDownList_CentroCosto.SelectedValue.ToString())))
                {
                    DataTable tablaCondContr = _riesgo.ObtenerCondicionComercialPorIdPerfilIdCentroC(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_CentroCosto.SelectedItem.Value.ToString()));
                    DataRow filaCondContrata = tablaCondContr.Rows[0];
                    riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                    centroCosto = DropDownList_CentroCosto.SelectedValue;
                }
                else if (!(String.IsNullOrEmpty(DropDownList_Ciudad.SelectedValue.ToString())))
                {
                    DataTable tablaCondContr = _riesgo.ObtenerCondicionComercialPorIdPerfilIdCiudad(Convert.ToDecimal(idPerfil), DropDownList_Ciudad.SelectedItem.Value.ToString());
                    DataRow filaCondContrata = tablaCondContr.Rows[0];
                    riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                    Ciudad = DropDownList_Ciudad.SelectedValue;
                }
            }
            #endregion riesgo

            clase_Contrato = DropDownList_Clase_contrato.SelectedItem.Value.ToString();
            tipo_Contrato = DropDownList_tipo_Contrato.SelectedItem.Value.ToString();

            if (clase_Contrato.Equals("C_A") == true)
            {
                fechaInicio = Convert.ToDateTime(TextBox_contrato_aprendiz_fecha_inicio.Text);
            }
            else
            {
                fechaInicio = Convert.ToDateTime(TextBox_fecha_inicio.Text);
            }

            if (clase_Contrato.Equals("I") | clase_Contrato.Equals("L_S_C_D_A") )
            {
                fechaFinal = Convert.ToDateTime("01/01/1900");
            }
            else
            {
                if (clase_Contrato.Equals("C_A") == true)
                {
                    fechaFinal = Convert.ToDateTime(TextBox_contrato_aprendiz_fecha_final.Text);
                }
                else
                {
                    fechaFinal = Convert.ToDateTime(TextBox_fecha_terminacion.Text);
                }
            }

            if (formaPago.Equals("CHEQUE") | formaPago.Equals("EFECTIVO"))
            {
                num_Cuenta = null;
                id_entidad_Bancaria = 0;
                tipoCuenta = String.Empty;
            }
            else
            {
                if (String.IsNullOrEmpty(filaSolicitud["ID_ENTIDAD"].ToString()))
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha seleccionado la entidad bancaria, ni el número de cuenta, vuelva a la opción de exámenes y complete el proceso. Verifique por favor.", Proceso.Advertencia);
                    num_Cuenta = null;
                    id_entidad_Bancaria = 0;
                }
                else
                {
                    id_entidad_Bancaria = Convert.ToInt32(filaSolicitud["ID_ENTIDAD"].ToString());
                    num_Cuenta = filaSolicitud["NUM_CUENTA"].ToString();
                    tipoCuenta = filaSolicitud["TIPO_CUENTA"].ToString();
                }
            }

            salario = Convert.ToDecimal(TextBox_Salario.Text);
            salInt = DropDownList_Salario_integral.SelectedValue.ToString();
            if (DropDownList_tipo_Contrato.SelectedValue.Equals("PR"))
            {
                pago_Dias_Productividad = "S";
                valor_contrato = Convert.ToDecimal(TextBox_Salario.Text);
                valor_nomina = Convert.ToDecimal(TextBox_Salario.Text);
            }

            periodo_pago = DropDownList_PERIODO_PAGO.SelectedValue.ToString();

            fecha_inicio_periodo = fechaInicio;
            fecha_fin_periodo = fechaFinal;

            registroContrato contrato = new registroContrato(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable tablaContratosExistentes = contrato.ObtenerNomEmpleadoPorIDSolicitudYFechaIngreso(id_solicitud, fechaInicio);

            if (tablaContratosExistentes.Rows.Count <= 0)
            {
                String datosG = contrato.ElaborarContrato(id_requerimiento,
                        id_solicitud,
                        id_empresa,
                        Convert.ToInt32(centroCosto),
                        Convert.ToInt32(SubCentroCosto),
                        Ciudad,
                        ID_SERVICIO_RESPECTIVO,
                        Convert.ToInt32(servicio),
                        Convert.ToInt32(ARP),
                        Convert.ToInt32(CCF),
                        Convert.ToInt32(EPS),
                        Convert.ToInt32(AFP),
                        Convert.ToDecimal(riesgo),
                        pensionado,
                        clase_Contrato,
                        tipo_Contrato,
                        "C",
                        fechaInicio,
                        fechaFinal,
                        salInt,
                        salario,
                        "S",
                        "S",
                        "N",
                        "N",
                        id_entidad_Bancaria,
                        num_Cuenta,
                        formaPago,
                        pago_Dias_Productividad,
                        sena_productivo,
                        sena_electivo,
                        practicante_Universitario,
                        valor_contrato,
                        valor_nomina,
                        fecha_inicio_periodo,
                        fecha_fin_periodo,
                        periodo_pago,
                        tipoCuenta,
                        DropDownList_DESCRIPCION_SALARIO.SelectedValue.ToString(),
                        Convert.ToDecimal(HiddenField_ID_PERFIL.Value));

                if (!(String.IsNullOrEmpty(contrato.MensajeError)))
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El empleado no fue creado, " + contrato.MensajeError, Proceso.Error);
                }
                else
                {
                    String[] d = datosG.Split(',');
                    HiddenField_ID_CONTRATO.Value = d[0];
                    HiddenField_persona.Value = id_solicitud + "," + id_requerimiento + "," + datos[2] + "," + datos[3] + "," + datos[4] + "," + datosG;

                    Clausula clausula = new Clausula(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    Cargar(clausula.ObtenerContratacionPorIdEmpleado(Convert.ToDecimal(d[1])), GridView_clausulas);
                    HiddenField_ID_EMPLEADO.Value = d[1].ToString();
                    cargar_menu_botones_modulos_internos(false);

                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El empleado y el contrato fueron creados con exito: " + datosG, Proceso.Correcto);
                }

                configurarBotonesDeAccion(true, true, true, true);

                Panel_Informacion_Contrato.Enabled = false;
            }
            else
            {
                DataRow filaContratos = tablaContratosExistentes.Rows[0];

                String datosG = filaContratos["ID_CONTRATO"].ToString() + "," + filaContratos["ID_EMPLEADO"].ToString();
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El Trabajador ya tiene un contrato activo con la misma fecha de ingreso. Los datos del contrato son: " + datosG, Proceso.Correcto);
            }
        }
        catch (Exception err)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, err.Message, Proceso.Error);
        }
    }
    protected void DropDownList_CIUDAD_TRABAJADOR_SelectedIndexChanged(object sender, EventArgs e)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

        if (DropDownList_CIUDAD_TRABAJADOR.SelectedIndex <= 0)
        {
            colorear_indicadores_de_ubicacion(false, false, false, System.Drawing.Color.Transparent);
            HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

            inhabilitar_DropDownList_CENTRO_COSTO();
            inhabilitar_DropDownList_SUB_CENTRO();
        }
        else
        {
            condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            String ID_CIUDAD = DropDownList_CIUDAD_TRABAJADOR.SelectedValue;

            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCiudad(ID_PERFIL, ID_CIUDAD);

            if (tablaCondicionContratacion.Rows.Count <= 0)
            {
                colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Red);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
            }
            else
            {
                colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Green);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
            }

            cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);
            DropDownList_CC_TRABAJADOR.Enabled = true;
            inhabilitar_DropDownList_SUB_CENTRO();
        }
    }
    private void CargarUbicacionTrabajadorSegunTemporal(DataRow filaContratoTemporal)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

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

        if (DBNull.Value.Equals(filaContratoTemporal["ID_SUB_C"]) == false)
        {
            Decimal ID_SUB_C = Convert.ToDecimal(filaContratoTemporal["ID_SUB_C"]);

            subCentroCosto _sub = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSubCentro = _sub.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow filaSub = tablaSubCentro.Rows[0];

            Decimal ID_CENTRO_C = Convert.ToDecimal(filaSub["ID_CENTRO_C"]);

            centroCosto _centro = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCentro = _centro.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
            DataRow filaCentro = tablaCentro.Rows[0];

            String ID_CIUDAD = filaCentro["ID_CIUDAD"].ToString().Trim();

            cargar_DropDownList_SUB_CENTRO(ID_EMPRESA, ID_CENTRO_C);
            DropDownList_SUB_CENTRO_TRABAJADOR.SelectedValue = ID_SUB_C.ToString();
            DropDownList_SUB_CENTRO_TRABAJADOR.Enabled = true;

            cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);
            DropDownList_CC_TRABAJADOR.SelectedValue = ID_CENTRO_C.ToString();
            DropDownList_CC_TRABAJADOR.Enabled = true;

            cargar_DropDownList_CIUDAD(ID_EMPRESA);
            DropDownList_CIUDAD_TRABAJADOR.SelectedValue = ID_CIUDAD;
            DropDownList_CIUDAD_TRABAJADOR.Enabled = true;

            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdSubC(ID_PERFIL, ID_SUB_C);

            if (tablaCondicionContratacion.Rows.Count <= 0)
            {
                colorear_indicadores_de_ubicacion(false, false, true, System.Drawing.Color.Red);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
            }
            else
            {
                colorear_indicadores_de_ubicacion(false, false, true, System.Drawing.Color.Green);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
            }
        }
        else
        {
            if (DBNull.Value.Equals(filaContratoTemporal["ID_CENTRO_C"]) == false)
            {
                Decimal ID_CENTRO_C = Convert.ToDecimal(filaContratoTemporal["ID_CENTRO_C"]);

                centroCosto _centro = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaCentro = _centro.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaCentro = tablaCentro.Rows[0];

                String ID_CIUDAD = filaCentro["ID_CIUDAD"].ToString().Trim();

                inhabilitar_DropDownList_SUB_CENTRO();
                DropDownList_SUB_CENTRO_TRABAJADOR.Enabled = true;

                cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);
                DropDownList_CC_TRABAJADOR.SelectedValue = ID_CENTRO_C.ToString();
                DropDownList_CC_TRABAJADOR.Enabled = true;

                cargar_DropDownList_CIUDAD(ID_EMPRESA);
                DropDownList_CIUDAD_TRABAJADOR.SelectedValue = ID_CIUDAD;
                DropDownList_CIUDAD_TRABAJADOR.Enabled = true;

                DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCentroC(ID_PERFIL, ID_CENTRO_C);

                if (tablaCondicionContratacion.Rows.Count <= 0)
                {
                    colorear_indicadores_de_ubicacion(false, true, false, System.Drawing.Color.Red);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
                }
                else
                {
                    colorear_indicadores_de_ubicacion(false, true, false, System.Drawing.Color.Green);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
                }
            }
            else
            {
                String ID_CIUDAD = filaContratoTemporal["ID_CIUDAD"].ToString().Trim();

                inhabilitar_DropDownList_SUB_CENTRO();
                DropDownList_SUB_CENTRO_TRABAJADOR.Enabled = true;

                inhabilitar_DropDownList_CENTRO_COSTO();
                DropDownList_CC_TRABAJADOR.Enabled = true;

                cargar_DropDownList_CIUDAD(ID_EMPRESA);
                DropDownList_CIUDAD_TRABAJADOR.SelectedValue = ID_CIUDAD;
                DropDownList_CIUDAD_TRABAJADOR.Enabled = true;

                DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCiudad(ID_PERFIL, ID_CIUDAD);

                if (tablaCondicionContratacion.Rows.Count <= 0)
                {
                    colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Red);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
                }
                else
                {
                    colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Green);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
                }
            }
        }
    }
    private void cargar_ubicacion_trabajador_segun_ciudad_cc_subc(DataRow filaInfoContrato)
    {
        String ID_CIUDAD = filaInfoContrato["ID_CIUDAD"].ToString().Trim();
        Decimal ID_CENTRO_C = 0;
        Decimal ID_SUB_C = 0;

        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);
        Decimal ID_EMPRESA = Convert.ToDecimal(filaInfoContrato["ID_EMPRESA"]);

        try
        {
            ID_CENTRO_C = Convert.ToDecimal(filaInfoContrato["ID_CENTRO_C"]);
        }
        catch
        {
            ID_CENTRO_C = 0;
        }

        try
        {
            ID_SUB_C = Convert.ToDecimal(filaInfoContrato["ID_SUB_C"]);
        }
        catch
        {
            ID_SUB_C = 0;
        }

        HiddenField_CIUDAD_TRABAJADOR.Value = ID_CIUDAD;
        HiddenField_CENTRO_C_TRABAJADOR.Value = ID_CENTRO_C.ToString();
        HiddenField_SUB_C_TRABAJADOR.Value = ID_SUB_C.ToString();

        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";

        cargar_DropDownList_RIESGO_EMPLEADO(ID_EMPRESA);

        try
        {
            DropDownList_RIESGO_EMPLEADO.SelectedValue = Convert.ToDecimal(filaInfoContrato["RIESGO"]).ToString();
        }
        catch
        {
            DropDownList_RIESGO_EMPLEADO.SelectedIndex = 0;
        }
        HiddenField_RIESGO_INICIAL.Value = DropDownList_RIESGO_EMPLEADO.SelectedValue;

        if (String.IsNullOrEmpty(HiddenField_RIESGO_INICIAL.Value) == true)
        {
            Label_RIESGO_INICIAL.Text = "Riesgo Inicial: Desconocido";
            Label_RIESGO_INICIAL.ForeColor = System.Drawing.Color.Red;
        }
        else
        {
            Label_RIESGO_INICIAL.Text = "Riesgo Inicial: " + HiddenField_RIESGO_INICIAL.Value;
            Label_RIESGO_INICIAL.ForeColor = System.Drawing.Color.Green;
        }

        condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        if (ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable tablaInfoSubC = _subCentroCosto.ObtenerSubCentroDeCostoPorIdSubCConInfoDeCCyCiudad(ID_SUB_C);
            DataRow filaInfoSubC = tablaInfoSubC.Rows[0];

            cargar_DropDownList_CIUDAD(ID_EMPRESA);
            DropDownList_CIUDAD_TRABAJADOR.SelectedValue = filaInfoSubC["ID_CIUDAD"].ToString().Trim();

            cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, filaInfoSubC["ID_CIUDAD"].ToString().Trim());
            DropDownList_CC_TRABAJADOR.SelectedValue = filaInfoSubC["ID_CENTRO_C"].ToString().Trim();

            cargar_DropDownList_SUB_CENTRO(ID_EMPRESA, Convert.ToDecimal(filaInfoSubC["ID_CENTRO_C"]));
            try
            {
                DropDownList_SUB_CENTRO_TRABAJADOR.SelectedValue = ID_SUB_C.ToString();
            }
            catch
            {
                DropDownList_SUB_CENTRO_TRABAJADOR.ClearSelection();
            }

            DropDownList_CIUDAD_TRABAJADOR.Enabled = true;
            DropDownList_CC_TRABAJADOR.Enabled = true;
            DropDownList_SUB_CENTRO_TRABAJADOR.Enabled = true;

            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdSubC(ID_PERFIL, ID_SUB_C);

            if (tablaCondicionContratacion.Rows.Count <= 0)
            {
                colorear_indicadores_de_ubicacion(false, false, true, System.Drawing.Color.Red);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
            }
            else
            {
                colorear_indicadores_de_ubicacion(false, false, true, System.Drawing.Color.Green);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
            }
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                DataTable tablaInfoCentroC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaInfoCentroC = tablaInfoCentroC.Rows[0];

                cargar_DropDownList_CIUDAD(ID_EMPRESA);
                DropDownList_CIUDAD_TRABAJADOR.SelectedValue = filaInfoCentroC["ID_CIUDAD"].ToString().Trim();

                cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, filaInfoCentroC["ID_CIUDAD"].ToString().Trim());
                DropDownList_CC_TRABAJADOR.SelectedValue = ID_CENTRO_C.ToString();

                cargar_DropDownList_SUB_CENTRO(ID_EMPRESA, ID_CENTRO_C);

                DropDownList_CIUDAD_TRABAJADOR.Enabled = true;
                DropDownList_CC_TRABAJADOR.Enabled = true;
                DropDownList_SUB_CENTRO_TRABAJADOR.Enabled = true;

                DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCentroC(ID_PERFIL, ID_CENTRO_C);

                if (tablaCondicionContratacion.Rows.Count <= 0)
                {
                    colorear_indicadores_de_ubicacion(false, true, false, System.Drawing.Color.Red);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
                }
                else
                {
                    colorear_indicadores_de_ubicacion(false, true, false, System.Drawing.Color.Green);
                    HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
                }
            }
            else
            {
                if (String.IsNullOrEmpty(ID_CIUDAD) == false)
                {
                    cargar_DropDownList_CIUDAD(ID_EMPRESA);
                    DropDownList_CIUDAD_TRABAJADOR.SelectedValue = ID_CIUDAD;

                    cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, ID_CIUDAD);

                    DropDownList_CIUDAD_TRABAJADOR.Enabled = true;
                    DropDownList_CC_TRABAJADOR.Enabled = true;
                    inhabilitar_DropDownList_SUB_CENTRO();

                    DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCiudad(ID_PERFIL, ID_CIUDAD);

                    if (tablaCondicionContratacion.Rows.Count <= 0)
                    {
                        colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Red);
                        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
                    }
                    else
                    {
                        colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Green);
                        HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";
                    }
                }
            }
        }
    }
    protected void DropDownList_CC_TRABAJADOR_SelectedIndexChanged(object sender, EventArgs e)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(DropDownList_CARGO_TRABAJADOR.SelectedValue);
        String ID_CIUDAD = DropDownList_CIUDAD_TRABAJADOR.SelectedValue;
        condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        cargar_DropDownList_RIESGO_EMPLEADO(ID_EMPRESA);

        if (DropDownList_CC_TRABAJADOR.SelectedIndex <= 0)
        {
            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCiudad(ID_PERFIL, ID_CIUDAD);

            if (tablaCondicionContratacion.Rows.Count <= 0)
            {
                colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Red);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
            }
            else
            {
                colorear_indicadores_de_ubicacion(true, false, false, System.Drawing.Color.Green);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";

                DataRow filaInfoCondicion = tablaCondicionContratacion.Rows[0];
                try
                {
                    DropDownList_RIESGO_EMPLEADO.SelectedValue = Convert.ToDecimal(filaInfoCondicion["RIESGO"]).ToString();
                }
                catch
                {
                    DropDownList_RIESGO_EMPLEADO.SelectedIndex = 0;
                }
            }

            inhabilitar_DropDownList_SUB_CENTRO();
        }
        else
        {
            Decimal ID_CENTRO_C = Convert.ToDecimal(DropDownList_CC_TRABAJADOR.SelectedValue);

            DataTable tablaCondicionContratacion = _condicionesContratacion.ObtenerCondicionComercialPorIdPerfilIdCentroC(ID_PERFIL, ID_CENTRO_C);

            if (tablaCondicionContratacion.Rows.Count <= 0)
            {
                colorear_indicadores_de_ubicacion(false, true, false, System.Drawing.Color.Red);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "N";
            }
            else
            {
                colorear_indicadores_de_ubicacion(false, true, false, System.Drawing.Color.Green);
                HiddenField_SELECCION_ITEM_CON_CONDICIONES_CONTRATACION.Value = "S";

                DataRow filaInfoCondicion = tablaCondicionContratacion.Rows[0];
                try
                {
                    DropDownList_RIESGO_EMPLEADO.SelectedValue = Convert.ToDecimal(filaInfoCondicion["RIESGO"]).ToString();
                }
                catch
                {
                    DropDownList_RIESGO_EMPLEADO.SelectedIndex = 0;
                }
            }

            cargar_DropDownList_SUB_CENTRO(ID_EMPRESA, ID_CENTRO_C);
            DropDownList_SUB_CENTRO_TRABAJADOR.Enabled = true;
        }

        ColorearRiesgoInicial();
    }