private void GuardarDocumento()
        {
            // Declara variables
            string   _codigo   = txt_cod.Text.ToString();
            string   _cod_int  = txt_cod_int.Text.ToString();
            DateTime _fechaini = Convert.ToDateTime(date_ini.Text.ToString());
            DateTime _fechafin = Convert.ToDateTime(date_fin.Text.ToString());
            decimal  _area     = Convert.ToDecimal(txt_area.Text.ToString());

            decimal _rent_fij = Convert.ToDecimal(txt_rent.Text.ToString());
            decimal _rent_var = Convert.ToDecimal(txt_rent_v.Text.ToString());
            decimal _adelanto = Convert.ToDecimal(txt_adela.Text.ToString());
            decimal _garantia = Convert.ToDecimal(txt_garan.Text.ToString());
            decimal _der_ingr = Convert.ToDecimal(txt_ingreso.Text.ToString());
            decimal _rev_proy = Convert.ToDecimal(txt_rev_proy.Text.ToString());
            decimal _promocio = Convert.ToDecimal(txt_promoc.Text.ToString());
            decimal _promoc_v = Convert.ToDecimal(txt_promoc_var.Text.ToString());
            decimal _gast_com = Convert.ToDecimal(txt_comun.Text.ToString());
            int     _gs_com_p = (Convert.ToBoolean(chk_gcomun_p.IsChecked)) ? 1 : 0;
            decimal _gs_com_v = Convert.ToDecimal(txt_comun_v.Text.ToString());

            ComboBoxItem escoger = (ComboBoxItem)(cbx_moneda.SelectedValue);
            string       _moneda = escoger.Uid.ToString();

            string _arrenda = "";

            foreach (DataRow row in dt_arrend.Rows)
            {
                if (_arrenda.Length != 0)
                {
                    _arrenda = _arrenda + "/";
                }
                _arrenda = _arrenda + row["ruc"].ToString().Trim() + "-" + row["raz_soc"].ToString().Trim();
            }
            string _adminis = "";

            foreach (DataRow row in dt_admin.Rows)
            {
                if (_adminis.Length != 0)
                {
                    _adminis = _adminis + "/";
                }
                _adminis = _adminis + row["ruc"].ToString().Trim() + "-" + row["raz_soc"].ToString().Trim();
            }

            int _Reten       = (Convert.ToBoolean(chk_reten.IsChecked)) ? 1 : 0;
            int _dbJulio     = (Convert.ToBoolean(chk_julio.IsChecked)) ? 1 : 0;
            int _dbDiciembre = (Convert.ToBoolean(chk_diciembre.IsChecked)) ? 1 : 0;
            int _serv_public = (Convert.ToBoolean(chk_publico.IsChecked)) ? 1 : 0;
            int _arbitrios   = (Convert.ToBoolean(chk_arbitrio.IsChecked)) ? 1 : 0;

            int _IPC_renta = (Convert.ToBoolean(chk_ipc_renta.IsChecked)) ? 1 : 0;
            int _IPC_promo = (Convert.ToBoolean(chk_ipc_promo.IsChecked)) ? 1 : 0;
            int _IPC_comun = (Convert.ToBoolean(chk_ipc_comun.IsChecked)) ? 1 : 0;

            int      _IPC_frecu = 0;
            DateTime _fecha_IPC = new DateTime();

            if (_IPC_renta == 1 || _IPC_promo == 1 || _IPC_comun == 1)
            {
                if (Convert.ToBoolean(rdb_06mes.IsChecked))
                {
                    _IPC_frecu = 6;
                }
                if (Convert.ToBoolean(rdb_12mes.IsChecked))
                {
                    _IPC_frecu = 12;
                }
                _fecha_IPC = Convert.ToDateTime(date_ipc.Text.ToString());
            }

            /*int _pag_terce = (Convert.ToBoolean(chk_Pago_Tercero.IsChecked)) ? 1 : 0;
             * int _obl_segur = (Convert.ToBoolean(chk_obl_seg.IsChecked)) ? 1 : 0;
             * int _obl_carta = (Convert.ToBoolean(chk_obl_carta.IsChecked)) ? 1 : 0;*/

            string _ruta_plano = txt_ruta_plano.Text.ToString();
            string _ruta_contr = txt_ruta_cont.Text.ToString();

            try
            {
                //-- Enviar a Método de Actualización
                Contratos.Actualiza_Contrato(_codigo, _tipo, _cod_contrato, _cod_int, _fechaini, _fechafin, _area, _moneda,
                                             _arrenda, _adminis,
                                             _rent_fij, _rent_var, _adelanto, _garantia, _der_ingr, _rev_proy, _promocio, _promoc_v, _gast_com, _gs_com_p, _gs_com_v,
                                             _Reten, _dbJulio, _dbDiciembre, _serv_public, _arbitrios,
                                             _IPC_renta, _IPC_promo, _IPC_comun, _IPC_frecu, _fecha_IPC,
                                             /*_pag_terce, _obl_segur, _obl_carta,*/
                                             _ruta_plano, _ruta_contr);

                Contratos.Elimina_CronogramaPagos(_cod_contrato, "C");
                foreach (DataRow cron in dt_programa.Rows)
                {
                    Contratos.Graba_CronogramaPagos(_cod_contrato, "C", cron["Nro"].ToString(), Convert.ToDecimal(cron["Fijo"]), Convert.ToDecimal(cron["Variable"]), Convert.ToDateTime(cron["Fec_Ini"]), Convert.ToDateTime(cron["Fec_Fin"]), cron["Fecha"].ToString());
                }

                /*Contratos.Elimina_PagosTerceros(_cod_contrato, "C");
                 * foreach (DataRow pag in dt_pago_terc.Rows)
                 * { Contratos.Graba_PagosTerceros(_cod_contrato, "C", pag["id"].ToString(), pag["ruc"].ToString(), pag["raz_soc"].ToString(), Convert.ToDecimal(pag["porcentaje"]), pag["banco_id"].ToString(), pag["banco_desc"].ToString(), pag["banco_cta"].ToString()); }*/

                //this.DialogResult = false;
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Actualizar Datos de Contrato " + _codigo + ". " + ex.Message + ".",
                                "Bata - Mensaje De Advertencia", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void btn_guardar_Click(object sender, RoutedEventArgs e)
        {
            // Declara variables
            string   _codigo   = txt_cod.Text.ToString();
            DateTime _fechaini = Convert.ToDateTime(date_ini.Text.ToString());
            DateTime _fechafin = Convert.ToDateTime(date_fin.Text.ToString());
            decimal  _area     = Convert.ToDecimal(txt_area.Text.ToString());

            decimal _rent_fij = Convert.ToDecimal(txt_rent.Text.ToString());
            decimal _rent_var = Convert.ToDecimal(txt_rent_v.Text.ToString());
            decimal _adelanto = Convert.ToDecimal(txt_adela.Text.ToString());
            decimal _garantia = Convert.ToDecimal(txt_garan.Text.ToString());
            decimal _der_ingr = Convert.ToDecimal(txt_ingreso.Text.ToString());
            decimal _rev_proy = Convert.ToDecimal(txt_rev_proy.Text.ToString());
            decimal _promocio = Convert.ToDecimal(txt_promoc.Text.ToString());
            decimal _gast_com = Convert.ToDecimal(txt_comun.Text.ToString());
            decimal _gs_com_v = Convert.ToDecimal(txt_comun_v.Text.ToString());

            ComboBoxItem escoger = (ComboBoxItem)(cbx_moneda.SelectedValue);
            string       _moneda = escoger.Uid.ToString();

            string _arrenda = "";

            foreach (DataRow row in dt_arrend.Rows)
            {
                if (_arrenda.Length != 0)
                {
                    _arrenda = _arrenda + "/";
                }
                _arrenda = _arrenda + row["ruc"].ToString().Trim() + "-" + row["raz_soc"].ToString().Trim();
            }
            string _adminis = "";

            foreach (DataRow row in dt_admin.Rows)
            {
                if (_adminis.Length != 0)
                {
                    _adminis = _adminis + "/";
                }
                _adminis = _adminis + row["ruc"].ToString().Trim() + "-" + row["raz_soc"].ToString().Trim();
            }

            int _dbJulio     = (Convert.ToBoolean(chk_julio.IsChecked)) ? 1 : 0;
            int _dbDiciembre = (Convert.ToBoolean(chk_diciembre.IsChecked)) ? 1 : 0;
            int _serv_public = (Convert.ToBoolean(chk_publico.IsChecked)) ? 1 : 0;
            int _arbitrios   = (Convert.ToBoolean(chk_arbitrio.IsChecked)) ? 1 : 0;

            int _IPC_renta = (Convert.ToBoolean(chk_ipc_renta.IsChecked)) ? 1 : 0;
            int _IPC_promo = (Convert.ToBoolean(chk_ipc_promo.IsChecked)) ? 1 : 0;
            int _IPC_comun = (Convert.ToBoolean(chk_ipc_comun.IsChecked)) ? 1 : 0;

            int      _IPC_frecu = 0;
            DateTime _fecha_IPC = new DateTime();

            if (_IPC_renta == 1 || _IPC_promo == 1 || _IPC_comun == 1)
            {
                if (Convert.ToBoolean(rdb_06mes.IsChecked))
                {
                    _IPC_frecu = 6;
                }
                if (Convert.ToBoolean(rdb_12mes.IsChecked))
                {
                    _IPC_frecu = 12;
                }
                _fecha_IPC = Convert.ToDateTime(date_ipc.Text.ToString());
            }

            int _pag_terce = (Convert.ToBoolean(chk_Pago_Tercero.IsChecked)) ? 1 : 0;
            int _obl_segur = (Convert.ToBoolean(chk_obl_seg.IsChecked)) ? 1 : 0;
            int _obl_carta = (Convert.ToBoolean(chk_obl_carta.IsChecked)) ? 1 : 0;

            string _ruta_plano = txt_ruta_plano.Text.ToString();
            string _ruta_contr = txt_ruta_cont.Text.ToString();

            try
            {
                //-- Enviar a Método de Actualización
                Contratos.Actualiza_Contrato(_codigo, _tipo, _cod_contrato, _fechaini, _fechafin, _area, _moneda,
                                             _arrenda, _adminis,
                                             _rent_fij, _rent_var, _adelanto, _garantia, _der_ingr, _rev_proy, _promocio, _gast_com, _gs_com_v,
                                             _dbJulio, _dbDiciembre, _serv_public, _arbitrios,
                                             _IPC_renta, _IPC_promo, _IPC_comun, _IPC_frecu, _fecha_IPC,
                                             _pag_terce, _obl_segur, _obl_carta,
                                             _ruta_plano, _ruta_contr);

                //this.DialogResult = false;
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Actualizar Datos de Contrato " + _codigo + ". " + ex.Message + ".",
                                "Bata - Mensaje De Advertencia", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }