Ejemplo n.º 1
0
        private void TableAppSubscriber_NotifyOrderEndedEvent(object sender, EndOrderModel endOrderModel)
        {
            if (!IsSomethingOrdered)             //Z jakiegoś powodu wykonuje się dwukrotnie...
            {
                return;
            }

            var dispatcher      = Application.Current.Dispatcher;
            var endOrderMessage = endOrderModel.OrderCancelled
                                ? $"Your order was cancelled: {endOrderModel.OrderCancelledReason}"
                                : "Your order was processed successfully.";

            Action showMessageAction = () =>
            {
                ModernDialog.ShowMessage(endOrderMessage, "Order was closed", MessageBoxButton.OK, Application.Current.MainWindow);
            };

            if (dispatcher == null || dispatcher.CheckAccess())
            {
                showMessageAction.Invoke();
            }
            else
            {
                dispatcher.Invoke(showMessageAction);
            }

            IsSomethingOrdered = false;
            AddedElements.Clear();
            TotalPrice = 0;
        }
Ejemplo n.º 2
0
 public void EndOrder(EndOrderModel endedOrder)
 {
     _commandBus.SendCommand(new EndOrderCommand()
     {
         OrderId              = endedOrder.OrderId,
         OrderCancelled       = endedOrder.OrderCancelled,
         OrderCancelledReason = endedOrder.OrderCancelledReason
     });
 }
Ejemplo n.º 3
0
 public void NotifyOrderEnded(EndOrderModel endedOrder)
 {
     Task.Run(() => HandleSafely(NotifyOrderEndedEvent, endedOrder));             //should be awaited...
 }