Ejemplo n.º 1
0
        public static List <MenuItemDto> GetMenuItems()
        {
            using (var context = new DineAndDashContext())
            {
                var menuItems = context.MenuItems.ToList();

                return(menuItems.Select(m => new MenuItemDto(m)).ToList());
            }
        }
Ejemplo n.º 2
0
        public static List <OrderDto> GetOrdersWithoutEntries()
        {
            using (var context = new DineAndDashContext())
            {
                var orders = context.Set <Order>().ToList();

                return(orders.Select(o => new OrderDto(o, false)).ToList());
            }
        }
Ejemplo n.º 3
0
        public static int SaveOrder(OrderDto orderDto)
        {
            var orderId = 0;

            try
            {
                using (var context = new DineAndDashContext())
                {
                    var originalOrder = orderDto.Id != 0
                        ? context.Set <Order>().FirstOrDefault(o => o.OrderId == orderDto.Id)
                        : null;

                    if (originalOrder == null)
                    {
                        var order = orderDto.CreateOrderEntity();

                        foreach (var orderItem in orderDto.OrderItems)
                        {
                            var orderEntry = new OrderEntry
                            {
                                MenuItemId = orderItem.MenuItemId
                            };

                            foreach (var extra in orderItem.Extras)
                            {
                                var extraEntry = new OrderEntry
                                {
                                    MenuItemId = extra.MenuItemId,
                                    Parent     = orderEntry
                                };

                                orderEntry.Children.Add(extraEntry);
                            }

                            order.OrderEntries.Add(orderEntry);
                        }

                        context.Orders.Add(order);
                        context.SaveChanges();

                        orderId = order.OrderId;
                    }
                }
            }
            catch (Exception exc)
            {
                Debug.WriteLine(exc.Message);
                orderId = 0;
            }

            return(orderId);
        }
Ejemplo n.º 4
0
        public static OrderDto GetOrderById(int orderId)
        {
            using (var context = new DineAndDashContext())
            {
                try
                {
                    var order = context.Set <Order>().FirstOrDefault(o => o.OrderId == orderId);

                    return(new OrderDto(order));
                }
                catch (Exception exc)
                {
                    Debug.WriteLine(exc.Message);
                    return(null);
                }
            }
        }