Пример #1
0
        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));
        }
Пример #2
0
        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"));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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"));
        }