Exemple #1
0
        async Task ExecuteLoadNotScannedRecieptsCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                NotScannedReciepts.Clear();
                var reciepts = await RecieptService.GetUnScannedReciepts(Helpers.DeviceHelper.GetMunchyId());

                foreach (var reciept in reciepts)
                {
                    if (reciept.IsScanned == false)
                    {
                        NotScannedReciepts.Add(reciept);
                    }
                }
            }

            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
        private async void PayWithFingerPrint(bool captureNow)
        {
            IsBusy = true;
            var result = await CrossFingerprint.Current.AuthenticateAsync("Scan for at betale");

            if (result.Authenticated)
            {
                IsBusy = true;
                Int64 order_id = await IdService.CreateOrderIdAsync();

                Payment payment = await PaymentService.CreateRecurringPayment(user.SubId, captureNow, order_id);

                payment = await PaymentService.GetPayment(payment.id.ToString());

                if (payment.accepted)
                {
                    IsBusy = true;
                    Order order = await OrderService.CreateOrder(BasketService.CurrentBasket, payment);

                    Reciept reciept = await RecieptService.AddRecieptAsync(order, Helpers.DeviceHelper.GetMunchyId());

                    BasketService.CurrentBasket.ClearBasketItems();
                    if (captureNow)
                    {
                        Page page = Application.Current.MainPage;
                        await page.Navigation.PushAsync(new SuccesPage("Betalingen er nu gennemført", new ScanQRPage(reciept)));

                        Application.Current.MainPage.Navigation.RemovePage(Application.Current.MainPage.Navigation.NavigationStack[1]);
                    }
                    else
                    {
                        Page page = Application.Current.MainPage;
                        await page.Navigation.PushAsync(new SuccesPage("Betalingen er nu gennemført", Application.Current.MainPage.Navigation.NavigationStack[0]));

                        Application.Current.MainPage.Navigation.RemovePage(Application.Current.MainPage.Navigation.NavigationStack[0]);
                    }
                }
            }
            IsBusy = false;
        }