Пример #1
0
        private void StartNewTimer(Pizza pizzaForThisTimer)
        {
            var timer = new PizzaTimer
            {
                Interval = 1000,
                Data     = pizzaForThisTimer
            };

            timer.Elapsed += timer_Elapsed;
            timer.Start();
        }
Пример #2
0
        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            PizzaTimer timer = (PizzaTimer)sender;
            var        pizza = timer.Data;

            pizza.TimeToBake--;
            if (pizza.TimeToBake == 0)
            {
                State.AllOrders.First(foundPizza => foundPizza.Id.Equals(pizza.Id)).Status =
                    PizzaStatus.Completed;
                State.AllOrders = State.AllOrders.Where(pizzaOrder => !pizzaOrder.Id.Equals(pizza.Id)).ToList();
                timer.Stop();
                Device.BeginInvokeOnMainThread(async() =>
                {
                    await _dialogService.DisplayAlertAsync("Warm and ready",
                                                           $"Your order {pizza.Id} has been backed and is coming to you right now", "OK");
                });
            }
        }