Example #1
0
        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();
        }
Example #2
0
 public IActionResult AddOrder(Order order)
 {
     orderingService.PlaceOrder(order);
     return(Ok(order));
 }