Ejemplo n.º 1
0
        public async Task SeedAsync(OrderContext context, IHostingEnvironment env, IOptions <OrderSettings> settings)
        {
            var policy = CreatePolicy(nameof(OrderContextSeed));

            await policy.ExecuteAsync(async() => {
                using (context)
                {
                    context.Database.Migrate();

                    if (!context.Orders.Any())
                    {
                        context.AddRange(GetPredifinedOrders());
                        await context.SaveChangesAsync();
                    }

                    if (!context.OrderItems.Any())
                    {
                        await context.SaveChangesAsync();
                    }

                    await context.SaveChangesAsync();
                }
            });
        }
Ejemplo n.º 2
0
        public bool AddOrderDetails(string orderId, List <FoodMenuModel> selectedMenus)
        {
            List <OrderDetails> orderDetails = new List <OrderDetails>();

            using (var orderContext = new OrderContext())
            {
                var itemQty = selectedMenus.GroupBy(p => p.FoodId);
                for (int i = 0; i < selectedMenus.Count; i++)
                {
                    int menuQty = itemQty.Where(li => li.Key == selectedMenus[i].FoodId).Count();
                    var order   = new OrderDetails()
                    {
                        OrderId  = Convert.ToInt32(orderId),
                        MenuId   = Convert.ToInt32(selectedMenus[i].FoodId),
                        Quantity = menuQty
                    };
                    orderDetails.Add(order);
                }

                orderContext.AddRange(orderDetails);
                orderContext.SaveChanges();
                return(true);
            }
        }