public async Task <IActionResult> Extend(uint?id) { if (id == null) { return(NotFound()); } var borrow = await _context.Borrow.FirstOrDefaultAsync(m => m.Id == id); if (borrow == null) { return(NotFound()); } var BorrowDetailViewModel = new BorrowDetailViewModel { BorrowId = borrow.Id, LendDate = borrow.LendDate, ExpectReturnDate = borrow.ExpectReturnDate, DelayDays = borrow.DelayDays, DelayExpense = borrow.DelayExpense, RemainingDays = CountRemainDays(borrow.ExpectReturnDate) }; return(View(BorrowDetailViewModel)); }
public async Task <IActionResult> Details(int?id) { var user = await GetCurrentUserAsync(); var book = await _context.Book .Include(b => b.User) .Include(b => b.Category) .Include(b => b.Author) .Include(b => b.Borrows) .Include(b => b.WishLists) .FirstOrDefaultAsync(b => b.BookId == id); var borrow = await _context.Borrow .Include(br => br.User) .Where(b => b.UserId == user.Id) .FirstOrDefaultAsync(b => b.BookId == id); BorrowDetailViewModel detailsViewModel = new BorrowDetailViewModel { Book = book }; foreach (var br in book.Borrows) { if (book.BookId == br.BookId && br.DateReturned == null /* && br.UserId == user.Id && book.UserId != user.Id*/) { detailsViewModel.borrow = borrow; detailsViewModel.IsBorrowed = true; } else { detailsViewModel.borrow = borrow; detailsViewModel.IsBorrowed = false; } } var wishList = await _context.wishList .Include(br => br.User) .Where(b => b.UserId == user.Id) .FirstOrDefaultAsync(b => b.BookId == id); foreach (var w in book.WishLists) { if (w.UserId == user.Id) { detailsViewModel.wishLists = wishList; detailsViewModel.IsWishListed = true; } else { detailsViewModel.wishLists = wishList; detailsViewModel.IsWishListed = false; } } if (id == null) { return(NotFound()); } if (book == null) { return(NotFound()); } return(View(detailsViewModel)); }