public async Task AddAsync(Data.Order order) { foreach (var item in order.OrderItems) { var comic = await _context.ComicBooks.FindAsync(item.ComicBookId); if (comic == null) { throw new NullReferenceException("Invalid comic book Id"); } if (comic.Quantity < item.Quantity) { throw new InvalidOperationException( $"Comic book with id: {comic.Id} does not have enough items to create your order (in stock {comic.Quantity}, your order {item.Quantity})"); } comic.Quantity = comic.Quantity - item.Quantity; _context.Update(comic); } _context.Orders.Add(order); await _context.SaveChangesAsync(); }
public Task UpdateAsync(Data.ComicBook comic) { _context.Update(comic); return(_context.SaveChangesAsync()); }