private void cargar_GridView_CENTROS_DE_COSTO(Decimal ID_EMPRESA, String ID_CIUDAD)
    {
        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCCDeCiudad = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, ID_CIUDAD);

        if (tablaCCDeCiudad.Rows.Count <= 0)
        {
            configurarMensajesCC(true, System.Drawing.Color.Red);
            Label_MENSAJE_COBERTURA.Text = "La Ciudad no tiene centros de costo actualmente.";
        }
        else
        {
            configurarMensajesCC(false, System.Drawing.Color.Red);

            GridView_CENTROS_DE_COSTO.DataSource = tablaCCDeCiudad;
            GridView_CENTROS_DE_COSTO.DataBind();

            DataRow filaEnTablaCC;
            condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCondicionesComercialesDeCC;

            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSUBCCDeCC;
            for (int i = 0; i < tablaCCDeCiudad.Rows.Count; i++)
            {
                filaEnTablaCC = tablaCCDeCiudad.Rows[i];

                tablaCondicionesComercialesDeCC = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, null, Convert.ToDecimal(filaEnTablaCC["ID_CENTRO_C"]), 0);
                if (tablaCondicionesComercialesDeCC.Rows.Count <= 0)
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].BackColor = colorNo;
                }
                else
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].BackColor = colorSi;
                }

                tablaSUBCCDeCC = _subCentroCosto.ObtenerSubCentrosDeCostoPorIdEmpresaIdCentroCosto(ID_EMPRESA, Convert.ToDecimal(filaEnTablaCC["ID_CENTRO_C"]));
                if (tablaSUBCCDeCC.Rows.Count <= 0)
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].Cells[2].Enabled = false;
                }
                else
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].Cells[2].Enabled = true;
                }
            }
        }

        configurarMensajesSUBCC(true, System.Drawing.Color.Red);
        Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
        GridView_SUB_CENTROS_DE_COSTO.DataSource = null;
        GridView_SUB_CENTROS_DE_COSTO.DataBind();
    }
    private void cargar_GridView_COBERTURA()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        cobertura _cobertura = new cobertura(Session["idEmpresa"].ToString());

        DataTable tablaCobertura = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA);

        if (tablaCobertura.Rows.Count <= 0)
        {
            configurarMensajesCobertura(true, System.Drawing.Color.Red);
            Label_MENSAJE_COBERTURA.Text = "La empresa no tiene configurada actualmente una cobertura.";
        }
        else
        {
            configurarMensajesCobertura(false, System.Drawing.Color.Red);

            GridView_COBERTURA.DataSource = tablaCobertura;
            GridView_COBERTURA.DataBind();

            DataRow filaEnTablaCobertura;
            condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCondicionesComercialesDeCobertura;

            centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCentrosDeCostoCiudad;
            for (int i = 0; i < tablaCobertura.Rows.Count; i++)
            {
                filaEnTablaCobertura = tablaCobertura.Rows[i];

                tablaCondicionesComercialesDeCobertura = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, filaEnTablaCobertura["Código Ciudad"].ToString(), 0, 0);
                if (tablaCondicionesComercialesDeCobertura.Rows.Count <= 0)
                {
                    GridView_COBERTURA.Rows[i].BackColor = colorNo;
                }
                else
                {
                    GridView_COBERTURA.Rows[i].BackColor = colorSi;
                }

                tablaCentrosDeCostoCiudad = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, filaEnTablaCobertura["Código Ciudad"].ToString());
                if (tablaCentrosDeCostoCiudad.Rows.Count <= 0)
                {
                    GridView_COBERTURA.Rows[i].Cells[1].Enabled = false;
                }
                else
                {
                    GridView_COBERTURA.Rows[i].Cells[1].Enabled = true;
                }

            }
        }

        configurarMensajesCC(true, System.Drawing.Color.Red);
        Label_MENSAJE_CC.Text = "Por favor seleccionar una ciudad de la lista de cobertura.";
        GridView_CENTROS_DE_COSTO.DataSource = null;
        GridView_CENTROS_DE_COSTO.DataBind();

        configurarMensajesSUBCC(true, System.Drawing.Color.Red);
        Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
        GridView_SUB_CENTROS_DE_COSTO.DataSource = null;
        GridView_SUB_CENTROS_DE_COSTO.DataBind();
    }
    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 cargarInfoCondiciones(Boolean bModificar)
    {
        capturarVariablesGlogales();

        if (ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCostoMODULO = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaInfoSubCentro = _subCentroCostoMODULO.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow filaTablaInfoSubCentro = tablaInfoSubCentro.Rows[0];

            configurarInfoAdicionalModulo(true, filaTablaInfoSubCentro["NOM_SUB_C"].ToString());

            Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                centroCosto _centroCostoMODULO = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaInfoCC = _centroCostoMODULO.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaTablaInfoCC = tablaInfoCC.Rows[0];

                configurarInfoAdicionalModulo(true, filaTablaInfoCC["NOM_CC"].ToString());

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == false) && (ID_EMPRESA != 0))
                {
                    cobertura _coberturaMODULO = new cobertura(Session["idEmpresa"].ToString());
                    DataTable tablaInfoCiudad = _coberturaMODULO.obtenerNombreCiudadPorIdCiudad(ID_CIUDAD);
                    DataRow filaTablaInfoCiudad = tablaInfoCiudad.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCiudad["NOMBRE"].ToString());

                    Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
                }
                else
                {
                    cliente _clienteMODULO = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    DataTable tablaInfoCliente = _clienteMODULO.ObtenerEmpresaConIdEmpresa(ID_EMPRESA);
                    DataRow filaTablaInfoCliente = tablaInfoCliente.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCliente["RAZ_SOCIAL"].ToString());
                    Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = true;
                }
            }
        }

        condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCondiciones = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C);
        if (tablaCondiciones.Rows.Count <= 0)
        {
            if (_condicionComercial.MensajeError != null)
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(false, false, false, false);
                }
                else
                {
                    configurarBotonesDeAccion(false, false, false, true);
                }

                Panel_FORMULARIO.Visible = false;

                Panel_SECCION_SERVICIOS.Visible = false;

                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _condicionComercial.MensajeError;

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(false, true, true, false);
                }
                else
                {
                    configurarBotonesDeAccion(false, true, true, true);
                }

                Panel_FORMULARIO.Visible = true;

                Panel_SECCION_SERVICIOS.Visible = false;

                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;

                controlesParaNuevaCondicionEconomica();

                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;
                    cargarEstructuraDeCC();

                    configurarMensajesCC(true, System.Drawing.Color.Red);
                    Label_MENSAJE_CC.Text = "Por favor seleccionar una ciudad de la lista de cobertura.";

                    configurarMensajesSUBCC(true, System.Drawing.Color.Red);
                    Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
                }
                else
                {
                    Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;
                }
            }
        }
        else
        {

            if (bModificar == true)
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(false, true, true, false);
                }
                else
                {
                    configurarBotonesDeAccion(false, true, true, true);
                }

                Panel_FORMULARIO.Enabled = true;

                Panel_CONTROL_REGISTRO.Visible = false;

                Panel_COD_CONDICIONES.Visible = false;

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = true;
                mostrar_modulo_copia_condiciones_grupoempresarial();

            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(true, false, false, false);
                }
                else
                {
                    configurarBotonesDeAccion(true, false, false, true);
                }

                Panel_FORMULARIO.Enabled = false;

                Panel_CONTROL_REGISTRO.Visible = true;
                Panel_CONTROL_REGISTRO.Enabled = false;

                Panel_COD_CONDICIONES.Visible = true;
                Panel_COD_CONDICIONES.Enabled = false;

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }

            Panel_FORMULARIO.Visible = true;

            configurarMensajes(false, System.Drawing.Color.Green);

            DataRow infoCondicionesComerciales = tablaCondiciones.Rows[0];

            cargar_campos_condiciones_comerciales(infoCondicionesComerciales);

            DataTable tablaServiciosDeLaEntidad;
            if (ID_SUB_C != 0)
            {
                tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdSubC(ID_SUB_C);

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }
            else
            {
                if (ID_CENTRO_C != 0)
                {
                    tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCentroC(ID_CENTRO_C);

                    Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
                }
                else
                {
                    if ((ID_EMPRESA != 0) && (String.IsNullOrEmpty(ID_CIUDAD) == false))
                    {
                        tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCiudad(ID_CIUDAD, ID_EMPRESA);

                        Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
                    }
                    else
                    {
                        tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdEmpresa(ID_EMPRESA);

                    }
                }
            }

            if (tablaServiciosDeLaEntidad.Rows.Count <= 0)
            {
                habilitarSeccionServiciosParaDatosNuevos(bModificar);
            }
            else
            {

                List<servicio> listaServicios = new List<servicio>();
                Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);

                cargarInformacionServiciosComplementariosDeUnaEntidad(tablaServiciosDeLaEntidad, bModificar, false);
            }

            if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
            {
                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;
                cargarEstructuraDeCC();

                configurarMensajesCC(true, System.Drawing.Color.Red);
                Label_MENSAJE_CC.Text = "Por favor seleccionar una ciudad de la lista de cobertura.";

                configurarMensajesSUBCC(true, System.Drawing.Color.Red);
                Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
            }
            else
            {
                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;
            }
        }
    }
    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;
                }
            }
        }
    }
    private void CargarDropsCiudadCCSubCYServico(DataRow filaInfoCondicionContratacion)
    {
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);

        DeterminarIDsSubCCentrosCCiudadDesdeDataRow(filaInfoCondicionContratacion);

        if (GLO_ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaInfoSubC = _subCentroCosto.ObtenerSubCentroDeCostoPorIdSubCConInfoDeCCyCiudad(GLO_ID_SUB_C);
            DataRow filaInfoSubC = tablaInfoSubC.Rows[0];

            Cargar_DropDownList_CIUDAD(ID_EMPRESA);
            DropDownList_CIUDAD.SelectedValue = filaInfoSubC["ID_CIUDAD"].ToString().Trim();

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

            Cargar_DropDownList_SUB_CENTRO(ID_EMPRESA, Convert.ToDecimal(filaInfoSubC["ID_CENTRO_C"]));
            DropDownList_SUB_CENTRO.SelectedValue = GLO_ID_SUB_C.ToString();

            Cargar_DropDownList_SERVICIO_sub_c(GLO_ID_SUB_C);
            try
            {
                DropDownList_SERVICIO.SelectedValue = GLO_ID_SERVICIO.ToString();
            }
            catch
            {
                DropDownList_SERVICIO.SelectedIndex = 0;
            }
        }
        else
        {
            if (GLO_ID_CENTRO_C != 0)
            {
                centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaInfoCentroC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(GLO_ID_CENTRO_C);
                DataRow filaInfoCentroC = tablaInfoCentroC.Rows[0];

                Cargar_DropDownList_CIUDAD(ID_EMPRESA);
                DropDownList_CIUDAD.SelectedValue = filaInfoCentroC["ID_CIUDAD"].ToString().Trim();

                Cargar_DropDownList_CENTRO_COSTO(ID_EMPRESA, filaInfoCentroC["ID_CIUDAD"].ToString().Trim());
                DropDownList_CENTRO_COSTO.SelectedValue = GLO_ID_CENTRO_C.ToString();

                Cargar_DropDownListVacio(DropDownList_SUB_CENTRO);

                Cargar_DropDownList_SERVICIO_centro_c(GLO_ID_CENTRO_C);
                try
                {
                    DropDownList_SERVICIO.SelectedValue = GLO_ID_SERVICIO.ToString();
                }
                catch
                {
                    DropDownList_SERVICIO.SelectedIndex = 0;
                }
            }
            else
            {
                if (String.IsNullOrEmpty(GLO_ID_CIUDAD) == false)
                {
                    Cargar_DropDownList_CIUDAD(ID_EMPRESA);
                    DropDownList_CIUDAD.SelectedValue = GLO_ID_CIUDAD;

                    Cargar_DropDownListVacio(DropDownList_CENTRO_COSTO);
                    Cargar_DropDownListVacio(DropDownList_SUB_CENTRO);

                    Cargar_DropDownList_SERVICIO_ciudad(GLO_ID_CIUDAD, ID_EMPRESA);
                    try
                    {
                        DropDownList_SERVICIO.SelectedValue = GLO_ID_SERVICIO.ToString();
                    }
                    catch
                    {
                        DropDownList_SERVICIO.SelectedIndex = 0;
                    }
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se pudo realizar el cargue de la ubicación. Consulte al administrador.", Proceso.Error);
                }
            }
        }
    }
    private void Cargar(GridView gridView, decimal IdEmpresa, string idCiudad)
    {
        centroCosto centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable dataTable = centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(IdEmpresa, idCiudad);

            if (dataTable.Rows.Count > 0)
            {
                gridView.DataSource = dataTable;
                gridView.DataBind();
            }
            if (dataTable != null) dataTable.Dispose();
    }
    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;
    }
    protected void Button_GUARDAR_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        String accion = QueryStringSeguro["accion"].ToString();

        String ID_CIUDAD = DropDownList_CIUDAD.SelectedValue;
        String NOM_CC = TextBox_NOMBRE_CENTRO_COSTO.Text.Trim().ToUpper();
        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        String TIPO_NOM = null;
        if (DropDownList_PERIODO_PAGO.SelectedIndex > 0)
        {
            TIPO_NOM = DropDownList_PERIODO_PAGO.SelectedValue;
        }

        String ID_BANCO = null;
        if (DropDownList_BANCO.SelectedIndex > 0)
        {
            ID_BANCO = DropDownList_BANCO.SelectedValue;
        }

        String CC_EXC_IVA = "N";
        if (CheckBox_EXCENTO_IVA.Checked == true)
        {
            CC_EXC_IVA = "S";
        }

        DataTable tablaResultado;
        Decimal ID_CENTRO_C = 0;
        if (accion == "nuevo")
        {
            DataTable tablaInfoCC = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudadNombreCC(ID_EMPRESA, ID_CIUDAD, NOM_CC);
            if (tablaInfoCC.Rows.Count > 0)
            {
                DataRow filaCC = tablaInfoCC.Rows[0];
                ID_CENTRO_C = Convert.ToDecimal(filaCC["ID_CENTRO_C"]);
                String ESTADO = "ACTIVO";

                tablaResultado = _centroCosto.ActualizarCC(ID_CENTRO_C, ID_EMPRESA, NOM_CC, TIPO_NOM, CC_EXC_IVA, ID_CIUDAD, ID_BANCO, ESTADO);

                if (tablaResultado.Rows.Count <= 0)
                {
                    if (String.IsNullOrEmpty(_centroCosto.MensajeError) == true)
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se pudo procesar la petición. " + _centroCosto.MensajeError, Proceso.Error);
                    }
                    else
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Ocurrio un error inesperado procesando la solicitud. No se actualizó el centro de costo seleccionado.", Proceso.Error);
                    }
                }
                else
                {
                    DataRow filaResultado = tablaResultado.Rows[0];

                    QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());
                    QueryStringSeguro["img_area"] = "contratacion";
                    QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                    QueryStringSeguro["nombre_modulo"] = "CENTROS DE COSTO";
                    QueryStringSeguro["accion"] = "cargarActivado";
                    QueryStringSeguro["tipo"] = filaResultado["tipo"].ToString().Trim().ToUpper();
                    QueryStringSeguro["mensaje"] = filaResultado["mensaje"].ToString().Trim();
                    QueryStringSeguro["reg"] = ID_EMPRESA.ToString();
                    QueryStringSeguro["cc"] = ID_CENTRO_C.ToString();

                    Response.Redirect("~/contratacion/centrosCosto.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                }
            }
            else
            {
                tablaResultado = _centroCosto.AdicionarCC(ID_EMPRESA, NOM_CC, TIPO_NOM, CC_EXC_IVA, ID_CIUDAD, ID_BANCO);

                if (tablaResultado.Rows.Count <= 0)
                {
                    if (String.IsNullOrEmpty(_centroCosto.MensajeError) == true)
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se pudo procesar la petición. " + _centroCosto.MensajeError, Proceso.Error);
                    }
                    else
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Ocurrio un error inesperado procesando la solicitud. No se actualizó el centro de costo seleccionado.", Proceso.Error);
                    }
                }
                else
                {
                    DataRow filaResultado = tablaResultado.Rows[0];

                    QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());
                    QueryStringSeguro["img_area"] = "contratacion";
                    QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                    QueryStringSeguro["nombre_modulo"] = "CENTROS DE COSTO";
                    QueryStringSeguro["accion"] = "cargarNuevo";
                    QueryStringSeguro["tipo"] = filaResultado["tipo"].ToString().Trim().ToUpper();
                    QueryStringSeguro["mensaje"] = filaResultado["mensaje"].ToString();
                    QueryStringSeguro["reg"] = ID_EMPRESA.ToString();
                    QueryStringSeguro["cc"] = filaResultado["id"].ToString();

                    Response.Redirect("~/contratacion/centrosCosto.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                }
            }
        }
        else
        {
            if (accion == "modificar")
            {
                String ESTADO = "ACTIVO";
                if (CheckBox_OcultarCC.Checked == true)
                {
                    ESTADO = "OCULTO";
                }

                ID_CENTRO_C = Convert.ToDecimal(QueryStringSeguro["cc"].ToString());
                tablaResultado = _centroCosto.ActualizarCC(ID_CENTRO_C, ID_EMPRESA, NOM_CC, TIPO_NOM, CC_EXC_IVA, ID_CIUDAD, ID_BANCO, ESTADO);

                if (tablaResultado.Rows.Count <= 0)
                {
                    if (String.IsNullOrEmpty(_centroCosto.MensajeError) == true)
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se pudo procesar la petición. " + _centroCosto.MensajeError, Proceso.Error);
                    }
                    else
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Ocurrio un error inesperado procesando la solicitud. No se actualizó el centro de costo seleccionado.", Proceso.Error);
                    }
                }
                else
                {
                    DataRow filaResultado = tablaResultado.Rows[0];

                    if (ESTADO == "ACTIVO")
                    {
                        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());
                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        QueryStringSeguro["nombre_modulo"] = "CENTROS DE COSTO";
                        QueryStringSeguro["accion"] = "cargarModificado";
                        QueryStringSeguro["tipo"] = filaResultado["tipo"].ToString().Trim().ToUpper();
                        QueryStringSeguro["mensaje"] = filaResultado["mensaje"].ToString();
                        QueryStringSeguro["reg"] = ID_EMPRESA.ToString();
                        QueryStringSeguro["cc"] = ID_CENTRO_C.ToString();

                        Response.Redirect("~/contratacion/centrosCosto.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                    }
                    else
                    {
                        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());
                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        QueryStringSeguro["nombre_modulo"] = "CENTROS DE COSTO";
                        QueryStringSeguro["accion"] = "cargarOculto";
                        QueryStringSeguro["tipo"] = filaResultado["tipo"].ToString().Trim().ToUpper();
                        QueryStringSeguro["mensaje"] = filaResultado["mensaje"].ToString();
                        QueryStringSeguro["reg"] = ID_EMPRESA.ToString();
                        QueryStringSeguro["cc"] = ID_CENTRO_C.ToString();

                        Response.Redirect("~/contratacion/centrosCosto.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                    }

                }
            }
        }
    }
    protected void GridView_COBERTURA_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"].ToString());
        Label_MENSAJE_COBERTURA.Text = String.Empty;

        if (e.CommandName == "Ciudad")
        {
            int fila = Convert.ToInt32(e.CommandArgument);

            Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
            String ID_CIUDAD = GridView_COBERTURA.DataKeys[fila].Values["Código Ciudad"].ToString();

            centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable _dataTableCC = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, ID_CIUDAD);
            this.HiddenField_cobertura.Value = ID_CIUDAD;
            Cargar(ID_EMPRESA, ID_CIUDAD);

            if (_dataTableCC.Rows.Count == 0) Informar(Label_MENSAJE_COBERTURA, "ADVERTENCIA: La Ciudad no tiene centros de costo actualmente.", Proceso.Error);

            GridView_CENTROS_DE_COSTO.DataSource = _dataTableCC;
            GridView_CENTROS_DE_COSTO.DataBind();
            if (GridView_CENTROS_DE_COSTO.Rows.Count > 0) this.Panel_MENSAJE_CC.Visible = false;
            else this.Panel_MENSAJE_CC.Visible = true;
            _dataTableCC.Dispose();
            this.Label_INFO_ADICIONAL_MODULO.Text = "Ciudad - " + GridView_COBERTURA.DataKeys[fila].Values["Ciudad"].ToString();
        }
    }
    private void iniciarControlesCargar(Boolean modificar)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_CENTRO_C = Convert.ToDecimal(QueryStringSeguro["cc"]);
        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablainfoCC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);

        if (tablainfoCC.Rows.Count <= 0)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información del centro de costo seleccionado.",Proceso.Advertencia);

            configurarBotonesDeAccion(true, false, false, false, true);
            Panel_FORM_BOTONES_1.Visible = false;

            Panel_RESULTADOS_GRID.Visible = false;

            Panel_FORMULARIO.Visible = false;

            Panel_SUB_CENTROS.Visible = false;
        }
        else
        {
            DataRow filaInfoCC = tablainfoCC.Rows[0];

            if (modificar == true)
            {
                configurarBotonesDeAccion(false, false, true, true, true);
            }
            else
            {
                configurarBotonesDeAccion(true, true, false, false, true);
            }

            Panel_RESULTADOS_GRID.Visible = false;

            Panel_FORMULARIO.Visible = true;
            if (modificar == true)
            {
                Panel_FORMULARIO.Enabled = true;

                Panel_CONTROL_REGISTRO.Visible = false;
            }
            else
            {
                Panel_FORMULARIO.Enabled = false;

                Panel_CONTROL_REGISTRO.Visible = true;

                TextBox_USU_CRE.Text = filaInfoCC["USU_CRE"].ToString();
                try
                {
                    TextBox_FCH_CRE.Text = DateTime.Parse(filaInfoCC["FCH_CRE"].ToString()).ToShortDateString();
                    TextBox_HOR_CRE.Text = DateTime.Parse(filaInfoCC["FCH_CRE"].ToString()).ToShortTimeString();
                }
                catch
                {
                    TextBox_FCH_CRE.Text = "";
                    TextBox_HOR_CRE.Text = "";
                }
                TextBox_USU_MOD.Text = filaInfoCC["USU_MOD"].ToString();
                try
                {
                    TextBox_FCH_MOD.Text = DateTime.Parse(filaInfoCC["FCH_MOD"].ToString()).ToShortDateString();
                    TextBox_HOR_MOD.Text = DateTime.Parse(filaInfoCC["FCH_MOD"].ToString()).ToShortTimeString();
                }
                catch
                {
                    TextBox_FCH_MOD.Text = "";
                    TextBox_HOR_MOD.Text = "";
                }
            }

            Panel_IDENTIFICADOR.Visible = true;
            Panel_IDENTIFICADOR.Enabled = false;
            TextBox_REGISTRO.Text = filaInfoCC["ID_CENTRO_C"].ToString().Trim();

            Page.Header.Title += ": " + filaInfoCC["NOM_CC"].ToString().Trim();

            cargar_DropDownList_CIUDAD(ID_EMPRESA);
            DropDownList_CIUDAD.SelectedValue = filaInfoCC["ID_CIUDAD"].ToString().Trim();

            TextBox_NOMBRE_CENTRO_COSTO.Text = filaInfoCC["NOM_CC"].ToString().Trim();

            cargar_DropDownList_PERIODO_PAGO();
            DropDownList_PERIODO_PAGO.SelectedValue = filaInfoCC["TIPO_NOM"].ToString();

            cargar_DropDownList_BANCO();
            DropDownList_BANCO.SelectedValue = filaInfoCC["ID_BANCO"].ToString();

            if ((filaInfoCC["CC_EXC_IVA"].ToString() == "") || (filaInfoCC["CC_EXC_IVA"].ToString() == "N"))
            {
                CheckBox_EXCENTO_IVA.Checked = false;
            }
            else
            {
                CheckBox_EXCENTO_IVA.Checked = true;
            }

            if (modificar == true)
            {
                Panel_SUB_CENTROS.Visible = false;
            }
            else
            {
                iniciarSubCentros();
            }

            if (modificar == true)
            {
                Panel_OcultarCC.Visible = true;
            }
            else
            {
                Panel_OcultarCC.Visible = false;
            }
        }
    }
    private void cargar_GridView_DATOS()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        String reg = QueryStringSeguro["reg"].ToString();

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCentrosCosto = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresa(Convert.ToDecimal(reg));

        if (tablaCentrosCosto.Rows.Count > 0)
        {
            GridView_DATOS.DataSource = tablaCentrosCosto;
            GridView_DATOS.DataBind();
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "ADVERTENCIA: El cliente no posee centros de costo creados.", Proceso.Error);

            configurarBotonesDeAccion(true, false, false, false, false);
            Panel_FORM_BOTONES_1.Visible = false;

            Panel_RESULTADOS_GRID.Visible = false;

            Panel_FORMULARIO.Visible = false;
        }
    }
    protected void GridView_DATOS_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView_DATOS.PageIndex = e.NewPageIndex;

        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        String reg = QueryStringSeguro["reg"].ToString();

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCentrosCosto = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresa(Convert.ToDecimal(reg));

        if (tablaCentrosCosto.Rows.Count > 0)
        {
            GridView_DATOS.DataSource = tablaCentrosCosto;
            GridView_DATOS.DataBind();
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El cliente no posee centros de costo creados.", Proceso.Advertencia);

            configurarBotonesDeAccion(true, false, false, false, false);
            Panel_FORM_BOTONES_1.Visible = false;

            Panel_RESULTADOS_GRID.Visible = false;

            Panel_FORMULARIO.Visible = false;
        }
    }
    private void controlesParaNuevaCondicionEconomica()
    {
        capturarVariablesGlogales();

        if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
        {
            configurarBotonesDeAccion(false, true, true, false);

            configurarMensajes(true, System.Drawing.Color.Red);
            Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros de condiciones económicas para mostrar, por favor digitelas y guarde.";

            Panel_CONTROL_REGISTRO.Visible = false;

            Panel_COD_CONDICIONES.Visible = false;

            CheckBox_FACTURA_NOMINA.Checked = false;

            cargar_DropDownList_MOD_SOPORTE();
            cargar_DropDownList_MOD_FACTURA();

            TextBox_AD_NOM.Text = "0";
            CheckBox_SOLO_DEV.Checked = false;
            CheckBox_APL_MTZ.Checked = false;

            TextBox_AD_PENSION.Text = "0";
            TextBox_AD_SALUD.Text = "0";
            TextBox_AD_RIESGOS.Text = "0";
            TextBox_AD_APO_SENA.Text = "0";
            TextBox_AD_APO_ICBF.Text = "0";
            TextBox_AD_APO_CAJA.Text = "0";
            TextBox_AD_VACACIONES.Text = "0";
            TextBox_AD_CESANTIA.Text = "0";
            TextBox_AD_INT_CES.Text = "0";
            TextBox_AD_PRIMA.Text = "0";
            TextBox_AD_SEG_VID.Text = "0";

            CheckBox_SUB_PENSION.Checked = false;
            CheckBox_SUB_SALUD.Checked = false;
            CheckBox_SUB_RIESGO.Checked = false;
            CheckBox_SUB_SENA.Checked = false;
            CheckBox_SUB_ICBF.Checked = false;
            CheckBox_SUB_CAJA.Checked = false;
            CheckBox_SUB_VACACIONES.Checked = false;
            CheckBox_SUB_CESANTIAS.Checked = false;
            CheckBox_SUB_INT_CES.Checked = false;
            CheckBox_SUB_PRIMA.Checked = false;
            CheckBox_SUB_SEG_VID.Checked = false;

            CheckBox_RET_VAC.Checked = false;
            CheckBox_RET_CES.Checked = false;
            CheckBox_RET_INT_CES.Checked = false;
            CheckBox_RET_PRIM.Checked = false;

            TextBox_DIAS_VNC.Text = "";

            cargar_DropDownList_REGIMEN();

            TextBox_OBS_FACT.Text = "";

            habilitarSeccionServiciosParaDatosNuevos(true);

            mostrar_modulo_copia_condiciones_grupoempresarial();
        }
        else
        {
            Decimal ID_EMPRESA_1 = ID_EMPRESA;
            String ID_CIUDAD_1 = null;
            Decimal ID_CENTRO_C_1 = 0;
            Decimal ID_SUB_C_1 = 0;

            Panel_FORMULARIO.Visible = true;
            Panel_FORMULARIO.Enabled = true;

            Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;

            configurarMensajes(false, System.Drawing.Color.Green);

            condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(),Session["USU_LOG"].ToString());

            if (ID_SUB_C != 0)
            {
                subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablainfoSubCentro = _subCentroCosto.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
                DataRow infoSubCentro = tablainfoSubCentro.Rows[0];

                ID_EMPRESA_1 = ID_EMPRESA;
                ID_CIUDAD_1 = null;
                ID_CENTRO_C_1 = Convert.ToDecimal(infoSubCentro["ID_CENTRO_C"]);
                ID_SUB_C_1 = 0;
            }
            else
            {
                if (ID_CENTRO_C != 0)
                {
                    centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    DataTable tablaCentroCosto = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                    DataRow infoCentroCosto = tablaCentroCosto.Rows[0];

                    ID_EMPRESA_1 = ID_EMPRESA;
                    ID_CIUDAD_1 = infoCentroCosto["ID_CIUDAD"].ToString().Trim();
                    ID_CENTRO_C_1 = 0;
                    ID_SUB_C_1 = 0;
                }
            }

            DataTable tablaCondicionesHeredadas = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA_1, ID_CIUDAD_1, ID_CENTRO_C_1, ID_SUB_C_1);

            if (tablaCondicionesHeredadas.Rows.Count <= 0)
            {
                configurarBotonesDeAccion(false, true, true, true);

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros de condiciones económicas para mostrar y no se pudieron heredar condiciones económicas de la entidad anterior a la seleccionada,  por favor digite las nuevas condiciones y guarde.";

                Panel_CONTROL_REGISTRO.Visible = false;

                Panel_COD_CONDICIONES.Visible = false;

                CheckBox_FACTURA_NOMINA.Checked = false;

                cargar_DropDownList_MOD_SOPORTE();
                cargar_DropDownList_MOD_FACTURA();

                TextBox_AD_NOM.Text = "0,00";
                CheckBox_SOLO_DEV.Checked = false;
                CheckBox_APL_MTZ.Checked = false;

                TextBox_AD_PENSION.Text = "0,00";
                TextBox_AD_SALUD.Text = "0,00";
                TextBox_AD_RIESGOS.Text = "0,00";
                TextBox_AD_APO_SENA.Text = "0,00";
                TextBox_AD_APO_ICBF.Text = "0,00";
                TextBox_AD_APO_CAJA.Text = "0,00";
                TextBox_AD_VACACIONES.Text = "0,00";
                TextBox_AD_CESANTIA.Text = "0,00";
                TextBox_AD_INT_CES.Text = "0,00";
                TextBox_AD_PRIMA.Text = "0,00";
                TextBox_AD_SEG_VID.Text = "0,00";

                CheckBox_SUB_PENSION.Checked = false;
                CheckBox_SUB_SALUD.Checked = false;
                CheckBox_SUB_RIESGO.Checked = false;
                CheckBox_SUB_SENA.Checked = false;
                CheckBox_SUB_ICBF.Checked = false;
                CheckBox_SUB_CAJA.Checked = false;
                CheckBox_SUB_VACACIONES.Checked = false;
                CheckBox_SUB_CESANTIAS.Checked = false;
                CheckBox_SUB_INT_CES.Checked = false;
                CheckBox_SUB_PRIMA.Checked = false;
                CheckBox_SUB_SEG_VID.Checked = false;

                CheckBox_RET_VAC.Checked = false;
                CheckBox_RET_CES.Checked = false;
                CheckBox_RET_INT_CES.Checked = false;
                CheckBox_RET_PRIM.Checked = false;

                TextBox_DIAS_VNC.Text = "";

                cargar_DropDownList_REGIMEN();

                TextBox_OBS_FACT.Text = "";

                habilitarSeccionServiciosParaDatosNuevos(true);
            }
            else
            {
                DataRow infoCondicionesComerciales = tablaCondicionesHeredadas.Rows[0];

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros de condiciones económicas para mostrar, se heredaron las condiciones económicas de la entidad anterior a la seleccionada, por favor realice los cambios necesarios y guarde la información.";

                configurarBotonesDeAccion(false, true, true, true);

                Panel_CONTROL_REGISTRO.Visible = false;

                Panel_COD_CONDICIONES.Visible = false;

                cargar_campos_condiciones_comerciales(infoCondicionesComerciales);

                TextBox_USU_CRE.Text = "";
                TextBox_FCH_CRE.Text = "";
                TextBox_HOR_CRE.Text = "";
                TextBox_USU_MOD.Text = "";
                TextBox_FCH_MOD.Text = "";
                TextBox_HOR_MOD.Text = "";

                TextBox_COD_CONDICION.Text = "";

                DataTable tablaServiciosHeredados;

                if (ID_SUB_C != 0)
                {
                    tablaServiciosHeredados = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCentroC(ID_CENTRO_C_1);
                }
                else
                {
                    if (ID_CENTRO_C != 0)
                    {
                        tablaServiciosHeredados = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCiudad(ID_CIUDAD_1, ID_EMPRESA_1);
                    }
                    else
                    {
                        tablaServiciosHeredados = _condicionComercial.ObtenerServiciosPorEmpresaPorIdEmpresa(ID_EMPRESA_1);
                    }
                }

                if (tablaServiciosHeredados.Rows.Count <= 0)
                {
                    habilitarSeccionServiciosParaDatosNuevos(true);
                }
                else
                {

                    List<servicio> listaServicios = new List<servicio>();
                    Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                    Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                    List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                    Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                    Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);

                    cargarInformacionServiciosComplementariosDeUnaEntidad(tablaServiciosHeredados, true, true);
                }

                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;
                    cargarEstructuraDeCC();

                    configurarMensajesCC(true, System.Drawing.Color.Red);
                    Label_MENSAJE_CC.Text = "Por favor seleccionar una ciudad de la lista de cobertura.";

                    configurarMensajesSUBCC(true, System.Drawing.Color.Red);
                    Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
                }
                else
                {
                    Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;
                }
            }
        }
    }
    private void cargarInfoCondiciones(Boolean bModificar)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
        String ID_CIUDAD = null;
        Decimal ID_CENTRO_C = 0;
        Decimal ID_SUB_C = 0;

        try
        {
            ID_CIUDAD = QueryStringSeguro["codCiudad"].ToString();
        }
        catch
        {
            ID_CIUDAD = null;
        }

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

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

        if (ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCostoMODULO = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaInfoSubCentro = _subCentroCostoMODULO.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow filaTablaInfoSubCentro = tablaInfoSubCentro.Rows[0];

            configurarInfoAdicionalModulo(true, filaTablaInfoSubCentro["NOM_SUB_C"].ToString());
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                centroCosto _centroCostoMODULO = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaInfoCC = _centroCostoMODULO.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaTablaInfoCC = tablaInfoCC.Rows[0];

                configurarInfoAdicionalModulo(true, filaTablaInfoCC["NOM_CC"].ToString());
            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == false) && (ID_EMPRESA != 0))
                {
                    cobertura _coberturaMODULO = new cobertura(Session["idEmpresa"].ToString());
                    DataTable tablaInfoCiudad = _coberturaMODULO.obtenerNombreCiudadPorIdCiudad(ID_CIUDAD);
                    DataRow filaTablaInfoCiudad = tablaInfoCiudad.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCiudad["NOMBRE"].ToString());
                }
                else
                {
                    cliente _clienteMODULO = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    DataTable tablaInfoCliente = _clienteMODULO.ObtenerEmpresaConIdEmpresa(ID_EMPRESA);
                    DataRow filaTablaInfoCliente = tablaInfoCliente.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCliente["RAZ_SOCIAL"].ToString());
                }
            }
        }

        condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCondiciones = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C);
        if (tablaCondiciones.Rows.Count <= 0)
        {
            if (_condicionComercial.MensajeError != null)
            {
                configurarBotonesDeAccion(false, false, false, true);

                Panel_FORMULARIO.Visible = false;

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _condicionComercial.MensajeError;
            }
            else
            {
                configurarBotonesDeAccion(false, true, true, true);

                Panel_FORMULARIO.Visible = true;

                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;

                controlesParaNuevaCondicionEconomica();
            }
        }
        else
        {
            if (bModificar == true)
            {
                configurarBotonesDeAccion(false, true, true, true);
            }
            else
            {
                configurarBotonesDeAccion(true, false, false, true);
            }

            Panel_FORMULARIO.Visible = true;
            if (bModificar == true)
            {
                Panel_FORMULARIO.Enabled = true;
            }
            else
            {
                Panel_FORMULARIO.Enabled = false;
            }

            configurarMensajes(false, System.Drawing.Color.Green);

            DataRow infoCondicionesComerciales = tablaCondiciones.Rows[0];

            if (bModificar == false)
            {
                Panel_CONTROL_REGISTRO.Visible = true;
                Panel_CONTROL_REGISTRO.Enabled = false;
                TextBox_USU_CRE.Text = infoCondicionesComerciales["USU_CRE"].ToString();
                try
                {
                    TextBox_FCH_CRE.Text = DateTime.Parse(infoCondicionesComerciales["FCH_CRE"].ToString()).ToShortDateString();
                    TextBox_HOR_CRE.Text = DateTime.Parse(infoCondicionesComerciales["FCH_CRE"].ToString()).ToShortTimeString();
                }
                catch
                {
                    TextBox_FCH_CRE.Text = "";
                    TextBox_HOR_CRE.Text = "";
                }
                TextBox_USU_MOD.Text = infoCondicionesComerciales["USU_MOD"].ToString();
                try
                {
                    TextBox_FCH_MOD.Text = DateTime.Parse(infoCondicionesComerciales["FCH_MOD"].ToString()).ToShortDateString();
                    TextBox_HOR_MOD.Text = DateTime.Parse(infoCondicionesComerciales["FCH_MOD"].ToString()).ToShortTimeString();
                }
                catch
                {
                    TextBox_FCH_MOD.Text = "";
                    TextBox_HOR_MOD.Text = "";
                }
            }
            else
            {
                Panel_CONTROL_REGISTRO.Visible = false;
            }

            if (bModificar == false)
            {
                Panel_COD_CONDICIONES.Visible = true;
                Panel_COD_CONDICIONES.Enabled = false;
                TextBox_COD_CONDICION.Text = infoCondicionesComerciales["REGISTRO"].ToString().Trim();
            }
            else
            {
                Panel_COD_CONDICIONES.Visible = false;
            }

            if (infoCondicionesComerciales["FACTURA"].ToString().Trim() == "N")
            {
                CheckBox_FACTURA_NOMINA.Checked = false;
            }
            else
            {
                if (infoCondicionesComerciales["FACTURA"].ToString().Trim() == "S")
                {
                    CheckBox_FACTURA_NOMINA.Checked = true;
                }
            }

            cargar_DropDownList_MOD_SOPORTE();
            DropDownList_MOD_SOPORTE.SelectedValue = infoCondicionesComerciales["MOD_SOPORTE"].ToString().Trim();
            cargar_DropDownList_MOD_FACTURA();
            DropDownList_MOD_FACTURA.SelectedValue = infoCondicionesComerciales["MOD_FACTURA"].ToString().Trim();

            TextBox_AD_NOM.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_NOM"]));

            if (infoCondicionesComerciales["SOLO_DEV"].ToString().Trim() == "N")
            {
                CheckBox_SOLO_DEV.Checked = false;
            }
            else
            {
                if (infoCondicionesComerciales["SOLO_DEV"].ToString().Trim() == "S")
                {
                    CheckBox_SOLO_DEV.Checked = true;
                }
            }

            TextBox_AD_PENSION.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_PENSION"]));
            TextBox_AD_SALUD.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_SALUD"]));
            TextBox_AD_RIESGOS.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_RIESGOS"]));
            TextBox_AD_APO_SENA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_APO_SENA"]));
            TextBox_AD_APO_ICBF.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_APO_ICBF"]));
            TextBox_AD_APO_CAJA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_APO_CAJA"]));
            TextBox_AD_VACACIONES.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_VACACIONES"]));
            TextBox_AD_CESANTIA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_CESANTIA"]));
            TextBox_AD_INT_CES.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_INT_CES"]));
            TextBox_AD_PRIMA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_PRIMA"]));
            TextBox_AD_SEG_VID.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_SEG_VID"]));

            cargarCheckBox(CheckBox_SUB_PENSION,infoCondicionesComerciales["SUB_PENSION"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SALUD, infoCondicionesComerciales["SUB_SALUD"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_RIESGO, infoCondicionesComerciales["SUB_RIESGOS"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SENA, infoCondicionesComerciales["SUB_SENA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_ICBF, infoCondicionesComerciales["SUB_ICBF"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_CAJA, infoCondicionesComerciales["SUB_CAJA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_VACACIONES, infoCondicionesComerciales["SUB_VACACIONES"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_CESANTIAS, infoCondicionesComerciales["SUB_CESANTIAS"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_INT_CES, infoCondicionesComerciales["SUB_INT_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_PRIMA, infoCondicionesComerciales["SUB_PRIMA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SEG_VID, infoCondicionesComerciales["SUB_SEG_VID"].ToString().Trim());

            cargarCheckBox(CheckBox_RET_VAC, infoCondicionesComerciales["RET_VAC"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_CES, infoCondicionesComerciales["RET_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_INT_CES, infoCondicionesComerciales["RET_INT_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_PRIM, infoCondicionesComerciales["RET_PRIM"].ToString().Trim());

            TextBox_DIAS_VNC.Text = infoCondicionesComerciales["DIAS_VNC"].ToString().Trim();

            cargar_DropDownList_REGIMEN();
            DropDownList_REGIMEN.SelectedValue = infoCondicionesComerciales["REGIMEN"].ToString().Trim();

            TextBox_OBS_FACT.Text = infoCondicionesComerciales["OBS_FACT"].ToString().Trim();

            DataTable tablaServiciosEspecificos;

            if (ID_SUB_C != 0)
            {
                tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdSubC(ID_SUB_C);
            }
            else
            {
                if (ID_CENTRO_C != 0)
                {
                    tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCentroC(ID_CENTRO_C);
                }
                else
                {
                    if ((ID_EMPRESA != 0) && (String.IsNullOrEmpty(ID_CIUDAD) == false))
                    {
                        tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCiudad(ID_CIUDAD, ID_EMPRESA);
                    }
                    else
                    {
                        tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdEmpresa(ID_EMPRESA);
                    }
                }
            }

            if (tablaServiciosEspecificos.Rows.Count <= 0)
            {
                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = false;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "sin");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;

                List<servicio> listaServicios = new List<servicio>();
                Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);
            }
            else
            {
                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = true;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "con");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = true;
                configurarMensajesServicioComplementario(false, System.Drawing.Color.Green);
                cargarInformacionServiciosComplementariosEspecificos(tablaServiciosEspecificos, false);

                if (bModificar == true)
                {
                    Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = true;
                }
                else
                {
                    Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = false;
                }
            }
        }
    }
    private void cargar_datos_centro_costo()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

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

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaInfoCC = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
        DataRow filaInfoCC = tablaInfoCC.Rows[0];

        Label_NOM_CC.Text = filaInfoCC["NOM_CC"].ToString();

        configurarInfoAdicionalModulo(true, "Centro de costo: " + filaInfoCC["NOM_CC"].ToString());
    }
    private void controlesParaNuevaCondicionEconomica()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
        String ID_CIUDAD = null;
        Decimal ID_CENTRO_C = 0;
        Decimal ID_SUB_C = 0;

        try
        {
            ID_CIUDAD = QueryStringSeguro["codCiudad"].ToString();
        }
        catch
        {
            ID_CIUDAD = null;
        }

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

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

        Decimal ID_EMPRESA_1 = ID_EMPRESA;
        String ID_CIUDAD_1 = null;
        Decimal ID_CENTRO_C_1 = 0;
        Decimal ID_SUB_C_1 = 0;

        if (ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablainfoSubCentro = _subCentroCosto.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow infoSubCentro = tablainfoSubCentro.Rows[0];

            ID_EMPRESA_1 = ID_EMPRESA;
            ID_CIUDAD_1 = null;
            ID_CENTRO_C_1 = Convert.ToDecimal(infoSubCentro["ID_CENTRO_C"]);
            ID_SUB_C_1 = 0;
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaCentroCosto = _centroCosto.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow infoCentroCosto = tablaCentroCosto.Rows[0];

                ID_EMPRESA_1 = ID_EMPRESA;
                ID_CIUDAD_1 = infoCentroCosto["ID_CIUDAD"].ToString().Trim();
                ID_CENTRO_C_1 = 0;
                ID_SUB_C_1 = 0;
            }
        }

        condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCondicionesHeredadas = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA_1, ID_CIUDAD_1, ID_CENTRO_C_1, ID_SUB_C_1);

        if (tablaCondicionesHeredadas.Rows.Count <= 0)
        {
            if (_condicionComercial.MensajeError != null)
            {
                configurarBotonesDeAccion(false, false, false, true);

                Panel_FORMULARIO.Visible = false;

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _condicionComercial.MensajeError;
            }
            else
            {
                configurarBotonesDeAccion(false, true, true, true);

                Panel_FORMULARIO.Visible = true;

                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros de condiciones económicas para mostrar y la entidad anterior no tiene condiciones económicas para heredar, por favor digitelas y guarde.";

                Panel_CONTROL_REGISTRO.Visible = false;

                Panel_COD_CONDICIONES.Visible = false;

                CheckBox_FACTURA_NOMINA.Checked = false;

                cargar_DropDownList_MOD_SOPORTE();
                cargar_DropDownList_MOD_FACTURA();

                TextBox_AD_NOM.Text = "0";
                CheckBox_SOLO_DEV.Checked = false;

                TextBox_AD_PENSION.Text = "0";
                TextBox_AD_SALUD.Text = "0";
                TextBox_AD_RIESGOS.Text = "0";
                TextBox_AD_APO_SENA.Text = "0";
                TextBox_AD_APO_ICBF.Text = "0";
                TextBox_AD_APO_CAJA.Text = "0";
                TextBox_AD_VACACIONES.Text = "0";
                TextBox_AD_CESANTIA.Text = "0";
                TextBox_AD_INT_CES.Text = "0";
                TextBox_AD_PRIMA.Text = "0";
                TextBox_AD_SEG_VID.Text = "0";

                CheckBox_SUB_PENSION.Checked = false;
                CheckBox_SUB_SALUD.Checked = false;
                CheckBox_SUB_RIESGO.Checked = false;
                CheckBox_SUB_SENA.Checked = false;
                CheckBox_SUB_ICBF.Checked = false;
                CheckBox_SUB_CAJA.Checked = false;
                CheckBox_SUB_VACACIONES.Checked = false;
                CheckBox_SUB_CESANTIAS.Checked = false;
                CheckBox_SUB_INT_CES.Checked = false;
                CheckBox_SUB_PRIMA.Checked = false;
                CheckBox_SUB_SEG_VID.Checked = false;

                CheckBox_RET_VAC.Checked = false;
                CheckBox_RET_CES.Checked = false;
                CheckBox_RET_INT_CES.Checked = false;
                CheckBox_RET_PRIM.Checked = false;

                TextBox_DIAS_VNC.Text = "";

                cargar_DropDownList_REGIMEN();

                TextBox_OBS_FACT.Text = "";

                List<servicio> listaServicios = new List<servicio>();
                Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);

                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = false;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "sin");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;
            }
        }
        else
        {
            configurarBotonesDeAccion(false, true, true, true);

            Panel_FORMULARIO.Visible = true;
            Panel_FORMULARIO.Enabled = true;

            configurarMensajes(true, System.Drawing.Color.Red);
            Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros de condiciones económicas para mostrar, pero se heredaron las condiciones económicas desde la entidad anterior, REALICE LOS CAMBIOS NECESARIOS Y GUARDE LA INFORMACIÓN.";

            DataRow infoCondicionesComerciales = tablaCondicionesHeredadas.Rows[0];

            Panel_CONTROL_REGISTRO.Visible = false;

            Panel_COD_CONDICIONES.Visible = false;

            if (infoCondicionesComerciales["FACTURA"].ToString().Trim() == "N")
            {
                CheckBox_FACTURA_NOMINA.Checked = false;
            }
            else
            {
                if (infoCondicionesComerciales["FACTURA"].ToString().Trim() == "S")
                {
                    CheckBox_FACTURA_NOMINA.Checked = true;
                }
            }

            cargar_DropDownList_MOD_SOPORTE();
            DropDownList_MOD_SOPORTE.SelectedValue = infoCondicionesComerciales["MOD_SOPORTE"].ToString().Trim();
            cargar_DropDownList_MOD_FACTURA();
            DropDownList_MOD_FACTURA.SelectedValue = infoCondicionesComerciales["MOD_FACTURA"].ToString().Trim();

            TextBox_AD_NOM.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_NOM"]));

            if (infoCondicionesComerciales["SOLO_DEV"].ToString().Trim() == "N")
            {
                CheckBox_SOLO_DEV.Checked = false;
            }
            else
            {
                if (infoCondicionesComerciales["SOLO_DEV"].ToString().Trim() == "S")
                {
                    CheckBox_SOLO_DEV.Checked = true;
                }
            }

            TextBox_AD_PENSION.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_PENSION"]));
            TextBox_AD_SALUD.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_SALUD"]));
            TextBox_AD_RIESGOS.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_RIESGOS"]));
            TextBox_AD_APO_SENA.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_APO_SENA"]));
            TextBox_AD_APO_ICBF.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_APO_ICBF"]));
            TextBox_AD_APO_CAJA.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_APO_CAJA"]));
            TextBox_AD_VACACIONES.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_VACACIONES"]));
            TextBox_AD_CESANTIA.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_CESANTIA"]));
            TextBox_AD_INT_CES.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_INT_CES"]));
            TextBox_AD_PRIMA.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_PRIMA"]));
            TextBox_AD_SEG_VID.Text = String.Format("{0:N2}", Convert.ToDecimal(infoCondicionesComerciales["AD_SEG_VID"]));

            cargarCheckBox(CheckBox_SUB_PENSION, infoCondicionesComerciales["SUB_PENSION"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SALUD, infoCondicionesComerciales["SUB_SALUD"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_RIESGO, infoCondicionesComerciales["SUB_RIESGOS"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SENA, infoCondicionesComerciales["SUB_SENA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_ICBF, infoCondicionesComerciales["SUB_ICBF"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_CAJA, infoCondicionesComerciales["SUB_CAJA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_VACACIONES, infoCondicionesComerciales["SUB_VACACIONES"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_CESANTIAS, infoCondicionesComerciales["SUB_CESANTIAS"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_INT_CES, infoCondicionesComerciales["SUB_INT_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_PRIMA, infoCondicionesComerciales["SUB_PRIMA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SEG_VID, infoCondicionesComerciales["SUB_SEG_VID"].ToString().Trim());

            cargarCheckBox(CheckBox_RET_VAC, infoCondicionesComerciales["RET_VAC"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_CES, infoCondicionesComerciales["RET_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_INT_CES, infoCondicionesComerciales["RET_INT_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_PRIM, infoCondicionesComerciales["RET_PRIM"].ToString().Trim());

            TextBox_DIAS_VNC.Text = infoCondicionesComerciales["DIAS_VNC"].ToString().Trim();

            cargar_DropDownList_REGIMEN();
            DropDownList_REGIMEN.SelectedValue = infoCondicionesComerciales["REGIMEN"].ToString().Trim();

            TextBox_OBS_FACT.Text = infoCondicionesComerciales["OBS_FACT"].ToString().Trim();

            DataTable tablaServiciosEspecificos;

            if (ID_SUB_C != 0)
            {
                tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCentroC(ID_CENTRO_C_1);
            }
            else
            {
                if (ID_CENTRO_C != 0)
                {
                    tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCiudad(ID_CIUDAD_1, ID_EMPRESA_1);
                }
                else
                {
                    tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdEmpresa(ID_EMPRESA_1);
                }
            }

            if (tablaServiciosEspecificos.Rows.Count <= 0)
            {
                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = false;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "sin");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;

                List<servicio> listaServicios = new List<servicio>();
                Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);
            }
            else
            {
                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = true;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "con");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = true;
                configurarMensajesServicioComplementario(false, System.Drawing.Color.Green);
                cargarInformacionServiciosComplementariosEspecificos(tablaServiciosEspecificos, true);

                Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = true;
            }
        }
    }
    /// <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;
    }
    protected DataTable ConsultarInventario(String centroCostos, String subcentroCosto, String ciudad, String[] datos, DataRow fila)
    {
        String id_Ciudad;
        DataTable tablaentregas = new DataTable();
        tablaentregas.Columns.Add("ID_PRODUCTO");
        tablaentregas.Columns.Add("ID_LOTE");
        tablaentregas.Columns.Add("CANTIDAD");
        tablaentregas.Columns.Add("TALLA");

        DataRow entrega = tablaentregas.NewRow();

        if (!(centroCostos.Equals("0")))
        {
            centroCosto _centroC = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCentro = _centroC.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(centroCostos));
            DataRow filaCentros = tablaCentro.Rows[0];

            id_Ciudad = filaCentros["ID_CIUDAD"].ToString();
        }
        else if (!(subcentroCosto.Equals("0")))
        {
            subCentroCosto _SubCentroC = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSub = _SubCentroC.ObtenerSubCentrosDeCostoPorIdSubCosto(Convert.ToDecimal(subcentroCosto));
            DataRow filaSubCentro = tablaSub.Rows[0];

            centroCosto _centroC = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCentro = _centroC.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaSubCentro["ID_CENTRO_C"].ToString()));
            DataRow filaCentros = tablaCentro.Rows[0];

            id_Ciudad = filaCentros["ID_CIUDAD"].ToString();
        }
        else
        {
            id_Ciudad = ciudad;
        }

        int id_empresa = Convert.ToInt32(datos[3].ToString());
        ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString());
        DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(id_Ciudad);
        DataRow filaCiudad = tablaCiudad.Rows[0];

        String id_regional = filaCiudad["ID_REGIONAL"].ToString();
        bodega _bodega = new bodega(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablabodega = _bodega.ObtenerAlmRegBodegaPorIds(id_regional, id_Ciudad, id_empresa);

        if (tablabodega.Rows.Count <= 0)
        {
            Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron bodegas para la empresa en la ubicación seleccionada. Valide por favor.";
            configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES);
        }
        else
        {
            DataRow filaBodega = tablabodega.Rows[0];

            lote _lote = new lote(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            HiddenField_idBodega.Value = filaBodega["ID_BODEGA"].ToString();

            DataTable tablaLote = _lote.ObtenerAlmLotePorIdProductoBodega(Convert.ToInt32(fila["ID_PRODUCTO"]), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()));
            if (tablaLote.Rows.Count <= 0)
            {
                Label_MENSAJE.Text = "ADVERTENCIA: No hay existencias del producto " + fila["NOMBRE"].ToString() + " para la empresa seleccionada. Valide por favor.";
                configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES);
            }
            else
            {
                int contLote;
                foreach (DataRow filalotes in tablaLote.Rows)
                {
                    entrega = tablaentregas.NewRow();

                    contLote = Convert.ToInt32(filalotes["ENTRADAS"]) - Convert.ToInt32(filalotes["SALIDAS"]);

                    entrega[0] = filalotes["ID_PRODUCTO"];
                    entrega[1] = filalotes["ID_LOTE"];
                    entrega[2] = contLote;
                    entrega[3] = filalotes["TALLA"];

                    tablaentregas.Rows.Add(entrega);
                }
            }
        }
        return tablaentregas;
    }
    private void cargar_DropDownList_CENTRO_COSTO(Decimal ID_EMPRESA, String ID_CIUDAD)
    {
        DropDownList_CentroCosto.Items.Clear();

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaCCCiudad = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, ID_CIUDAD);

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

        foreach (DataRow fila in tablaCCCiudad.Rows)
        {
            item = new System.Web.UI.WebControls.ListItem(fila["NOM_CC"].ToString(), fila["ID_CENTRO_C"].ToString());
            DropDownList_CentroCosto.Items.Add(item);
        }

        DropDownList_CentroCosto.DataBind();
    }
    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";
                    }
                }
            }
        }
    }