Beispiel #1
0
        async void ExecuteSubopeTappedIC()
        {
            SubOperacion subope = new SubOperacion
            {
                Id          = SubopeSelected.Id,
                IdOperacion = SubopeSelected.IdOperacion,
                Nombre      = SubopeSelected.Nombre
            };

            NavigationParameters navParameters = new NavigationParameters();

            navParameters.Add("Operacion", Operacion);
            navParameters.Add("SubOperacion", subope);
            Application.Current.Properties["suboperacionActual"] = subope;

            //pagos
            if (Operacion.Id == "1")
            {
                //pago de servicios
                if (subope.Id == "0")
                {
                    await NavigationService.NavigateAsync(Constantes.pageEmpresa, navParameters);
                }
                else if (subope.Id == "1") //pago a institucion o empresa
                {
                    await NavigationService.NavigateAsync(Constantes.pageBuscadorEmpresa, navParameters);
                }
                else if (subope.Id == "2") //pago de tarjetas
                {
                    await NavigationService.NavigateAsync(Constantes.pageTipoTarjeta, navParameters);
                }
            }
            else if (Operacion.Id == "2")//recargas
            {
                //recarga de celular
                if (subope.Id == "0")
                {
                    await NavigationService.NavigateAsync(Constantes.pageRecargaCelular, navParameters);
                }
                else if (SubopeSelected.Id == "1")
                {
                    await NavigationService.NavigateAsync(Constantes.pageRecargaBim, navParameters);
                }
            }

            else if (Operacion.Id == "3")
            {
                Application.Current.Properties["strTipoTransf"]       = subope.Id;
                Application.Current.Properties["strOrigenMisCuentas"] = OrigenMisCuentas;
                Application.Current.Properties["strPageOrigen"]       = "";
                await NavigationService.NavigateAsync("CtaCargo", navParameters);
            }

            SubopeSelected = null;
        }
        async void ExecuteAccionCompletarIC()
        {
            try
            {
                if (string.IsNullOrEmpty(Clave))
                {
                    await UserDialogs.AlertAsync("Ingrese una clave válida", "Mensaje", "OK");

                    return;
                }

                Cuenta  cta      = RefNavParameters["CtaCargo"] as Cuenta;
                string  montoStr = RefNavParameters["monto"] as string;
                decimal monto    = decimal.Parse(montoStr);

                string rpta = CuentaService.efectuarMovimiento(cta, monto, "PEN", false);

                if (rpta != "")
                {
                    await UserDialogs.AlertAsync(rpta, Constantes.MSJ_INFO, Constantes.MSJ_BOTON_OK);
                }
                else
                {
                    if (IsOperacionFrecuente)
                    {
                        //RefNavParameters["suboperacionActual"] as SubOperacion;
                        SubOperacion       subope  = RefNavParameters["SubOperacion"] as SubOperacion;
                        Catalogo           empresa = RefNavParameters["Empresa"] as Catalogo;
                        OperacionFrecuente opeFrec = new OperacionFrecuente
                        {
                            FechaOperacion  = DateTime.Now,
                            SubOperacion    = subope,
                            Operacion       = OperacionService.BuscarOperacion(subope.IdOperacion),
                            Servicio        = RefNavParameters["Servicio"] as Servicio,
                            NombreFrecuente = subope.Nombre + ": " + empresa.Nombre
                        };

                        OperacionService.AgregarOperacionFrecuente(opeFrec);
                        EventAggregator.GetEvent <OpeFrecuenteAddedEvent>().Publish();
                    }
                    await UserDialogs.AlertAsync(Constantes.msjExito, "Mensaje", "OK");

                    await NavigationService.GoBackToRootAsync();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
        async void ExecuteAccionConfirmarIC()
        {
            try
            {
                string msj = ValidarCampos();
                if (msj != "")
                {
                    await DialogService.DisplayAlertAsync("Validación", msj, "OK");

                    return;
                }

                decimal montoDec = decimal.Parse(Monto);

                string rptaTrx = CuentaService.efectuarMovimiento(Cuenta, montoDec, Moneda.Codigo, false);

                if (rptaTrx != "")
                {
                    await DialogService.DisplayAlertAsync(Constantes.MSJ_INFO, rptaTrx, Constantes.MSJ_BOTON_OK);
                }
                else
                {
                    if (IsOperacionFrecuente)
                    {
                        //TODO
                        SubOperacion subope = RefNavParameters["SubOperacion"] as SubOperacion;

                        string pageOrigen = RefNavParameters[Constantes.pageOrigen] as string;

                        OperacionFrecuente opeFrec = new OperacionFrecuente
                        {
                            FechaOperacion  = DateTime.Now,
                            SubOperacion    = subope,
                            Operacion       = RefNavParameters["Operacion"] as Operacion,
                            NombreFrecuente = subope.Nombre + ": " + LblDatos1
                        };

                        if (pageOrigen == Constantes.pageDatosPagoTarjeta)
                        {
                            opeFrec.Picker1         = RefNavParameters["TipoTarjeta"] as Catalogo;
                            opeFrec.Picker2         = Moneda;
                            opeFrec.parametro1      = RefNavParameters["NumTarjeta"] as string;
                            opeFrec.NombreFrecuente = subope.Nombre + ": " + opeFrec.Picker1.Nombre;
                        }
                        else if (pageOrigen == Constantes.pageRecargaCelular)
                        {
                            opeFrec.Picker1    = RefNavParameters["Operador"] as Catalogo;
                            opeFrec.parametro1 = RefNavParameters["NumCelular"] as string;
                        }
                        else if (pageOrigen == Constantes.pageRecargaBim)
                        {
                            opeFrec.parametro1      = RefNavParameters["NumBim"] as string;
                            opeFrec.NombreFrecuente = subope.Nombre;
                        }

                        OperacionService.AgregarOperacionFrecuente(opeFrec);
                        EventAggregator.GetEvent <OpeFrecuenteAddedEvent>().Publish();
                    }
                    await DialogService.DisplayAlertAsync(Constantes.MSJ_INFO, Constantes.MSJ_EXITO, Constantes.MSJ_BOTON_OK);

                    await NavigationService.GoBackToRootAsync();
                }

                //parametros.Add("Monto", Monto);
                //parametros.Add("NumTarjeta", NumTarjeta);
                //parametros.Add("Moneda", CatalogoService.BuscarMonedaPorNombre(NomMoneda));

                //await NavigationService.NavigateAsync(Constantes.pageConfDatosPago, parametros);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }