public Task <bool> RegistrarDispositivo(CodigoNotificacionAplicacionMovil codigo)
        {
            Task <bool> eventos;

            DataService.AppDataService ds = new DataService.AppDataService(ParametrosSistema.TokenUsuarioActual);
            string url = "NotificacionApp/RegistrarDispositivo";

            eventos = ds.RealizarPeticionApi <bool>(url, DataService.TipoPeticionApi.Post, codigo);
            return(eventos);
        }
示例#2
0
        public async void btnIngresarClicked(object sender, EventArgs e)
        {
            btnLogin.IsEnabled = false;
            IsBusy             = true;

            SeguridadBLL bll = new SeguridadBLL();

            //Se borran las credeciales almacenadas
            bll.EliminarCredencialesUsuario();

            if (await ParametrosSistema.isOnline)
            {
                TokenSeguridad token = null;

                try
                {
                    lblEstado.Text = "Autenticando usuario.";
                    token          = await bll.Autenticar(txtUsuario.Text, txtPassword.Text);

                    if (token != null)
                    {
                        lblEstado.Text = "Autenticación correcta.";
                        Com.OneSignal.OneSignal.IdsAvailable idsPrinterDelegate = async delegate(string playerID, string pushToken)
                        {
                            try
                            {
                                NotificacionBLL notificacionBLL       = new NotificacionBLL();
                                CodigoNotificacionAplicacionMovil not = new CodigoNotificacionAplicacionMovil();
                                not.OneSignalId = playerID;
                                not.PushToken   = string.Empty;
                                not.Plataforma  = "android";
                                not.Usuario     = Common.ParametrosSistema.UsuarioActual;
                                await notificacionBLL.RegistrarDispositivo(not);

                                lblEstado.Text = "Dispositivo registrado correctamente.";
                            }
                            catch (Exception ex)
                            {
                                lblEstado.Text = "Error registrando dispositivo para notificaciones.";
                            }
                        };
                        lblEstado.Text = "Registrando dispositivo para notificaciones.";
                        Com.OneSignal.OneSignal.GetIdsAvailable(idsPrinterDelegate);


                        //Se crea la base de datos local
                        lblEstado.Text = "Creando base de datos local.";
                        DatabaseBLL      dbBLL     = new DatabaseBLL();
                        RespuestaProceso respuesta = await dbBLL.CrearBaseDeDatos();

                        lblEstado.Text = "Base de datos creada correctamente.";
                        if (respuesta.ProcesadoCorrectamente == true)
                        {
                            btnLogin.IsEnabled = true;
                            IsBusy             = false;
                            await Navigation.PopAsync();

                            await Navigation.PushAsync(new HomeView());
                        }
                        else
                        {
                            btnLogin.IsEnabled = true;
                            IsBusy             = false;
                            await Navigation.PushAsync(new ErrorView(respuesta.Respuesta));
                        }
                    }
                    else
                    {
                        btnLogin.IsEnabled = true;
                        IsBusy             = false;
                        DisplayAlert("Error al Ingresar", "Ocurrió un error inesperado en la autenticación.", "Aceptar");
                    }
                }
                catch (Exception ex)
                {
                    btnLogin.IsEnabled = true;
                    IsBusy             = false;
                    if (ex.Message.Contains("Bad Request"))
                    {
                        DisplayAlert("Error al Ingresar", "Nombre de usuario y/o contraseña no válidos.", "Aceptar");
                    }
                    else
                    {
                        DisplayAlert("Error al Ingresar", "Ocurrió un error inesperado en la autenticación.", "Aceptar");
                    }
                }
            }
            else
            {
                DisplayAlert("ERROR", "No tiene conexión a Internet", "Aceptar");
                IsBusy             = false;
                btnLogin.IsEnabled = true;
            }
        }