//POST:Book/Returned
        public async Task <IActionResult> Returned(int bookId, int orderId)
        {
            var order = await _context.Orders.FindAsync(orderId);

            var borrowedBook = await _context.BorrowedBooks.Where(b => b.OrderID == orderId).FirstAsync();

            var book = await _context.Books.FindAsync(bookId);

            var user = await _context.Users.FindAsync(order.UserID);

            user.BooksHeld--;
            order.ReturnedOn = DateTime.Now;
            order.Status     = "completed";
            book.Borrowed    = false;

            // this just "tells the database what needs to be done but doesn't do anythign"
            _context.Update(order);
            _context.Update(book);
            _context.Update(user);
            _context.Remove(borrowedBook);

            //this does the trick
            await _context.SaveChangesAsync();

            return(RedirectToAction("Transactions", "Order"));
        }
Ejemplo n.º 2
0
 public IActionResult RemoveBook(long id, long userid)
 {
     _context.Remove(_context.Books.Single(a => a.Id == id));
     _context.SaveChanges();
     return(Redirect("/Home/MyBookshelf"));
 }