private void PlaceOrder() { if (orderTree.Nodes.Count == 0) { MessageBox.Show(Resources.EmptyOrder, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var order = new OrderDto { CreatedOn = DateTime.UtcNow, Notes = rtbNotes.Text }; foreach (var mainNode in orderTree.Nodes.Cast <MenuNodeItem>()) { var orderEntry = new OrderEntryDto { MenuItemId = mainNode.MenuItemId }; foreach (var extra in mainNode.Nodes.Cast <MenuNodeItem>()) { var extraEntry = new OrderEntryDto { MenuItemId = extra.MenuItemId }; orderEntry.Extras.Add(extraEntry); } order.OrderItems.Add(orderEntry); } var savedOrder = _orderingService.PlaceOrder(order); if (savedOrder == null) { MessageBox.Show(Resources.OrderSaveError, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var sent = _mailingService.SendOrder(savedOrder); if (sent) { MessageBox.Show(Resources.OrderSent, Resources.Info, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(Resources.OrderSendEmailError, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning); } ClearOrder(); NewOrder(); }
public IActionResult AddOrder(Order order) { orderingService.PlaceOrder(order); return(Ok(order)); }