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(); } }); }
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); } }