コード例 #1
0
ファイル: Contactos.xaml.cs プロジェクト: jazminewrooman/MT
        public Contactos()
        {
            try
            {
                InitializeComponent();

                rvm   = new RecargasViewModel();
                ls    = new List <Contacto>();
                Title = "Contactos";
                ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () =>
                {
                    var page = new InfoAyuda("infocontactos.html");
                    Navigation.PushPopupAsync(page);
                }));

                LeeContactos();
            }
            catch (Exception e)
            {
            }
        }
コード例 #2
0
        public NuevaTarjeta(TipoAnadidor tipo, TarjetasViewModel _t, RecargasViewModel _r)
        {
            try
            {
                InitializeComponent();
                Title = "Nueva tarjeta";
                ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () =>
                {
                    var page = new InfoAyuda("nuevat.html");
                    Navigation.PushPopupAsync(page);
                }));
#if __IOS__
                grdScanner.IsVisible = false;
#endif

                tvm = _t;
                rvm = _r;
                this.BindingContext = tvm;
                Refresh();
                tvm.Idusuario = App.usr.idusuario;
                if (App.usr.idpais != 0)
                {
                    tvm.idpais = App.usr.idpais;
                }
                txtNum.Completed       += (s, e) => txtMes.Focus();
                txtMes.Completed       += (s, e) => txtAno.Focus();
                txtAno.Completed       += (s, e) => txtCvc.Focus();
                txtCvc.Completed       += (s, e) => txtTitularFN.Focus();
                txtTitularFN.Completed += (s, e) => txtTitularLN.Focus();
                txtTitularLN.Completed += (s, e) => txtCalleNum.Focus();
                txtCalleNum.Completed  += (s, e) => txtCP.Focus();

                tvm.TarjetaIncompleta += (s, e) =>
                {
                    if (e.estaincompleta)
                    {
                        if (tvm.idpais == 0 || tvm.IdEstado == 0 || tvm.IdCiudad == 0)
                        {
                            lblvalGeo.IsVisible = true;
                        }
                        else
                        {
                            lblvalGeo.IsVisible = false;
                        }
                        btnGuardar.IsEnabled = false;
                    }
                    else
                    {
                        lblvalGeo.IsVisible  = false;
                        btnGuardar.IsEnabled = true;
                    }
                };

                txtNum.TextChanged += (sender, e) =>
                {
                    if (!String.IsNullOrEmpty(txtNum.Text))
                    {
                        if (cardval.IsValid)
                        {
                            CreditCardDetector det = new CreditCardDetector(txtNum.Text);
                            tvm.idemisor         = SetEmisor(det.Brand);
                            tvm.NumeroTarjeta    = txtNum.Text;
                            lblvalCard.IsVisible = false;                             //.Text = "";
                        }
                        else
                        {
                            CreditCardDetector det = new CreditCardDetector(txtNum.Text);
                            tvm.idemisor         = SetEmisor(det.Brand);
                            tvm.NumeroTarjeta    = "";
                            lblvalCard.IsVisible = true;                             //.Text = "El numero de tarjeta es obligatorio, y tal cual aparece en la tarjeta";
                        }
                    }
                };
                txtMes.TextChanged       += Valfecha;
                txtAno.TextChanged       += Valfecha;
                txtCvc.TextChanged       += Valfecha;
                txtTitularFN.TextChanged += (s, e) =>
                {
                    if (valTitulFN.IsValid)
                    {
                        lblvalTitular.IsVisible = false;                         //.Text = "";
                        tvm.TitularFN           = CleanString.UseRegex(txtTitularFN.Text);
                    }
                    else
                    {
                        lblvalTitular.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.TitularFN           = "";
                    }
                };
                txtTitularLN.TextChanged += (s, e) =>
                {
                    if (valTitulLN.IsValid)
                    {
                        lblvalTitular.IsVisible = false;                         //.Text = "";
                        tvm.TitularLN           = CleanString.UseRegex(txtTitularLN.Text);
                    }
                    else
                    {
                        lblvalTitular.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.TitularLN           = "";
                    }
                };
                txtCalleNum.TextChanged += (s, e) =>
                {
                    if (valCalle.IsValid)
                    {
                        lblvalCalle.IsVisible = false;                         //.Text = "";
                        tvm.CalleyNum         = CleanString.UseRegex(txtCalleNum.Text);
                    }
                    else
                    {
                        lblvalCalle.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.CalleyNum         = "";
                    }
                };
                txtCP.TextChanged += (s, e) =>
                {
                    if (cpval.IsValid)
                    {
                        lblvalCP.IsVisible = false;                         //.Text = "";
                        tvm.CP             = check.SafeSqlLiteral(txtCP.Text);
                    }
                    else
                    {
                        lblvalCP.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.CP             = "";
                    }
                };

                string title = ""; ListaOpciones lo;
                //grdPais.Tapped += async (object sender, EventArgs e) =>
                TapGestureRecognizer tapgrdPais = new TapGestureRecognizer();
                tapgrdPais.Tapped += async(s, e) =>
                {
                    grdPais.BackgroundColor = Color.FromHex("#e5e5e5");                     //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdPais.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione un país";
                    ls    = tvm.lsPais().Select(x => new Opcion {
                        idopc = x.idpais, opc = x.pais, imgopc = x.img
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 1;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdPais.GestureRecognizers.Add(tapgrdPais);

                TapGestureRecognizer tapgrdTipo = new TapGestureRecognizer();
                tapgrdTipo.Tapped += async(s, e) =>
                                                                        //grdTipo.Tapped += async (object sender, EventArgs e) =>
                {
                    grdTipo.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdTipo.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione emisor";
                    ls    = tvm.LsEmisores().Select(x => new Opcion {
                        idopc = x.idemisor, opc = x.emisor, imgopc = x.img
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 2;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdTipo.GestureRecognizers.Add(tapgrdTipo);

                TapGestureRecognizer tapgrdScanner = new TapGestureRecognizer();
                tapgrdScanner.Tapped += async(s, e) =>
                                                                           //vclScanner.Tapped += (s, e) =>
                {
                    grdScanner.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdScanner.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
#if __ANDROID__
                    var plataforma = DependencyService.Get <ICardReader>();
                    if (plataforma != null)
                    {
                        plataforma.CardFound = delegate(string FormattedCardNumber, int ExpiryMonth, int ExpiryYear, string CardholderName, Card.IO.CardType CardType)
                        {
                            txtNum.Text = FormattedCardNumber;
                            //txtTitular.Text = CardholderName;
                            txtMes.Text = (ExpiryMonth > 0 ? ExpiryMonth.ToString() : "");
                            if (ExpiryYear > 0)
                            {
                                if (ExpiryYear.ToString().Length > 2)
                                {
                                    txtAno.Text = ExpiryYear.ToString().Substring(2, 2);
                                }
                                else
                                {
                                    txtAno.Text = ExpiryYear.ToString();
                                }
                            }
                            else
                            {
                                txtAno.Text = "";
                            }
                        };
                        plataforma.ReadCard();
                    }
#endif
#if __IOS__
                    //var plataforma = DependencyService.Get<ICardReader>();
                    //if (plataforma != null)
                    //{
                    //	plataforma.CardFound = delegate (string FormattedCardNumber, int ExpiryMonth, int ExpiryYear, string CardholderName, Card.IO.CreditCardType CardType)
                    //	{
                    //		txtNum.Text = FormattedCardNumber;
                    //		//txtTitular.Text = CardholderName;
                    //		txtMes.Text = (ExpiryMonth > 0 ? ExpiryMonth.ToString() : "");
                    //		if (ExpiryYear > 0)
                    //		{
                    //			if (ExpiryYear.ToString().Length > 2)
                    //				txtAno.Text = ExpiryYear.ToString().Substring(2, 2);
                    //			else
                    //				txtAno.Text = ExpiryYear.ToString();
                    //		}
                    //		else
                    //			txtAno.Text = "";
                    //	};
                    //	plataforma.ReadCard();
                    //}
#endif
                };
                grdScanner.GestureRecognizers.Add(tapgrdScanner);

                TapGestureRecognizer tapgrdEstado = new TapGestureRecognizer();
                tapgrdEstado.Tapped += async(s, e) =>
                                                                          //grdEstado.Tapped += async (object sender, EventArgs e) =>
                {
                    grdEstado.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdEstado.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione estado";
                    ls    = tvm.lsEstados(tvm.idpais).Select(x => new Opcion {
                        idopc = x.idestado, opc = x.estado,
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 3;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdEstado.GestureRecognizers.Add(tapgrdEstado);

                TapGestureRecognizer tapgrdCiudad = new TapGestureRecognizer();
                tapgrdCiudad.Tapped += async(s, e) =>
                                       //btnCiudad.Clicked += async (s,e) =>
                                       //vclCiudad.Tapped += async (s, e) =>
                {
                    grdCiudad.BackgroundColor = Color.FromHex("#e5e5e5");
                    await Task.Delay(100);

                    grdCiudad.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione ciudad";
                    ls    = tvm.lsMunicipios(tvm.IdEstado).OrderBy(x => x.municipio).Select(x => new Opcion {
                        idopc = x.idmunicipio, opc = x.municipio,
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 4;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdCiudad.GestureRecognizers.Add(tapgrdCiudad);

                btnGuardar.Clicked += async(sender, e) =>
                {
                    if (tvm.EsIncompleta())
                    {
                        await DisplayAlert("Error", "Faltan capturar o seleccionar algunos campos", "OK");
                    }
                    else
                    {
                        if (txtAno.Text.Trim().Length < 2 || txtMes.Text.Trim().Length < 2)
                        {
                            await DisplayAlert("Error", "Revise mes y año de expiración", "OK");
                        }
                        else
                        {
                            int mm = int.Parse(txtMes.Text.Trim());
                            int yy = int.Parse(txtAno.Text.Trim());
                            if (mm < 1 || mm > 12 || yy < DateTime.Now.Year - 2000)
                            {
                                await DisplayAlert("Error", "Revise mes y año de expiración", "OK");
                            }
                            else
                            {
                                if (App.usr == null || (App.usr != null && (App.usr.email == null || App.usr.idusuario == 0)))
                                {
                                    var login = new Login(App.Current);
                                    await App.Nav.PushAsync(login, Constantes.animated);
                                }
                                else
                                {
                                    btnGuardar.IsEnabled = false;
                                    //tvm.TarjetaAlta += async (s, ea) =>
                                    //{
                                    //	UserDialogs.Instance.HideLoading();
                                    //	if (ea.Error != null || ea.Cancelled)
                                    //		await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                                    //	else
                                    //		await App.Nav.PopAsync(Constantes.animated);
                                    //};
                                    //UserDialogs.Instance.ShowLoading("Guardando...");
                                    //tvm.Alta();
                                    rvm.idFormaPago = 2;                                     //tarjeta
                                    rvm.TipoTrans   = TipoTransaccion.PrimeraVez;
                                    rvm.IdTarjeta   = 0;
                                    Procesar pro = App.Nav.NavigationStack.OfType <Procesar>().FirstOrDefault();
                                    if (pro == null)
                                    {
                                        await App.Nav.PushAsync(new Procesar(rvm, tvm, TipoTransaccion.PrimeraVez), Constantes.animated);
                                    }
                                    else
                                    {
                                        pro.Refresh(rvm, tvm, TipoTransaccion.PrimeraVez);
                                        await App.Nav.PopAsync(Constantes.animated);                                         //boto nueva tarjeta (this)

                                        await App.Nav.PopAsync(Constantes.animated);                                         //boto medios pago
                                    }
                                }
                            }
                        }
                    }
                };
                tvm.ChecaIncompleta();
            }
            catch (Exception e)
            {
            }
        }
コード例 #3
0
        public Registro(ILoginManager ilm)
        {
            try
            {
                InitializeComponent();
                Title = "Registro";

                _ilm = ilm;
                if (App.usr == null)
                {
                    Usuario u = new Usuario()
                    {
                        //id = "1",
                        registrado = false,
                    };
                }
                edtNombre.Completed += (s, e) => edtCorreo.Focus();
                edtCorreo.Completed += (s, e) => edtNumCto.Focus();
                edtNumCto.Completed += (s, e) => nipCapture.SetFocus();

                UserDialogs.Instance.HideLoading();
                //var fs = new FormattedString();
                //fs.Spans.Add(new Span { Text = "Al hacer click en ", ForegroundColor = Color.Black, Font = Font.SystemFontOfSize(12) });
                //fs.Spans.Add(new Span { Text = " Entrar ", ForegroundColor = Color.FromHex("#e35102"), FontAttributes = FontAttributes.Bold, Font = Font.SystemFontOfSize(14) });
                //fs.Spans.Add(new Span { Text = " usted acepta la ", ForegroundColor = Color.Black, Font = Font.SystemFontOfSize(12) });
                //fs.Spans.Add(new Span { Text = " politica de privacidad ", ForegroundColor = Color.FromHex("#553191"), FontAttributes = FontAttributes.Bold, Font = Font.SystemFontOfSize(14) });
                //fs.Spans.Add(new Span { Text = "y los ", ForegroundColor = Color.Black, Font = Font.SystemFontOfSize(12) });
                //fs.Spans.Add(new Span { Text = "Terminos y condiciones", ForegroundColor = Color.FromHex("#553191"), FontAttributes = FontAttributes.Bold, Font = Font.SystemFontOfSize(14) });
                ////lblPolitica.FormattedText = fs;

                TapGestureRecognizer tappoliticas = new TapGestureRecognizer();
                tappoliticas.Tapped += (s, e) =>
                {
                    var page = new InfoAyuda("politica.html");
                    Navigation.PushPopupAsync(page);
                };
                lblPoliticas.GestureRecognizers.Add(tappoliticas);
                TapGestureRecognizer tapterminos = new TapGestureRecognizer();
                tapterminos.Tapped += (s, e) =>
                {
                    var page = new InfoAyuda("terminos.html");
                    Navigation.PushPopupAsync(page);
                };
                lblTerminos.GestureRecognizers.Add(tapterminos);

                if (App.usr != null)
                {
                    if (!String.IsNullOrEmpty(App.usr.picture))
                    {
                        imgFoto.Source    = ImageSource.FromUri(new Uri(App.usr.picture));
                        imgFoto.IsVisible = true;
                    }
                    if (!String.IsNullOrEmpty(App.usr.email))
                    {
                        edtCorreo.Text = App.usr.email;
                    }
                    if (!String.IsNullOrEmpty(App.usr.first_name))
                    {
                        edtNombre.Text = App.usr.first_name + (!String.IsNullOrEmpty(App.usr.last_name) ? " " + App.usr.last_name : "");
                    }
                }
                btnLogin.Clicked += async(sender, ea) =>
                {
                    int idusrreferido = App.WSc.ExisteCodigoReferidoUsr(txtCodigo.Text.Trim());
                    if (!String.IsNullOrEmpty(txtCodigo.Text.Trim()) && idusrreferido == 0)
                    {
                        await DisplayAlert("Error", "El codigo promocional que capturo es incorrecto, revise por favor", "OK");

                        return;
                    }
                    if (!check.ValidaNip(nipCapture.Nip))
                    {
                        await DisplayAlert("Error", "Revise el NIP. (No se permiten consecutivos ni que todos los digitos sean iguales)", "OK");
                    }
                    else
                    {
                        btnLogin.IsEnabled = false;

                        UserDialogs.Instance.ShowLoading("Cargando...");
                        string         json = App.WSc.GetUser(0, check.SafeSqlLiteral(edtCorreo.Text.Trim()), "");
                        List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                        if (lu.Count > 0)
                        {
                            btnLogin.IsEnabled = true;
                            UserDialogs.Instance.HideLoading();
                            await DisplayAlert("Error", "Ya existe un usuario con este correo. Utilice el boton \"Ya tengo cuenta\"", "OK");

                            /*App.usr = lu.FirstOrDefault();
                             * json = "";
                             * json = App.WSc.GetCatalogo(9, "where idusuario = " + App.usr.idusuario.ToString());
                             * List<Tarjeta> lt = JsonConvert.DeserializeObject<List<tempuri.org.Tarjeta>>(json).Select(x => new Tarjeta { idtarjeta = x.idtarjeta, idpais = x.idpais, idemisor = x.idemisor, numero = x.numero, expiramm = x.expiramm, expirayy = x.expirayy, titularFN = x.titularFN, titularLN = x.titularLN, calleynumero = x.calleynumero, idciudad = x.idciudad, codigopostal = x.codigopostal, idestado = x.idestado, idusuario = x.idusuario, cvv = Crypto.EncryptAes(x.cvv, Settings.PwdCrypto, Crypto.String2ByteArray(Settings.SaltCrypto)) }).ToList();
                             * App.db.DescargaTarjetas(lt);
                             * json = "";
                             * json = App.WSc.GetCatalogo(11, "where idusuario = " + App.usr.idusuario.ToString());
                             * List<Recarga> lr = JsonConvert.DeserializeObject<List<Recarga>>(json);
                             * App.db.DescargaRecargas(lr);
                             * json = "";
                             * json = App.WSc.GetCatalogo(12, "where idusuario = " + App.usr.idusuario.ToString());
                             * List<SaldoMonedero> sm = JsonConvert.DeserializeObject<List<SaldoMonedero>>(json);
                             * if (sm.Count() > 0)
                             *      App.db.DescargaSaldo(sm.FirstOrDefault());
                             * json = "";
                             * json = App.WSc.GetCatalogo(13, "where idusuario = " + App.usr.idusuario.ToString());
                             * List<RecargaProg> lrp = JsonConvert.DeserializeObject<List<RecargaProg>>(json);
                             * App.db.DescargaRecargasProg(lrp);
                             * //cerro sesion, y ahora entra, si no existe en db local debo dar de alta
                             * if (App.db.SelUsr(App.usr.email) == null)
                             *      App.db.AltaUsr(lu.FirstOrDefault());
                             * var nva = App.Nav.NavigationStack.OfType<NuevaTarjeta>().FirstOrDefault();
                             * if (nva != null)
                             * {
                             *      ((App.Current.MainPage as MasterDetailPage).Master as menu).Refrescamenu();
                             *      if (App.master == null)
                             *              App.master = (App.Current.MainPage as MasterDetailPage);
                             *      UserDialogs.Instance.HideLoading();
                             *      await App.Nav.PopAsync(Constantes.animated);
                             *      nva.AltaEnPrimeraVez();
                             * }
                             * else {
                             *      UserDialogs.Instance.HideLoading();
                             *      App.Current.MainPage = new MainPage();
                             * }*/
                        }
                        else
                        {
                            App.usr.email          = check.SafeSqlLiteral(edtCorreo.Text);
                            App.usr.name           = check.SafeSqlLiteral(edtNombre.Text);
                            App.usr.idpais         = cvwPais.IdPais;
                            App.usr.nip            = nipCapture.Nip;
                            App.usr.registrado     = true;
                            App.usr.numerocontacto = check.SafeSqlLiteral(edtNumCto.Text);
                            App.usr.fechaalta      = DateTime.Now;
                            UserDialogs.Instance.ShowLoading("Registrando...");
                            EventHandler <AltaUsrCompletedEventArgs> auc = null;
                            auc = (s, e) =>
                            {
                                App.WS.AltaUsrCompleted -= auc;
                                Device.BeginInvokeOnMainThread(async() =>
                                {
                                    UserDialogs.Instance.HideLoading();
                                    if (e.Error != null || e.Cancelled)
                                    {
                                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                                        btnLogin.IsEnabled = true;
                                    }
                                    if (e.Error == null && !e.Cancelled)
                                    {
                                        if (e.Result > 0)
                                        {
                                            App.usr.idusuario = e.Result;
                                            App.db.AltaUsr(App.usr);
                                            var nva = App.Nav.NavigationStack.OfType <NuevaTarjeta>().FirstOrDefault();
                                            if (nva != null)
                                            {
                                                ((App.Current.MainPage as MasterDetailPage).Master as menu).Refrescamenu();
                                                if (App.master == null)
                                                {
                                                    App.master = (App.Current.MainPage as MasterDetailPage);
                                                }

                                                await App.Nav.PopAsync(Constantes.animated);
                                                await App.Nav.PopAsync(Constantes.animated);
                                                nva.AltaEnPrimeraVez();
                                            }
                                            else
                                            {
                                                UserDialogs.Instance.HideLoading();
                                                App.Current.MainPage = new MainPage();
                                            }
                                        }
                                        else
                                        {
                                            await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                                        }
                                    }
                                });
                            };
                            App.WS.AltaUsrCompleted += auc;
                            App.WS.AltaUsrAsync(ConvertUsuarioToTemp(App.usr), (!String.IsNullOrEmpty(txtCodigo.Text.Trim()) ? idusrreferido : 0));
                        }
                    }
                };
            }
            catch (Exception e)
            {
            }
        }
コード例 #4
0
        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)
            {
            }
        }
コード例 #5
0
ファイル: Miperfil.xaml.cs プロジェクト: jazminewrooman/MT
		public Miperfil()
		{
			InitializeComponent();
			NavigationPage.SetBackButtonTitle(this, "");

			cvwPerfil.BindingContext = App.usr;

			TapGestureRecognizer tapgrdMonedero = new TapGestureRecognizer();
			tapgrdMonedero.Tapped += async (s, e) =>
			{
				grdMonedero.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
				await Task.Delay(100);
				grdMonedero.BackgroundColor = Color.Transparent; //grdEstado.Opacity = 1;
				RecargasViewModel rvm = new RecargasViewModel();
				rvm.Tiporecarga = TipoRecarga.Monedero;
				await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
			};
			grdMonedero.GestureRecognizers.Add(tapgrdMonedero);
			//int hab = App.WSc.GetMonederoHab();
			//if (hab == 1)
			//	grdMonedero.IsVisible = true;
			//else
				grdMonedero.IsVisible = false;
			
			//TapGestureRecognizer tapgrdMedios = new TapGestureRecognizer();
			//tapgrdMedios.Tapped += async (s, e) =>
			//{
			//	grdMedios.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
			//	await Task.Delay(100);
			//	grdMedios.BackgroundColor = Color.Transparent; //grdEstado.Opacity = 1;
			//	RecargasViewModel rvm = new RecargasViewModel();
            //  rvm.ReadOnly = true;
            //  await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
			//};
			//grdMedios.GestureRecognizers.Add(tapgrdMedios);

			TapGestureRecognizer tapgrdChat = new TapGestureRecognizer();
			tapgrdChat.Tapped += async (s, e) =>
			{
				grdChat.BackgroundColor = Color.FromHex("#e5e5e5");
				await Task.Delay(100);
				grdChat.BackgroundColor = Color.Transparent;
				//await App.Nav.PushAsync(new MainChatPage(), Constantes.animated);
				await App.Nav.PushAsync(new webchat(), Constantes.animated);
				//await App.Nav.PushAsync(new ChatPage());
			};
			grdChat.GestureRecognizers.Add(tapgrdChat);

			TapGestureRecognizer tapgrdTuto = new TapGestureRecognizer();
			tapgrdTuto.Tapped += async (s, e) =>
			{
				grdTuto.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
				await Task.Delay(100);
				grdTuto.BackgroundColor = Color.Transparent; //grdEstado.Opacity = 1;
				await App.Nav.PushAsync(new Tuto(App.Current), Constantes.animated);
            };
			grdTuto.GestureRecognizers.Add(tapgrdTuto);

			TapGestureRecognizer tappoliticas = new TapGestureRecognizer();
			tappoliticas.Tapped += async (s, e) =>
			{
				grdPolitica.BackgroundColor = Color.FromHex("#e5e5e5");
				await Task.Delay(100);
				grdPolitica.BackgroundColor = Color.Transparent;
				var page = new InfoAyuda("politica.html");
				Navigation.PushPopupAsync(page);
			};
			grdPolitica.GestureRecognizers.Add(tappoliticas);
			TapGestureRecognizer tapterminos = new TapGestureRecognizer();
			tapterminos.Tapped += async (s, e) =>
			{
				grdTerminos.BackgroundColor = Color.FromHex("#e5e5e5");
				await Task.Delay(100);
				grdTerminos.BackgroundColor = Color.Transparent;
				var page = new InfoAyuda("terminos.html");
				Navigation.PushPopupAsync(page);
			};
			grdTerminos.GestureRecognizers.Add(tapterminos);
		}
コード例 #6
0
ファイル: CargarSaldo.xaml.cs プロジェクト: jazminewrooman/MT
        public void CargarInicia(Recarga rec)
        {
            InitializeComponent();
            Title = "Cargar Saldo";

            rvm = new RecargasViewModel();
            this.BindingContext = rvm;
            rvm.Tiporecarga     = TipoRecarga.RecargaTA;
            NavigationPage.SetBackButtonTitle(this, "");

            if (rec != null)
            {
                if (rec is RecargaProg)
                {
                    rvm.EdicionOnly = true;
                }

                if (App.usr.idpais != 0)
                {
                    rvm.idpais = App.usr.idpais;
                }
                else
                {
                    rvm.idpais = 1;                     //default Mexico
                }
                rvm.IdUsuario = App.usr.idusuario;

                mirec = new Recarga();
                mirec = rec;
            }
            else
            {
                Refresh();
                if (App.usr.idpais != 0)
                {
                    rvm.idpais = App.usr.idpais;
                }
                else
                {
                    rvm.idpais = 1;                     //default Mexico
                }
            }

            ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () =>
            {
                var page = new InfoAyuda("cargarsaldo.html");
                Navigation.PushPopupAsync(page);
            }));

            lsC.Clear();

            rvm.RecargaIncompleta += (s, e) =>
            {
                if (e.estaincompleta)
                {
                    if (rvm.idoperadora == 0 || rvm.idpaquete == 0)
                    {
                        lblvalOpePaq.IsVisible = true;
                    }
                    else
                    {
                        lblvalOpePaq.IsVisible = false;
                    }
                    btnAplicar.IsEnabled = false;
                }
                else
                {
                    btnAplicar.IsEnabled = true;
                }
            };
            if (mirec != null)
            {
                rvm.idpais          = mirec.idpais;
                rvm.idoperadora     = mirec.idoperadora;
                rvm.idpaquete       = mirec.idpaquete;
                rvm.NumeroRecarga   = mirec.numerorecarga;
                rvm.ContactoRecarga = (!String.IsNullOrEmpty(mirec.contactorecarga) ? CleanString.UseRegex(mirec.contactorecarga) : "");
                rvm.idFormaPago     = mirec.idformapago;
                rvm.IdTarjeta       = mirec.idtarjeta;
                if (rvm.idFormaPago == 2 && rvm.IdTarjeta > 0)
                {
                    rvm.TipoTrans = TipoTransaccion.SegundaVez;
                }
            }
            if (rvm.EdicionOnly)
            {
                btnAplicar.Text = "Comprar";
            }
            else
            {
                if (rvm.idFormaPago == 2 && rvm.IdTarjeta > 0 && App.db.SelTarjetas(rvm.IdTarjeta) != null)
                {
                    btnAplicar.Text = "Confirmar";
                }
                else
                {
                    btnAplicar.Text = "Comprar";
                }
            }

            string title = ""; ListaOpciones lo;
            TapGestureRecognizer tapgrdPais = new TapGestureRecognizer();

            tapgrdPais.Tapped += async(s, e) =>
                                                                    //vclPais.Tapped += async (object sender, EventArgs e) =>
            {
                grdPais.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                await Task.Delay(100);

                grdPais.BackgroundColor = Color.Transparent;                 //grdEstado.Opacity = 1;
                ls.Clear();
                title = "Selecciona un pais";
                ls    = rvm.lsPais().Select(x => new Opcion {
                    idopc = x.idpais, opc = x.pais, imgopc = x.img
                }).ToObservableCollection();
                lo       = new ListaOpciones(ls, title, 1);
                lo.IdOpc = 1;
                await App.Nav.PushAsync(lo, Constantes.animated);
            };
            grdPais.GestureRecognizers.Add(tapgrdPais);

            TapGestureRecognizer tapgrdOperadora = new TapGestureRecognizer();

            tapgrdOperadora.Tapped += async(s, e) =>
                                                                         //vclOperadora.Tapped += async (object sender, EventArgs e) =>
            {
                grdOperadora.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                await Task.Delay(100);

                grdOperadora.BackgroundColor = Color.Transparent;                 //grdEstado.Opacity = 1;
                ls.Clear();
                title = "Selecciona una compañía";
                ls    = rvm.LsOperadoras(rvm.idpais).Select(x => new Opcion {
                    idopc = x.idoperadora, opc = x.operadora, imgopc = x.img
                }).ToObservableCollection();
                lo       = new ListaOpciones(ls, title, 1);
                lo.IdOpc = 2;
                await App.Nav.PushAsync(lo, Constantes.animated);
            };
            grdOperadora.GestureRecognizers.Add(tapgrdOperadora);

            if (mirec != null)
            {
                txtNum.Text      = mirec.numerorecarga;
                lblContacto.Text = (!String.IsNullOrEmpty(mirec.contactorecarga) ? CleanString.UseRegex(mirec.contactorecarga) : "");
            }
            TapGestureRecognizer tapgrdSaldo = new TapGestureRecognizer();

            tapgrdSaldo.Tapped += async(s, e) =>
                                                                     //vclSaldo.Tapped += async (object sender, EventArgs e) =>
            {
                grdSaldo.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                await Task.Delay(100);

                grdSaldo.BackgroundColor = Color.Transparent;                 //grdEstado.Opacity = 1;
                ls.Clear();
                title = "Selecciona monto";
                ObservableCollection <catPaquete> lpq = rvm.LsPaquetes(rvm.idoperadora);
                ls = lpq.OrderBy(x => x.tipo).Select(x => new Opcion {
                    idopc = x.idpaquete, opc = x.monto.ToString("c", new System.Globalization.CultureInfo("es-MX")) + " " + x.paquete, idagrupador = x.tipo, agrupador = (x.tipo == 0 ? "Tiempo aire" : "Paquetes de datos")
                }).ToObservableCollection();
                if (ls.Select(x => x.idagrupador).Distinct().Count() > 1)
                {
                    lo = new ListaOpciones(ls, title, 1, true);                     //hay TA y datos
                }
                else
                {
                    lo = new ListaOpciones(ls, title, 1);                     //solo TA
                }
                lo.IdOpc = 4;
                await App.Nav.PushAsync(lo, Constantes.animated);
            };
            grdSaldo.GestureRecognizers.Add(tapgrdSaldo);

            TapGestureRecognizer tapgrdLimpiar = new TapGestureRecognizer();

            tapgrdLimpiar.Tapped += async(s, e) =>
            {
                grdLimpiar.BackgroundColor = Color.FromHex("#e5e5e5");
                await Task.Delay(100);

                grdLimpiar.BackgroundColor = Color.Transparent;
                rvm.Refresh();
                txtNum.Text      = "";
                lblContacto.Text = "";
            };
            grdLimpiar.GestureRecognizers.Add(tapgrdLimpiar);

            btnAplicar.Clicked += async(sender, ea) =>
            {
                if (rvm.EsIncompleta())
                {
                    await DisplayAlert("Error", "Faltan capturar o seleccionar algunos campos", "OK");
                }
                else
                {
                    btnAplicar.IsEnabled = false;
                    rvm.NumeroRecarga    = check.SafeSqlLiteral(txtNum.Text.Trim());
                    if (rvm.EdicionOnly)
                    {
                        await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
                    }
                    else
                    {
                        if (rvm.idFormaPago == 2 && rvm.IdTarjeta > 0 && App.db.SelTarjetas(rvm.IdTarjeta) != null)
                        {
                            //vamos a cargar el tvm desde una tarjeta (no se como?)
                            TarjetasViewModel tvm = new TarjetasViewModel();
                            await App.Nav.PushAsync(new Procesar(rvm, tvm, TipoTransaccion.SegundaVez), Constantes.animated);
                        }
                        else
                        {
                            await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
                        }
                    }
                }
            };
            phvalNum.PropertyChanged += (object sender, PropertyChangedEventArgs e) =>
            {
                if (phvalNum.IsValid)
                {
                    rvm.NumeroRecarga = check.SafeSqlLiteral(txtNum.Text);
                }
                else
                {
                    rvm.NumeroRecarga = "";
                }
            };
            btnContactos.Clicked += async(sender, e) =>
            {
                vwContactos = new Contactos();
                await App.Nav.PushAsync(vwContactos);

                lsC = vwContactos.GetLista();
            };
            txtNum.TextChanged += (s, e) =>
            {
                if (lsC.Count > 0)
                {
                    IEnumerable <Contacto> tmp = lsC.Where(x => Regex.Replace(x.Number, @"\s+", "").Contains(e.NewTextValue));
                    if (tmp.Count() > 0)
                    {
                        lblContacto.Text    = CleanString.UseRegex(tmp.FirstOrDefault().Name);
                        rvm.ContactoRecarga = lblContacto.Text;
                    }
                    else
                    {
                        lblContacto.Text    = "";
                        rvm.ContactoRecarga = "";
                    }
                }
            };
        }