コード例 #1
0
        public ActionResult EditBook(string operation, string bookId)
        {
            var user = Bl.Users.Current;

            if (!user.IsAdmin)
            {
                return(RedirectToAction("Default", "Home"));
            }

            EditBookInfo edit;

            if (operation == "Add")
            {
                edit = new EditBookInfo
                {
                    PurchaseDate  = DateTime.Now.ToShortDateString(),
                    PageTitle     = "Register New Book",
                    Operation     = "Add",
                    Confirmmation = Utility.BuildConfirm("Are you sure to regist this book?")
                };
                return(View(edit));
            }

            var  id = long.Parse(bookId);
            Book book;

            using (var db = new BookLibraryContext())
            {
                book = db.Books.Include("BookType").FirstOrDefault(b => b.BookId == id);
            }

            if (book == null)
            {
                var alert = Utility.BuildAlert("Invalid book ID [{0}].", bookId);
                return(JavaScript(alert));
            }

            edit = new EditBookInfo
            {
                PageTitle     = "Edit Book Information",
                Operation     = "Save",
                Confirmmation = Utility.BuildConfirm("Are you sure to save the changes?")
            };
            edit.LoadInfo(book);
            return(View(edit));
        }
コード例 #2
0
        public ActionResult EditBook(EditBookInfo editInfo)
        {
            string alert;
            var    user = Bl.Users.Current;

            if (!user.IsAdmin)
            {
                return(RedirectToAction("Default", "Home"));
            }

            var bookNumber = editInfo.BookNumber;

            if (string.IsNullOrEmpty(bookNumber))
            {
                alert = Utility.BuildAlert("Book number could not be empty.");
                return(JavaScript(alert));
            }

            if (editInfo.Operation == "Add")
            {
                using (var db = new BookLibraryContext())
                {
                    var existBook = db.Books.Include("BookType").FirstOrDefault(b => b.BookNumber == bookNumber);
                    if (existBook != null)
                    {
                        alert = Utility.BuildAlert("The book number [{0}] conflict with the book {1}.", bookNumber, existBook.BookType.Title);
                        return(JavaScript(alert));
                    }

                    var book = CreateNewBook(editInfo);
                    db.Books.Add(book);
                    db.SaveChanges();

                    alert = Utility.BuildAlert("The new book was added.");
                    return(JavaScript(alert));
                }
            }
            else if (editInfo.Operation == "Edit")
            {
                using (var db = new BookLibraryContext())
                {
                    var bookId    = long.Parse(editInfo.BookId);
                    var existBook = db.Books.Include("BookType").FirstOrDefault(b => b.BookId != bookId && b.BookNumber == bookNumber);
                    if (existBook != null)
                    {
                        alert = Utility.BuildAlert("The book number [{0}] conflict with the book {1}.", bookNumber, existBook.BookType.Title);
                        return(JavaScript(alert));
                    }

                    var book = db.Books.Include("BookType").FirstOrDefault(b => b.BookId == bookId);
                    editInfo.StoreInfo(book);
                    db.SaveChanges();
                    alert = Utility.BuildAlert("Book information updated.");
                    return(JavaScript(alert));
                }
            }
            else
            {
                alert = Utility.BuildAlert("Invalid operation {0}.", editInfo.Operation);
                return(JavaScript(alert));
            }
        }