public async Task <ActionResult <PhysicalBook> > PostPhysicalBook(PhysicalBook physicalBook) { _context.PhysicalBook.Add(physicalBook); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPhysicalBook", new { id = physicalBook.Id }, physicalBook)); }
public async Task <IActionResult> PutPhysicalBook(int id, PhysicalBook physicalBook) { if (id != physicalBook.Id) { return(BadRequest()); } _context.Entry(physicalBook).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PhysicalBookExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Order> > PostOrder(Order order) { _context.Order.Add(order); if (order.IsCompleted) { var physicalBook = new PhysicalBook { Book = order.Book, BookId = order.BookId }; _context.PhysicalBook.Add(physicalBook); } await _context.SaveChangesAsync(); return(CreatedAtAction("GetOrder", new { id = order.Id }, order)); }
static async Task ProcessMessagesAsync(Message message, CancellationToken token) { //Console.WriteLine($"Body:{Encoding.UTF8.GetString(message.Body)}"); var jsonString = Encoding.UTF8.GetString(message.Body); var order = JsonConvert.DeserializeObject <Order>(jsonString); var optionsBuilder = new DbContextOptionsBuilder <BookServiceContext>(); optionsBuilder.UseSqlServer(_connString); await using (var context = new BookServiceContext(optionsBuilder.Options)) { var completedOrder = await context.CompletedOrder.FirstOrDefaultAsync(co => co.OrderId == order.Id, token); //Meaning the order havnt been fulfilled yet if (completedOrder == null) { var orderedBook = await context.Book.FirstOrDefaultAsync(b => b.Id == order.BookId, token); var physicalBook = new PhysicalBook { Book = orderedBook, BookId = order.BookId }; context.PhysicalBook.Add(physicalBook); var completedOrder1 = new CompletedOrder { OrderId = order.Id }; context.CompletedOrder.Add(completedOrder1); await context.SaveChangesAsync(token); } } await queueClient.CompleteAsync(message.SystemProperties.LockToken); }
public void Should_tell_me_how_many_books_can_fit_into_it() { BookShelf bookShelf = new BookShelf(100); var book = new PhysicalBook("123", "", "", 100, 20); Assert.That(bookShelf.HowManyBooksCanFit(book), Is.EqualTo(5)); }
public int HowManyBooksCanFit(PhysicalBook book) { return _width / book.Thickness; }