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; }
public void EndOrder(EndOrderModel endedOrder) { _commandBus.SendCommand(new EndOrderCommand() { OrderId = endedOrder.OrderId, OrderCancelled = endedOrder.OrderCancelled, OrderCancelledReason = endedOrder.OrderCancelledReason }); }
public void NotifyOrderEnded(EndOrderModel endedOrder) { Task.Run(() => HandleSafely(NotifyOrderEndedEvent, endedOrder)); //should be awaited... }