public async Task <IActionResult> SaveOrders([FromBody] Models.Order[] orders) { foreach (var order in orders) { var newOrder = new Orders(); newOrder.BeverageId = order.BeverageId; newOrder.OrderedBy = order.OrderedBy; newOrder.DateCreated = DateTimeOffset.UtcNow; newOrder.DateUpdated = DateTimeOffset.UtcNow; newOrder.Notes = order.Notes; // add to the new orders _context.Orders.Add(newOrder); // update inventory by subtracting units var bis = _context.BeverageIngredient.Include("Ingredient").Where((bi) => bi.BeverageId == order.BeverageId); foreach (var bi in bis) { bi.Ingredient.RemainingUnits = bi.Ingredient.RemainingUnits - bi.Units; _context.Ingredient.Update(bi.Ingredient); } } await _context.SaveChangesAsync(); return(Ok()); }
public async Task <ActionResult> UpdateIngredientsInventory([FromBody] Models.IngredientPack[] packs) { foreach (var item in packs) { var ingredient = _context.Ingredient.FirstOrDefault(_ => _.IngredientId == item.IngredientId); ingredient.RemainingUnits = ingredient.RemainingUnits + (item.Count * ingredient.UnitsInPack); _context.Update(ingredient); } return(Ok(await _context.SaveChangesAsync())); }