public ActionResult Index(string searchTerm = null, bool showInLibrary = false, int page = 1) { var pageSize = GetPageSize(); IPagedList <BookListItem> bookList; using (var db = new BookLibraryContext()) { _bb = new BookBorrowing(db); var tempBooks = db.Books.Include("BookType"); var searchResult = tempBooks.Where(DoesBookMeetSearchTermPredicate(searchTerm)); bookList = searchResult.Select(CreateBookListItem) .Where(DoesBookExistInLibraryPredicate(showInLibrary)) .ToPagedList(page, pageSize); _bb = null; } if (Request.IsAjaxRequest()) { return(PartialView("_BookList", bookList)); } return(View(bookList)); }
public ActionResult Borrow(long bookId) { string message; var user = Bl.Users.Current; if (user == null) { var errorAlert = string.Format( "alert('Current user [{0}] has no rights to borrow books. Please contact the admin.');", Bl.Users.CurrentLoginName); return(JavaScript(errorAlert)); } bool succeed; using (var db = new BookLibraryContext()) { var bb = new BookBorrowing(db); succeed = bb.BorrowBook(user, bookId, out message); } if (!succeed) { var errorAlert = string.Format("alert('{0}');", message); return(JavaScript(errorAlert)); } return(RedirectToAction("Index", "BookList")); }
public ActionResult Return(long borrowId) { var user = Bl.Users.Current; if (!user.IsAdmin) { return(RedirectToAction("Default", "Home")); } bool succeed; string message; using (var db = new BookLibraryContext()) { var bb = new BookBorrowing(db); succeed = bb.Return(user, borrowId, out message); } if (!succeed) { var errorAlert = string.Format("alert('{0}');", message); return(JavaScript(errorAlert)); } var infos = GetAllBorrowInfo(); return(View("Index", infos)); }
public ActionResult Subscribe(long bookId) { var user = Bl.Users.Current; bool succeed; string message; using (var db = new BookLibraryContext()) { var bb = new BookBorrowing(db); succeed = bb.SubscribeBook(user, bookId, out message); } if (!succeed) { var errorAlert = string.Format("alert('{0}');", message); return(JavaScript(errorAlert)); } return(RedirectToAction("Index", "BookList")); }