Ejemplo n.º 1
0
        public void PlaceOrder(Order order)
        {
            foreach (var bookOrdered in order.BooksOrderedList)
            {
                var book = _bookRepository.GetById(bookOrdered.BookId);
                if (book.ProductsAvailable < bookOrdered.NumberOrdered)
                {
                    //TO DO: Dodać informację, jakiej książki i w jakiej ilości np. napisać własny wyjątek
                    throw new ApplicationException("Brakuje książek w magazynie");
                }
            }

            foreach (var bookOrdered in order.BooksOrderedList)
            {
                var book = _bookRepository.GetById(bookOrdered.BookId);

                _bookRepository.DecreaseProductsAvailable(bookOrdered.BookId, bookOrdered.NumberOrdered);
            }

            _orderRepository.Insert(order);
        }