Example #1
0
        public async void AddBasketToDB(BDE bdeChosen, BaseMetroDialog dialog)
        {
            var totalPrice = TotalPrice;
            var key        = DateTime.Now.ToString().GetHashCode().ToString("x");
            var u          = Singleton <User> .GetInstance();

            var ticket = new Ticket(key, new DateTime(), bdeChosen, BasketItems, u, u.Account, reductionQuantity * 0.2f);

            persistance.AddTicket(ticket);
            await dialogCoordinator.HideMetroDialogAsync(this, dialog);

            await main.ShowMessageAsync("Encaissement Réussi", $"Un montant de {totalPrice.ToString("C2")} a été encaissé au {bdeChosen.Name} avec le ticket {key}");

            ClearBasket();
        }
Example #2
0
        private async void addBasketToDB(BDE bdeChosen)
        {
            var totalPrice = baskets.Sum(items => items.quantity * items.ItemProduct.Price);
            var key        = DateTime.Now.ToString().GetHashCode().ToString("x");
            var u          = Singleton <User> .GetInstance();

            var ticket = new Ticket(key, new DateTime(), bdeChosen, baskets, u, u.Account, reduction);

            persistance.AddTicket(ticket);
            await dialog.HideCurrentDialog();

            var mySettings = new MetroDialogSettings()
            {
                AffirmativeButtonText = "Deconnexion",
                NegativeButtonText    = "Retour au vente",
                AnimateShow           = true,
                AnimateHide           = true,
            };
            var controller = await main.ShowProgressAsync("Encaissement Réussi", $"\nUn montant de {ticket.TotalPaid} a été encaissé au {bdeChosen.Name} avec le ticket {key}\n\nAppuyez sur 'Retour au vente'. Sinon dans 10 seconds, vous allez etre deconnecter.", settings : mySettings);

            controller.SetCancelable(true);
            double i = 0.0;

            while (i < 100.0)
            {
                double val = (i / 100.0);
                controller.SetProgress(val);
                int seconds = (100 - Convert.ToInt32(i)) / 20;
                controller.SetMessage($"\nUn montant de {ticket.TotalPaid} a été encaissé au {bdeChosen.Name} avec le ticket {key}\n\nRetour au vente dans {seconds} seconds.");


                if (controller.IsCanceled)
                {
                    break; //canceled progressdialog auto closes.
                }
                i += 1.0;

                await Task.Delay(50);
            }

            await controller.CloseAsync();

            Singleton <Event> .GetInstance()?.InvolveClearBasket();

            Singleton <Event> .GetInstance()?.InvolveUpdateProduct();
        }