public async Task <ActionResult <TipoTransaccion> > PostTipoTransaccion(TipoTransaccion tipoTransaccion)
        {
            _context.TipoTransaccion.Add(tipoTransaccion);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTipoTransaccion", new { id = tipoTransaccion.Id }, tipoTransaccion));
        }
Esempio n. 2
0
        public CompraVenta selctIngresoCompraVenta(int idDeposito)
        {
            CompraVenta cv      = null;
            SqlCommand  comando = _manejador.obtenerProcedimiento("SelectCompraVentaDeposito");

            _manejador.agregarParametro(comando, "@IDDEPOSITIO", idDeposito, SqlDbType.Int);
            SqlDataReader datareader = null;

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);
                while (datareader.Read())
                {
                    int             ID = (int)datareader["pk_ID"];
                    TipoTransaccion tipoTransaccion  = (TipoTransaccion)datareader["Tipo_Transaccion"];
                    decimal         montoTransaccion = (decimal)datareader["MontoTransaccion"];
                    decimal         tipoCambio       = (decimal)datareader["TipoCambio"];
                    decimal         montoCambio      = (decimal)datareader["MontoCambio"];
                    cv = new CompraVenta(id: ID, transaccion: tipoTransaccion, monto_transaccion: montoTransaccion, monto_cambio: montoCambio);
                }
                comando.Connection.Close();
            }
            catch
            {
                comando.Connection.Close();
                throw new Excepcion("Error de acceso a venta deposito");
            }

            return(cv);
        }
        public void afectarCuentas(TipoTransaccion tipoTransaccion)
        {
            if (tipoTransaccion.TipoMovimiento1 == TipoMovimiento.Debito)
            {
                cuentaDebito  = getCuenta(tipoTransaccion.Movimiento1Id);
                cuentaCredito = getCuenta(tipoTransaccion.Movimiento2Id);
            }
            else
            {
                cuentaDebito  = getCuenta(tipoTransaccion.Movimiento2Id);
                cuentaCredito = getCuenta(tipoTransaccion.Movimiento1Id);
            }

            EstadoTransaccion estadoCuentaCredito = manejoCuentaCredito();
            EstadoTransaccion estadoCuentaDebito  = manejoCuentaDebito();

            if (estadoCuentaCredito == EstadoTransaccion.Correcto && estadoCuentaDebito == EstadoTransaccion.Correcto)
            {
                transaccion.Estado = EstadoTransaccion.Correcto;
            }
            else
            {
                transaccion.Estado = (estadoCuentaCredito == EstadoTransaccion.Correcto ? estadoCuentaDebito : estadoCuentaCredito);
            }
        }
Esempio n. 4
0
 public void Refresh(RecargasViewModel _r, TarjetasViewModel _t, TipoTransaccion tt)
 {
     rvm      = _r;
     tvm      = _t;
     tipotran = tt;
     CargaLabels();
 }
        public async Task <IActionResult> PutTipoTransaccion(int id, TipoTransaccion tipoTransaccion)
        {
            if (id != tipoTransaccion.Id)
            {
                return(BadRequest());
            }

            _context.Entry(tipoTransaccion).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TipoTransaccionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
 /// <summary>
 /// Permite añadir un registro de auditoria de creación o eliminación de un registro.
 /// </summary>
 /// <param name="tipoTransaccion">Inserción o Eliminación</param>
 /// <param name="idRegistro">Id del registro afectado</param>
 /// <param name="type">Tipo de objeto</param>
 public void GuardarRegistro(TipoTransaccion tipoTransaccion, Guid idRegistro, string type)
 {
     try
     {
         var usuario = SesionUsuario.Usuario;
         var cadena  = tipoTransaccion == TipoTransaccion.Crear
                          ? "Ingreso de " + type + " con Id " + idRegistro
                          : "Eliminación de " + type + " con Id " + idRegistro;
         var auditoria = new Auditoria()
         {
             CadenaCambios = cadena,
             Fecha         = DateTime.Now,
             IdUsuario     = usuario.Id,
             IdRegistro    = idRegistro,
             TipoObjeto    = type,
             TipoAccion    = tipoTransaccion.ToString()
         };
         _db.Auditorias.AddObject(auditoria);
         _db.SaveChanges();
     }
     catch (Exception ex)
     {
         XmlConfigurator.Configure();
         Log.Error("Ha ocurrido un error al guardar el registro de " + tipoTransaccion + " del registro " +
                   idRegistro + " del tipo " + type + ". Error: " + ex.Message);
     }
 }
Esempio n. 7
0
 public void AgregarDetalle(int id, int transaccion, TipoTransaccion tipo, decimal Monto)
 {
     if (Detalle != null)
     {
         Detalle.Add(new TransaccionDetalle(id, transaccion, tipo, Monto));
     }
 }
        public Auditoria ObtenerPorTipo(Guid idRegistro, Type type, TipoTransaccion tipoTransaccion)
        {
            var tipoT     = tipoTransaccion.ToString();
            var auditoria = (from a in _db.Auditorias
                             where
                             a.IdRegistro == idRegistro && a.TipoObjeto == type.Name &&
                             a.TipoAccion.Equals(tipoT)
                             select a).SingleOrDefault();

            return(auditoria);
        }
Esempio n. 9
0
        //public CompraVenta(int id = 0, TipoTransaccion transaccion = TipoTransaccion.Compra, TipoCambio tipocambio = null, decimal monto_transaccion = 0, decimal monto_cambio = 0)
        //{
        //    this.DB_ID = id;
        //    this._tipo_transaccion = transaccion;
        //    this._tipo_cambio = tipocambio;
        //    this._monto_cambio = monto_cambio;
        //    this._monto_transaccion = monto_transaccion;
        //}

        public CompraVenta(int id = 0, TipoTransaccion transaccion = TipoTransaccion.Compra, TipoCambio tipocambio = null, decimal monto_transaccion = 0, decimal monto_billete = 0, decimal monto_niquel = 0,
                           decimal monto_cambio = 0)
        {
            this.DB_ID              = id;
            this._tipo_transaccion  = transaccion;
            this._tipo_cambio       = tipocambio;
            this._monto_cambio      = monto_cambio;
            this._monto_transaccion = monto_transaccion;
            this.MontoBillete       = monto_billete;
            this.MontoNiquel        = monto_niquel;
        }
 public TransaccionDetalle(int detalleId, int transanccionID, TipoTransaccion tipoTransaccion, decimal monto)
 {
     DetalleId       = detalleId;
     TransanccionID  = transanccionID;
     TipoTransaccion = tipoTransaccion;
     Tipo            = string.Empty;
     Monto           = monto;
     Suma            = 0;
     Resta           = 0;
     Balance         = 0;
     Fecha           = DateTime.Now;
 }
Esempio n. 11
0
        private void Inicializar_EditMode()
        {
            TB_Title.Text = "Editar transacción";
            TipoTransaccion tipoTransaccion = TransaccionDAO.Tipo(parameters.Transaccion);

            CB_Tipo.SelectedItem    = tipoTransaccion;
            CDP_Fecha.Date          = parameters.Transaccion.Fecha;
            CB_Origen.SelectedItem  = CB_Origen.Items.Where(p => ((Etiqueta)p).Id == (parameters.Transaccion.Origen).Id).First();
            CB_Destino.SelectedItem = CB_Destino.Items.Where(p => ((Etiqueta)p).Id == parameters.Transaccion.Destino.Id).First();
            TB_Valor.Value          = parameters.Transaccion.Valor;
            TB_Descripcion.Text     = parameters.Transaccion.Descripcion;
        }
Esempio n. 12
0
 public Transaccion(MainWindow mainWindow, TipoTransaccion tipoTrans) : this()
 {
     mainWin = mainWindow;
     tipo    = tipoTrans;
     if (mainWin.menu.HayConexion)
     {
         estadoConexion.Fill = new SolidColorBrush(Color.FromRgb(0, 255, 0));
     }
     else
     {
         estadoConexion.Fill = new SolidColorBrush(Color.FromRgb(255, 0, 0));
     }
 }
Esempio n. 13
0
 //MANTENIMIENTO GUARDAR
 public void guardar(clsTipoTransaccion tiptran)
 {
     using (EntitiesContabilidad2 ent = new EntitiesContabilidad2())
     {
         TipoTransaccion tt = new TipoTransaccion()
         {
             IdTransaccion = tiptran.IdTransaccion,
             modulo        = tiptran.modulo,
             TipoDocumento = tiptran.TipoDocumento,
             descripcion   = tiptran.descripcion
         };
         ent.AddToTipoTransaccion(tt);
         ent.SaveChanges();
     }
 }
Esempio n. 14
0
        /// <summary>
        /// Registra el Log de auditoría del sistema
        /// </summary>
        /// <param name="Empleado">Empleado activo en la aplicación</param>
        /// <param name="Equipo">Equipo desde el cual ingreso a la aplicacion. Se obtiene de la variable Session["Host"]</param>
        /// <param name="TLog">Tipo de Log. Se Obtiene de Componentes.BLL.SE.ESLog.TipoLog</param>
        /// <param name="TTransaccion">Tipo de Transacción. Se obtiene de Componentes.BLL.SE.ESLog.TipoTransaccion</param>
        /// <param name="Requerimiento">Requerimiento activo</param>
        /// <param name="Modulo">Módulo al cual pertenece el requerimiento activo</param>
        /// <param name="Referencia">Referencia o identificador del documento sobre el cual se marca el Log</param>
        /// <param name="Log">String con información adicional</param>
        /// <returns>bool</returns>
        public static bool Log(int Empleado, string Equipo, TipoLog TLog, TipoTransaccion TTransaccion, string Requerimiento, short Modulo, string Referencia, string Log)
        {
            bool retVal = Convert.ToBoolean(SqlHelper.ExecuteScalar(
                                                ESSeguridad.FormarStringConexion(), Queries.WF_InsertarLog,
                                                Empleado,
                                                Equipo,
                                                TLog,
                                                TTransaccion,
                                                Requerimiento,
                                                Modulo,
                                                Referencia,
                                                Log
                                                ));

            return(retVal);
        }
Esempio n. 15
0
 public async Task <IActionResult> Patch([FromBody] TipoTransaccion t)
 {
     if (!ConexionOracle.Activa)
     {
         ConexionOracle.Open();
         if (!ConexionOracle.Activa)
         {
             return(StatusCode(504, ConexionOracle.NoConResponse));
         }
     }
     if (await cmd.Update(t))
     {
         return(Ok());
     }
     return(BadRequest());
 }
Esempio n. 16
0
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            TipoTransaccion t = await cmd.Get <TipoTransaccion>(id);

            if (t != null)
            {
                return(Ok(t));
            }
            return(BadRequest());
        }
Esempio n. 17
0
        public List <TipoTransaccion> TipoTransaccionLeer()
        {
            List <TipoTransaccion> tipoTransacciones = new List <TipoTransaccion>();

            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "sp_TipoTransaccionLeer"; //Crear Procedimiento
                cmd.Connection  = cnn.cn;
                cnn.Conectar();

                cmd.ExecuteNonQuery();

                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                DataTable        dt = new DataTable();

                da.Fill(dt);

                for (int n = 0; n < dt.Rows.Count; n++)
                {
                    TipoTransaccion tipoTransaccion = new TipoTransaccion();
                    tipoTransaccion.IdTipoTransaccion    = Funciones.ToString(dt.Rows[n]["IdTipoTransaccion"]);
                    tipoTransaccion.TipoTransaccionValor = Funciones.ToString(dt.Rows[n]["TipoTransaccion"]);
                    tipoTransaccion.Descripcion          = Funciones.ToString(dt.Rows[n]["Descripcion"]);
                    tipoTransacciones.Add(tipoTransaccion);
                }
            }
            catch (MySqlException ex)
            {
                cnn.Desconectar();
            }
            try
            {
                cnn.Desconectar();
            }
            catch (Exception ex) { }

            return(tipoTransacciones);
        }
Esempio n. 18
0
        public NuevaTransaccion()
        {
            InitializeComponent();
            //por ejemplo. Luego pasarlo a Data Access y Control

            string       ruta         = "..//..//..//tipos.txt";
            FileStream   archivoTipos = new FileStream(ruta, FileMode.Open, FileAccess.Read);
            StreamReader lectorTipos  = new StreamReader(archivoTipos);

            while (true)
            {
                string linea = lectorTipos.ReadLine();
                if (linea == null)
                {
                    break;
                }
                TipoTransaccion t = new TipoTransaccion();
                t.Descriptor = linea;
                t.Signo      = Int32.Parse(lectorTipos.ReadLine());
                cboTipo.Items.Add(t);
            }
        }
Esempio n. 19
0
        public static TipoTransaccion Tipo(Transaccion transaccion)
        {
            TipoEtiqueta tipoEtiquetaOrigen, tipoEtiquetaDestino;

            tipoEtiquetaOrigen  = EtiquetaDAO.Tipo(transaccion.Origen);
            tipoEtiquetaDestino = EtiquetaDAO.Tipo(transaccion.Destino);
            Array TiposDisponibles = Enum.GetValues(typeof(TipoTransaccion));
            int   tipoInt          = ((int)tipoEtiquetaOrigen << 3) + (int)tipoEtiquetaDestino;
            int   likeness         = 0;
            int   max = 0;

            foreach (int item in TiposDisponibles)
            {
                if ((item & tipoInt) > likeness)
                {
                    likeness = (item & tipoInt);
                    max      = item;
                }
            }
            TipoTransaccion tipo = (TipoTransaccion)max;

            return(tipo);
        }
Esempio n. 20
0
        public DatosTransaccion RealizarTransaccion(string cedula, int numeroCuenta, decimal monto, TipoTransaccion tipoTrans)
        {
            //mainWin.menu.RevisarConexion();
            var trans = new DatosTransaccion();

            if (mainWin.menu.HayConexion)
            {
                // Aqui va el codigo de realizar transaccion cuando hay conexion con la capa de integracion
                // Los datos se obtienen con el web service de la capa de integracion
                EstadosTransaccion estadoT = 0;

                //Realizar aqui el llamado al web service

                if (estadoT == EstadosTransaccion.Exitosa)
                {
                    //Si el web service retorno los datos correctamente asignarlos al objeto de DatosTransaccion
                    trans = new DatosTransaccion();

                    //trans.EstadoTrans = estadoT;
                    //trans.NumeroTransaccion =
                    //trans.TipoTrans = tipoTrans;
                    //trans.NumeroCuenta = numeroCuenta;
                    //trans.Monto = monto;
                    //trans.CedulaCliente = cedula;
                    //trans.ApellidoClienteCuenta =
                    //trans.NombreClienteCuenta =
                }
                else if (estadoT == EstadosTransaccion.CuentaSinFondos)
                {
                    TbMensaje.Text = "Cuenta sin fondos.";
                    MessageBox.Show("Cuenta sin fondos.");
                    return(null);
                }
                else if (estadoT == EstadosTransaccion.CuentaNoExiste)
                {
                    TbMensaje.Text = "Cuenta no existe.";
                    MessageBox.Show("Cuenta no existe.");
                    return(null);
                }
                else if (estadoT == EstadosTransaccion.CedulaSinPermiso)
                {
                    TbMensaje.Text = "Cedula sin permiso.";
                    MessageBox.Show("Cedula sin permiso.");
                    return(null);
                }
                else
                {
                    TbMensaje.Text = "Error no esperado en transaccion.";
                    MessageBox.Show("Error no eperado en transaccion.");
                    MainWindow.log.Warn($"El web service de transaccion retorno un estado de transaccion invalido. {(int)estadoT}");
                    return(null);
                }
            }
            else
            {
                // Aqui va el codigo para realizar transaccion fuera de linea
                // Los datos se ponen por defecto
                trans.EstadoTrans           = EstadosTransaccion.PendienteFueraLinea;
                trans.NumeroTransaccion     = 0;
                trans.TipoTrans             = tipoTrans;
                trans.NumeroCuenta          = numeroCuenta;
                trans.Monto                 = monto;
                trans.CedulaCliente         = cedula;
                trans.ApellidoClienteCuenta = "RAMIREZ MATEO";
                trans.NombreClienteCuenta   = "PEDRO MANUEL";
            }
            return(trans);
        }
Esempio n. 21
0
        public Procesar(RecargasViewModel _r, TarjetasViewModel _t, TipoTransaccion tt)
        {
            try
            {
                InitializeComponent();
                rvm      = _r;
                tvm      = _t;
                tipotran = tt;
                Title    = "Detalle de la orden";
                CargaLabels();
                NavigationPage.SetBackButtonTitle(this, "");

                rvm.RecargaAltaErr += async(s, e) =>
                {
                    UserDialogs.Instance.HideLoading();
                    if (e != null)
                    {
                        //if (!String.IsNullOrEmpty(e.printdata))
                        //	await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar\n" + e.printdata, "OK");
                        //else
                        string msg = "";
                        switch (e.err)
                        {
                        case 1:                                 //RecargaSell
                            msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                            break;

                        case 2:                                 //Vesta
                            msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                            break;

                        case 3:                                 //Comunicaciones
                            msg = rvm.lsErrores().Where(x => x.iderror == 9).FirstOrDefault().error;
                            break;
                        }
                        if (!String.IsNullOrEmpty(e.msg))
                        {
                            msg = e.msg;
                        }
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar\n" + msg, "OK");
                    }
                    else
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                    }
                };
                rvm.CargaFinger += (s, e) =>
                {
                    FingerP(e.url, e.orgid, e.webses);
                };

                av = async(s, ea) =>
                {
                    rvm.ProcesadoEnVesta1aVez -= av;
                    UserDialogs.Instance.HideLoading();
                    if (ea.Error != null || ea.Cancelled)
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                    }
                    else
                    {
                        string msg = "";
                        if (rvm.Err.err > 0)
                        {
                            if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                            {
                                switch (rvm.Err.err)
                                {
                                case 1:                                         //RecargaSell
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                                    break;

                                case 2:                                         //Vesta
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                    break;

                                case 3:                                         //Comunicaciones
                                    msg = rvm.lsErrores().Where(x => x.iderror == 9).FirstOrDefault().error;
                                    break;
                                }
                                errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                                msg += "\n" + err.tresp.rcode_description;
                            }
                            if (rvm.Tiporecarga == TipoRecarga.Monedero)
                            {
                                if (rvm.Err.err == 2)
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                }
                                if (rvm.Err.err == 1)                                 // err de RS, en este caso no es RS es monedero, se usa el mismo campo
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                                }
                                errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                                msg += "\n" + err.tresp.rcode_description;
                            }
                            await DisplayAlert("Error", msg, "OK");
                        }
                        else
                        {
                            await App.Nav.PushAsync(new Ticket(rvm), Constantes.animated);
                        }
                    }
                };
                av2 = async(s, ea) =>
                {
                    rvm.ProcesadoEnVesta2aVez -= av2;
                    UserDialogs.Instance.HideLoading();
                    if (ea.Error != null || ea.Cancelled)
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                    }
                    else
                    {
                        string msg = "";
                        if (rvm.Err.err > 0)
                        {
                            if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                            {
                                switch (rvm.Err.err)
                                {
                                case 1:                                         //RecargaSell
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                                    break;

                                case 2:                                         //Vesta
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                    break;

                                case 3:                                         //Comunicaciones
                                    msg = rvm.lsErrores().Where(x => x.iderror == 9).FirstOrDefault().error;
                                    break;
                                }
                                errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                                msg += "\n" + err.tresp.rcode_description;
                            }
                            if (rvm.Tiporecarga == TipoRecarga.Monedero)
                            {
                                if (rvm.Err.err == 2)
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                }
                                if (rvm.Err.err == 1)
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == 10).FirstOrDefault().error;
                                }
                            }
                            await DisplayAlert("Error", msg, "OK");
                        }
                        else
                        {
                            await App.Nav.PushAsync(new Ticket(rvm), Constantes.animated);
                        }
                    }
                };

                aw = async(s, ea) =>
                {
                    rvm.AltaViaWallet -= aw;
                    UserDialogs.Instance.HideLoading();
                    if (ea.Error != null || ea.Cancelled)
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");

                        //await App.Nav.PopAsync(Constantes.animated);
                    }
                    else
                    {
                        string msg = "";
                        if (rvm.Err.err > 0)
                        {
                            switch (rvm.Err.err)
                            {
                            //  1 error no hay suficiente saldo
                            //  2 error de sistema (BD)
                            //  3 error de RS
                            case 1:
                                msg = "No se cuenta con suficiente saldo";
                                break;

                            case 2:
                                msg = "Error de sistema";
                                break;

                            case 3:
                                msg = "Error en la plataforma, contacte al número de soporte para atención";
                                break;
                            }
                            errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                            msg += "\n" + err.tresp.rcode_description;
                            await DisplayAlert("Error", msg, "OK");

                            //await App.Nav.PopAsync(Constantes.animated);
                        }
                        else
                        {
                            //await App.Nav.PopAsync(Constantes.animated);
                            await App.Nav.PushAsync(new Ticket(rvm), Constantes.animated);
                        }
                    }
                };

                btnProcesar.Clicked += async(sender, ea) =>
                {
                    nip n = new nip();
                    n.NipCorrecto += async(s, e) =>
                    {
                        if (rvm.Tiporecarga == TipoRecarga.Monedero)
                        {
                            UserDialogs.Instance.ShowLoading("Recargando...");
                            await App.Nav.PopAsync(Constantes.animated);

                            if (tt == TipoTransaccion.PrimeraVez)
                            {
                                rvm.TipoTrans              = TipoTransaccion.PrimeraVez;
                                rvm.ProcesadoEnVesta1aVez += av;
                                rvm.AltaMonedero(tvm);
                            }
                            else
                            {
                                rvm.TipoTrans              = TipoTransaccion.SegundaVez;
                                rvm.ProcesadoEnVesta2aVez += av2;
                                rvm.AltaMonedero(tvm);
                            }
                        }
                        if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                        {
                            UserDialogs.Instance.ShowLoading("Recargando...");
                            await App.Nav.PopAsync(Constantes.animated);

                            if (tt == TipoTransaccion.PrimeraVez)
                            {
                                rvm.TipoTrans = TipoTransaccion.PrimeraVez;
                                if (rvm.idFormaPago == 1)
                                {
                                    rvm.AltaViaWallet += aw;
                                }
                                if (rvm.idFormaPago == 2)
                                {
                                    rvm.ProcesadoEnVesta1aVez += av;
                                }
                                rvm.Alta(tvm);
                            }
                            else
                            {
                                rvm.TipoTrans = TipoTransaccion.SegundaVez;
                                if (rvm.idFormaPago == 1)
                                {
                                    rvm.AltaViaWallet += aw;
                                }
                                if (rvm.idFormaPago == 2)
                                {
                                    rvm.ProcesadoEnVesta2aVez += av2;
                                }
                                rvm.Alta(tvm);
                            }
                        }
                    };
                    await App.Nav.PushAsync(n, Constantes.animated);
                };

                btnMedios.Clicked += async(sender, ea) =>
                {
                    NuevaTarjeta nt = App.Nav.NavigationStack.OfType <NuevaTarjeta>().FirstOrDefault();
                    if (nt != null)
                    {
                        await App.Nav.PopAsync(Constantes.animated);
                    }
                    else
                    {
                        RegPago rp = App.Nav.NavigationStack.OfType <RegPago>().FirstOrDefault();
                        if (rp != null)
                        {
                            await App.Nav.PopAsync(Constantes.animated);
                        }
                        else
                        {
                            await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
                        }
                    }
                };
            }
            catch (Exception ex) {
            }
        }
        //MANTENIMIENTO GUARDAR
        public void guardar(clsTipoTransaccion tiptran)
        {
            using (EntitiesContabilidad2 ent = new EntitiesContabilidad2())
            {
                TipoTransaccion tt = new TipoTransaccion()
                {
                    IdTransaccion = tiptran.IdTransaccion,
                    modulo = tiptran.modulo,
                    TipoDocumento = tiptran.TipoDocumento,
                    descripcion = tiptran.descripcion

                };
                ent.AddToTipoTransaccion(tt);
                ent.SaveChanges();

            }
        }