public async void OnDelete(object sender, EventArgs e) { var mi = ((Xamarin.Forms.MenuItem)sender); TipoPago del = (mi.CommandParameter as TipoPago); if (del.idtipo == 2) { bool ret = await DisplayAlert("Confirme", "¿Desea eliminar esta tarjeta?", "Si", "No"); if (ret) { tvm.TarjetaBaja += async(s, ea) => { //Device.BeginInvokeOnMainThread(async () => //{ UserDialogs.Instance.HideLoading(); if (ea.Error != null || ea.Cancelled) { await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK"); } //}); }; UserDialogs.Instance.ShowLoading("Eliminando..."); tvm.Baja(del.extra); } } }
private void MuestraOpcionesPago(bool showinfo) { MuestraLV(Listas.pagos); if (showinfo) { #if __IOS__ Version ver = new Version(UIKit.UIDevice.CurrentDevice.SystemVersion); if (ver.Major <= 8) { notif.Notify(ToastNotificationType.Info, "4- Forma de pago", "Selecciona el tipo de pago que quieras usar, puedes usar el saldo de tu monedero o alguna tarjeta. Tambien puedes dar de alta nuevas tarjetas", TimeSpan.FromSeconds(5)); } else { var page = new InfoRecargar("4- Forma de pago", "Selecciona el tipo de pago que quieras usar, puedes usar el saldo de tu monedero o alguna tarjeta. Tambien puedes dar de alta nuevas tarjetas"); Navigation.PushPopupAsync(page); } #else var page = new InfoRecargar("4- Forma de pago", "Selecciona el tipo de pago que quieras usar, puedes usar el saldo de tu monedero o alguna tarjeta. Tambien puedes dar de alta nuevas tarjetas"); Navigation.PushPopupAsync(page); #endif } grptipos = new ObservableCollection <Grupo>(); gMonedero = new Grupo("Tu monedero", 1, lm); gTarjetas = new Grupo("Tus tarjetas", 2, lt); grptipos.Add(gMonedero); grptipos.Add(gTarjetas); lvRegPagos.BeginRefresh(); lvRegPagos.ItemsSource = null; lvRegPagos.ItemsSource = grptipos; lvRegPagos.EndRefresh(); lvRegPagos.ItemSelected += (sender, e) => { if (e.SelectedItem == null) { return; } notif.HideAll(); TipoPago tp = (e.SelectedItem as TipoPago); //btnPago.Text = (tp.idtipo == 1 ? "Monedero" : "Tarjeta") + " - "; btnPago.Text = (tp.idtipo == 1 ? "Saldo: " + tp.saldo.ToString("c") : tp.tipo); btnPago.Source = (tp.idtipo == 1 ? "wallet.png" : tp.imgtipo); paso = (PasosRecarga)(((int)paso) + 1); if (paso == PasosRecarga.Recarga) { MuestraLV(Listas.listo); } ((ListView)sender).SelectedItem = null; }; }
public RegPago(RecargasViewModel _r = null) { try { InitializeComponent(); App.db.IniciaMonedero(); montomax = App.WSc.GetMontoMax(); Title = "Medios de pago"; rvm = _r; tvm = new TarjetasViewModel(); tvm.idpais = rvm.idpais; this.BindingContext = tvm; NavigationPage.SetBackButtonTitle(this, ""); ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () => { var page = new InfoAyuda("mediosdepago.html"); Navigation.PushPopupAsync(page); })); grptipos = new ObservableCollection <Grupo>(); gMonedero = new Grupo("Tu monedero", 1, tvm.lm); gTarjetas = new Grupo("Tus tarjetas", 2, tvm.lt); if (rvm.Tiporecarga == TipoRecarga.RecargaTA) { slMonedero.IsVisible = false; grptipos.Add(gMonedero); } if (rvm.Tiporecarga == TipoRecarga.Monedero) { slMonedero.IsVisible = true; lblSaldo.Text = "Saldo: " + tvm.lm[0].saldo.ToString("c", new System.Globalization.CultureInfo("es-MX")); } grptipos.Add(gTarjetas); lvRegPagos.ItemSelected += async(sender, e) => { if (e.SelectedItem == null) { return; } if (rvm.EdicionOnly) //no se recarga, son programadas solo se modifica { TipoPago tp = (e.SelectedItem as TipoPago); rvm.idFormaPago = tp.idtipo; rvm.TipoTrans = TipoTransaccion.SegundaVez; if (tp.idtipo == 1) //monedero { rvm.IdTarjeta = -1; } else { rvm.IdTarjeta = tp.extra; } await App.Nav.PushAsync(new Programar(rvm)); } else { if (!rvm.ReadOnly)//mis tarjetas { if (rvm.Tiporecarga == TipoRecarga.Monedero) { if (phvalNum.IsValid && phvalNum.Valor > 0M) { if (phvalNum.Valor > montomax) { await DisplayAlert("Error", "Solamente le es permitido agregar " + montomax.ToString("c", new System.Globalization.CultureInfo("es-MX")) + " por cada evento", "OK"); ((ListView)sender).SelectedItem = null; return; } else { rvm.MontoRecargaMonedero = phvalNum.Valor; } } else { await DisplayAlert("Error", "Para seleccionar una tarjeta tiene que capturar el monto a comprar", "OK"); ((ListView)sender).SelectedItem = null; return; //((ListView)sender).SelectedItem = null; } } TipoPago tp = (e.SelectedItem as TipoPago); rvm.idFormaPago = tp.idtipo; rvm.TipoTrans = TipoTransaccion.SegundaVez; if (tp.idtipo == 1) //monedero { if (rvm.LsPaquetes(rvm.idoperadora).Where(x => x.idpaquete == rvm.idpaquete).FirstOrDefault().monto > App.db.SelSaldo().saldo) { await DisplayAlert("Error", "No tiene suficiente saldo", "Ok"); ((ListView)sender).SelectedItem = null; return; } else { rvm.IdTarjeta = -1; } } else { rvm.IdTarjeta = tp.extra; } Procesar pro = App.Nav.NavigationStack.OfType <Procesar>().FirstOrDefault(); if (pro == null) { await App.Nav.PushAsync(new Procesar(rvm, tvm, TipoTransaccion.SegundaVez), Constantes.animated); } else { pro.Refresh(rvm, tvm, TipoTransaccion.SegundaVez); await App.Nav.PopAsync(Constantes.animated); } } } ((ListView)sender).SelectedItem = null; }; tvm.NuevaTarjeta += (s, e) => { if (rvm.Tiporecarga == TipoRecarga.Monedero) { gTarjetas = grptipos[0]; gTarjetas = new Grupo("Tus tarjetas", 2, e.lista); grptipos[0] = gTarjetas; } if (rvm.Tiporecarga == TipoRecarga.RecargaTA) { gTarjetas = grptipos[1]; gTarjetas = new Grupo("Tus tarjetas", 2, e.lista); grptipos[1] = gTarjetas; } lvRegPagos.BeginRefresh(); lvRegPagos.ItemsSource = null; lvRegPagos.ItemsSource = grptipos; lvRegPagos.EndRefresh(); if (rvm.Tiporecarga == TipoRecarga.RecargaTA) { if ((grptipos[0].FirstOrDefault().saldo == 0M) && (grptipos[1].Count() == 0)) { slMonedero.IsVisible = false; lvRegPagos.IsVisible = false; svMsgNoTarj.IsVisible = true; } else { slMonedero.IsVisible = false; lvRegPagos.IsVisible = true; svMsgNoTarj.IsVisible = false; } } if (rvm.Tiporecarga == TipoRecarga.Monedero) { //if (grptipos[0].Count() == 0) //{ // slMonedero.IsVisible = false; // lvRegPagos.IsVisible = false; // svMsgNoTarj.IsVisible = true; //} //else //{ slMonedero.IsVisible = true; lvRegPagos.IsVisible = true; svMsgNoTarj.IsVisible = false; //} } }; btnNuevo.Clicked += async(sender, ea) => { if (rvm.Tiporecarga == TipoRecarga.Monedero) { if (phvalNum.IsValid && phvalNum.Valor > 0M) { if (phvalNum.Valor > montomax) { await DisplayAlert("Error", "Solamente le es permitido agregar " + montomax.ToString("c", new System.Globalization.CultureInfo("es-MX")) + " por cada evento", "OK"); } else { rvm.MontoRecargaMonedero = phvalNum.Valor; await App.Nav.PushAsync(new NuevaTarjeta(TipoAnadidor.RegistroPago, tvm, rvm), Constantes.animated); } } else { await DisplayAlert("Error", "Para agregar una nueva tarjeta tiene que capturar el monto a comprar", "OK"); } } if (rvm.Tiporecarga == TipoRecarga.RecargaTA) { await App.Nav.PushAsync(new NuevaTarjeta(TipoAnadidor.RegistroPago, tvm, rvm), Constantes.animated); } }; if (rvm.Tiporecarga == TipoRecarga.RecargaTA) { if ((grptipos[0].FirstOrDefault().saldo == 0M) && (grptipos[1].Count() == 0)) { slMonedero.IsVisible = false; lvRegPagos.IsVisible = false; svMsgNoTarj.IsVisible = true; } else { slMonedero.IsVisible = false; lvRegPagos.IsVisible = true; svMsgNoTarj.IsVisible = false; } } if (rvm.Tiporecarga == TipoRecarga.Monedero) { //if (grptipos[0].Count() == 0) //{ // slMonedero.IsVisible = false; // lvRegPagos.IsVisible = false; // svMsgNoTarj.IsVisible = true; //} //else //{ slMonedero.IsVisible = true; lvRegPagos.IsVisible = true; svMsgNoTarj.IsVisible = false; //} } } catch (Exception e) { } }