private void Actualizar()
    {
        Decimal REGISTRO_VEN_P_CONTRATACION = Convert.ToDecimal(HiddenField_REGISTRO_VEN_P_CONTRATACION.Value);

        determinarIDsSubCCentrosCCiudad();

        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);

        String RIESGO = DropDownList_RIESGOS.SelectedValue;

        String DOC_TRAB = GetListaDocumentosEntregados();

        String OBS_CTE = TextBox_REQUERIMIENTOS_USUARIO.Text.ToUpper().Trim();

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

        List<condicionesContratacion> listaImplementosExamenes = new List<condicionesContratacion>();

        DataTable tablaImplementos = ObtenerDataTable_De_GridView_Implementos();
        for (int i = 0; i < tablaImplementos.Rows.Count; i++)
        {
            DataRow filaTabla = tablaImplementos.Rows[i];

            condicionesContratacion _implementoParaLista = new condicionesContratacion();
            _implementoParaLista.AJUSTE_A = tabla.EntregaAjusteA.CONTRATO.ToString();

            if (String.IsNullOrEmpty(filaTabla["CANTIDAD_INICIAL"].ToString()) == false) { _implementoParaLista.CANTIDAD = Convert.ToInt32(filaTabla["CANTIDAD_INICIAL"]); }
            else { _implementoParaLista.CANTIDAD = 0; }

            _implementoParaLista.FACTURAR_A = filaTabla["CODIGO_FACTURAR_A_INICIAL"].ToString().Trim();
            _implementoParaLista.FECHA_INICIO = new DateTime();
            _implementoParaLista.ID_PERIODICIDAD = "0";
            _implementoParaLista.ID_PRODUCTO = Convert.ToDecimal(filaTabla["ID_PRODUCTO"]);
            _implementoParaLista.PRIMERA_ENTREGA = true;
            _implementoParaLista.REGISTRO_CON_REG_ELEMENTO_TRABAJO = Convert.ToDecimal(filaTabla["REGISTRO_CON_REG_ELEMENTO_TRABAJO_INICIAL"]);
            _implementoParaLista.REGISTRO_VEN_P_CONTRATACION = 0;
            if (String.IsNullOrEmpty(filaTabla["VALOR_INICIAL"].ToString().Trim()) == false)
            {
                _implementoParaLista.VALOR = Convert.ToDecimal(filaTabla["VALOR_INICIAL"]);
            }
            else
            {
                _implementoParaLista.VALOR = 0;
            }

            listaImplementosExamenes.Add(_implementoParaLista);

            if (filaTabla["CHECK_PROGRAMADO"].ToString() == "True")
            {
                _implementoParaLista = new condicionesContratacion();
                _implementoParaLista.AJUSTE_A = filaTabla["AJUSTE_A_PROGRAMADO"].ToString();

                if (String.IsNullOrEmpty(filaTabla["CANTIDAD_PROGRAMADO"].ToString()) == false) { _implementoParaLista.CANTIDAD = Convert.ToInt32(filaTabla["CANTIDAD_PROGRAMADO"]); }
                else { _implementoParaLista.CANTIDAD = 0; }

                _implementoParaLista.FACTURAR_A = filaTabla["CODIGO_FACTURAR_A_PROGRAMADO"].ToString().Trim();

                if (String.IsNullOrEmpty(filaTabla["FECHA_INICIO_PROGRAMADO"].ToString().Trim()) == false) { _implementoParaLista.FECHA_INICIO = Convert.ToDateTime(filaTabla["FECHA_INICIO_PROGRAMADO"]); }
                else { _implementoParaLista.FECHA_INICIO = new DateTime(); }

                _implementoParaLista.ID_PERIODICIDAD = filaTabla["CODIGO_PERIODO_PROGRAMADO"].ToString();
                _implementoParaLista.ID_PRODUCTO = Convert.ToDecimal(filaTabla["ID_PRODUCTO"]);
                _implementoParaLista.PRIMERA_ENTREGA = false;
                _implementoParaLista.REGISTRO_CON_REG_ELEMENTO_TRABAJO = Convert.ToDecimal(filaTabla["REGISTRO_CON_REG_ELEMENTO_TRABAJO_PROGRAMADO"]);
                _implementoParaLista.REGISTRO_VEN_P_CONTRATACION = 0;
                if (String.IsNullOrEmpty(filaTabla["VALOR_PROGRAMADO"].ToString().Trim()) == false)
                {
                    _implementoParaLista.VALOR = Convert.ToDecimal(filaTabla["VALOR_PROGRAMADO"]);
                }
                else
                {
                    _implementoParaLista.VALOR = 0;
                }

                listaImplementosExamenes.Add(_implementoParaLista);
            }
        }

        DataTable tablaExamenes = ObtenerDataTable_De_GridView_ExamenesMedicos();
        for (int i = 0; i < tablaExamenes.Rows.Count; i++)
        {
            DataRow filaTabla = tablaExamenes.Rows[i];

            condicionesContratacion _implementoParaLista = new condicionesContratacion();

            _implementoParaLista.VALOR = 0;
            _implementoParaLista.REGISTRO_VEN_P_CONTRATACION = 0;
            _implementoParaLista.REGISTRO_CON_REG_ELEMENTO_TRABAJO = Convert.ToDecimal(filaTabla["REGISTRO_CON_REG_ELEMENTO_TRABAJO"]);
            _implementoParaLista.PRIMERA_ENTREGA = true;
            _implementoParaLista.ID_PRODUCTO = Convert.ToDecimal(filaTabla["ID_PRODUCTO"]);
            _implementoParaLista.ID_PERIODICIDAD = filaTabla["CODIGO_PERIODO"].ToString().Trim();
            _implementoParaLista.FECHA_INICIO = new DateTime();
            _implementoParaLista.FACTURAR_A = filaTabla["CODIGO_FACTURAR_A"].ToString().Trim();
            _implementoParaLista.CANTIDAD = 1;
            _implementoParaLista.AJUSTE_A = tabla.EntregaAjusteA.CONTRATO.ToString();

            listaImplementosExamenes.Add(_implementoParaLista);
        }

        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("ID_CLAUSULA");
        dataTable.Columns.Add("ID_PERFIL");

        for (int i = 0; i < GridView_clausulas.Rows.Count; i++)
        {
            if (((CheckBox)GridView_clausulas.Rows[i].FindControl("CheckBox_aplicar")).Checked == true)
            {
                DataRow dataRow = dataTable.NewRow();
                dataRow["ID_CLAUSULA"] = GridView_clausulas.Rows[i].Cells[1].Text;
                dataRow["ID_PERFIL"] = HiddenField_ID_PERFIL;
                dataTable.Rows.Add(dataRow);
                dataTable.AcceptChanges();
            }
        }

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

        Boolean correcto = _condicionesContratacion.ActualizarCondicionContratacion(REGISTRO_VEN_P_CONTRATACION, ID_PERFIL, ID_EMPRESA, GLO_ID_SUB_C, GLO_ID_CENTRO_C, GLO_ID_CIUDAD, DOC_TRAB, RIESGO, OBS_CTE, listaImplementosExamenes, Recuperar(GridView_clausulas));

        if (correcto == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _condicionesContratacion.MensajeError, Proceso.Error);
        }
        else
        {
            HiddenField_REGISTRO_VEN_P_CONTRATACION.Value = REGISTRO_VEN_P_CONTRATACION.ToString();

            Ocultar(Acciones.Inicio);
            Mostrar(Acciones.CargarCondicion);
            Desactivar(Acciones.Inicio);

            Cargar(REGISTRO_VEN_P_CONTRATACION);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La condición de contratación fue modificada correctamente.", Proceso.Correcto);
        }
    }