public ActionResult AddBook(Book newbook) { try { if (ModelState.IsValid) { // BookValidation bookValidation = new BookValidation(); // validating whether the book already exists or not // Abstract Factory pattern AbstractFactory abstractfactory = FactoryProducer.GetFactory("IBookValidation"); IBookValidation bookValidation = abstractfactory.getbookvalidation("BookValidation"); if (bookValidation.ValidateBook(newbook)) { int id = newbook.BookID; BookTable booktable = new BookTable(db); newbook.Status = BookStatus.Available.ToString(); booktable.Insert(newbook); ModelState.Clear(); ViewBag.Message = newbook.Name + ProjectConstants.SuccessMsg; } else { ViewBag.Message = ProjectConstants.AddBookFailMsg; return(View(ProjectConstants.AddBook)); } return(View(ProjectConstants.AddBook)); } } catch (Exception) { log.Error("Error while adding book to the database"); throw; } return(View(ProjectConstants.AddBook)); }
public CartController(IBookService bookService, ICartService cartService, IBookValidation bookValidation) { _bookService = bookService; _cartService = cartService; _bookValidation = bookValidation; }