public void AddToBooked(int productId, int quantity)
        {
            ProductStock stock = Stocks.FirstOrDefault(s => s.ProductIdent == productId);

            if (stock != null && stock.InStock >= quantity)
            {
                stock.Booked += quantity;
            }
            context.SaveChanges();
        }
        public void AddToStock(int productId, int quantity)
        {
            ProductStock stock = Stocks.FirstOrDefault(s => s.ProductIdent == productId);

            if (stock != null)
            {
                stock.InStock += quantity;
            }
            else
            {
                stock = new ProductStock {
                    ProductIdent = productId, InStock = quantity, Booked = 0
                };
                context.ProductStocks.Add(stock);
            }
            context.SaveChanges();
        }
        public bool CheckQuantity(IEnumerable <CartLine> cartLines)
        {
            int enought = 0;
            int entire  = cartLines.Count();

            foreach (var line in cartLines)
            {
                ProductStock ps        = context.ProductStocks.FirstOrDefault(t => t.ProductIdent == line.Product.ProductID);
                int          booked    = ps != null ? ps.Booked : 0;
                int          available = (ps != null ? ps.InStock : 0) - booked;
                if (line.Quantity <= available)
                {
                    enought++;
                }
            }
            return(enought == entire ? true : false);
        }