Beispiel #1
0
        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()));
        }