public async Task <IActionResult> IssueBook(int?id) { if (id == null) { return(NotFound()); } var book = await _context.Book.SingleOrDefaultAsync(m => m.BookID == id); if (book == null) { return(NotFound()); } BooksIssueViewModel IssueVM = new BooksIssueViewModel(); IssueVM.book = book; IQueryable <string> usersQuery = from m in _context.ApplicationUser orderby m.UserName select m.UserName; var movies = from m in _context.ApplicationUser select m; // This is not used, can be used if we use select in the view IssueVM.Users = new SelectList(await usersQuery.Distinct().ToListAsync()); return(View(IssueVM)); }
public async Task <IActionResult> IssueBook(int id, BooksIssueViewModel IssueBook) { var book = await _context.Book.SingleOrDefaultAsync(m => m.BookID == id); book.Avaliable = false; var user = await _userManager.FindByNameAsync(IssueBook.Username); var books = _context.Book.Where(m => m.TakenBy.Id == user.Id); if (books.Count() >= 2) { ViewBag.error = "Please return issued books for more books! "; IssueBook.book = book; return(View(IssueBook)); } book.TakenBy = user; _context.Book.Update(book); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }