Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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)));
        }