private void ProcederConActualizacion(Boolean cargarInfoContrato)
    {
        Decimal ID_CONTRATO = Convert.ToDecimal(HiddenField_ID_CONTRATO.Value);
        Decimal ID_SOLICITUD = Convert.ToDecimal(TextBox_ID_SOLICITUD.Text);
        Decimal ID_EMPLEADO = Convert.ToDecimal(Label_ID_EMPLEADO.Text);
        Decimal ID_PERFIL = Convert.ToDecimal(DropDownList_CARGO_TRABAJADOR.SelectedValue);
        Decimal RIESGO = Convert.ToDecimal(DropDownList_RIESGO_EMPLEADO.SelectedValue);
        Decimal ID_SUB_C = 0;
        Decimal ID_CENTRO_C = 0;
        String ID_CIUDAD = null;

        if (DropDownList_SUB_CENTRO_TRABAJADOR.SelectedIndex > 0)
        {
            ID_SUB_C = Convert.ToDecimal(DropDownList_SUB_CENTRO_TRABAJADOR.SelectedValue);
        }
        else
        {
            if (DropDownList_CC_TRABAJADOR.SelectedIndex > 0)
            {
                ID_CENTRO_C = Convert.ToDecimal(DropDownList_CC_TRABAJADOR.SelectedValue);
            }
            else
            {
                ID_CIUDAD = DropDownList_CIUDAD_TRABAJADOR.SelectedValue;
            }
        }

        String PAGO_DIAS_PRODUCTIVIDAD = "N";
        Decimal VALOR_NOMINA = 0;
        Decimal VALOR_CONTRATO = 0;
        Decimal SALARIO = 0;

        Boolean continuar = true;
        tools _tools = new tools();

        if (String.IsNullOrEmpty(TextBox_SALARIO.Text) == true)
        {
            if (String.IsNullOrEmpty(TextBox_SALARIO_NOMINA.Text) == true)
            {
                Informar(Panel_MENSAJE_CONTRATO, Label_MENSAJE_CONTRATO, "El Salario es obligatorio digitarlo.", Proceso.Advertencia);
                continuar = false;
            }
            else
            {
                if (_tools.IsNumeric(TextBox_SALARIO_NOMINA.Text) == false)
                {
                    Informar(Panel_MENSAJE_CONTRATO, Label_MENSAJE_CONTRATO, "El Salario digitado no tiene un formato numerico valido.", Proceso.Advertencia);
                    continuar = false;
                }
                else
                {
                    SALARIO = Convert.ToDecimal(TextBox_SALARIO_NOMINA.Text);
                }
            }
        }
        else
        {
            if (_tools.IsNumeric(TextBox_SALARIO.Text) == false)
            {
                Informar(Panel_MENSAJE_CONTRATO, Label_MENSAJE_CONTRATO, "El Salario digitado no tiene un formato numerico valido.", Proceso.Advertencia);
                continuar = false;
            }
            else
            {
                SALARIO = Convert.ToDecimal(TextBox_SALARIO.Text);
            }
        }

        if (continuar == true)
        {
            String SAL_INT = DropDownList_SALARIO_INTEGRAL.SelectedValue;

            String FORMA_PAGO = null;
            Decimal ID_ENTIDAD = 0;
            String TIPO_CUENTA = null;
            String NUM_CUENTA = null;
            String CHEQUE_REG = null;
            String CONTROL_CONTRATO = "CORRECTO";

            if (CheckBox_NoLaboro.Checked == true)
            {
                CONTROL_CONTRATO = "NO LABORO";
            }

            if (CheckBox_DobleRegistro.Checked == true)
            {
                CONTROL_CONTRATO = "NO INGRESO";
            }

            if ((CheckBox_NoLaboro.Checked == true) || (CheckBox_DobleRegistro.Checked == true))
            {
                FORMA_PAGO = string.Empty;
                ID_ENTIDAD = 0;
                TIPO_CUENTA = string.Empty;
                CHEQUE_REG = String.Empty;
            }
            else
            {
                FORMA_PAGO = DropDownList_forma_pago.SelectedValue;

                if ((FORMA_PAGO == "CONSIGNACIÓN BANCARIA") || (FORMA_PAGO == "DISPERSION") || (FORMA_PAGO == "ACH"))
                {
                    if (DropDownList_entidad_bancaria.SelectedIndex > 0)
                    {
                        ID_ENTIDAD = Convert.ToDecimal(DropDownList_entidad_bancaria.SelectedValue);
                    }

                    if (DropDownList_TIPO_CUENTA.SelectedIndex > 0)
                    {
                        TIPO_CUENTA = DropDownList_TIPO_CUENTA.SelectedValue;
                    }

                    if (TextBox_NUMERO_CUENTA.Text.Trim().Length > 0)
                    {
                        NUM_CUENTA = TextBox_NUMERO_CUENTA.Text.Trim();
                    }

                }
                else
                {
                    if (FORMA_PAGO == "CHEQUE")
                    {
                        if (DropDownList_ChequeReg.SelectedIndex > 0)
                        {
                            CHEQUE_REG = DropDownList_ChequeReg.SelectedValue;
                        }
                    }
                }
            }

            String TIPO_CONTRATO = DropDownList_TIPO_CONTRATO.SelectedValue;

            String CLASE_CONTRATO = DropDownList_CLASE_CONTRATO.SelectedValue;

            Boolean ACTUALIZAR_ESTADO_PROCESO = true;
            if (HiddenField_PRESENTACION.Value == Presentacion.ContratosActivos.ToString())
            {
                ACTUALIZAR_ESTADO_PROCESO = false;
            }

            String PERIODO_PAGO = DropDownList_PERIODO_PAGO.SelectedValue;

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

            Boolean verificador = _registroContrato.ActualizarContratoDesdeAuditoria(ID_CONTRATO, ID_EMPLEADO, RIESGO, TIPO_CONTRATO, ID_PERFIL, ID_SUB_C, ID_CENTRO_C, ID_CIUDAD, PAGO_DIAS_PRODUCTIVIDAD, VALOR_NOMINA, VALOR_CONTRATO, SALARIO, SAL_INT, FORMA_PAGO, ID_ENTIDAD, NUM_CUENTA, ID_SOLICITUD, ACTUALIZAR_ESTADO_PROCESO, TIPO_CUENTA, Convert.ToDateTime(TextBox_FECHA_INICIO.Text), Convert.ToDateTime(TextBox_FECHA_FIN.Text), PERIODO_PAGO, CLASE_CONTRATO, CONTROL_CONTRATO, CHEQUE_REG);

            if (verificador == false)
            {
                Informar(Panel_MENSAJES, Label_MENSAJE, _registroContrato.MensajeError, Proceso.Error);
                Informar(Panel_MENSAJE_CONTRATO, Label_MENSAJE_CONTRATO, _registroContrato.MensajeError, Proceso.Error);
            }
            else
            {
                if (cargarInfoContrato == true)
                {
                    Informar(Panel_MENSAJES, Label_MENSAJE, "La información basica del contrato fue actualizada correctamente.", Proceso.Correcto);
                    Informar(Panel_MENSAJE_CONTRATO, Label_MENSAJE_CONTRATO, "La información basica del contrato fue actualizada correctamente.", Proceso.Correcto);

                    cargar_seccion_contratos(ID_EMPLEADO);

                    presentar_interfaz_segun_resultado();
                }
            }
        }
    }