public ActionResult BookBorrow(AddBookBorrowerViewModel addBookBorrowerViewModel) { if (borrowerService.AssignBorrowerToBook(addBookBorrowerViewModel)) { return(RedirectToAction("Index", "Book")); } else { return(View(addBookBorrowerViewModel)); } }
public void AssignBookToBorrower(AddBookBorrowerViewModel addBookBorrowerViewModel) { var bookBorrower = new BookBorrower(); bookBorrower.Id = context.BooksBorrowed.Count == 0 ? 1 : context.BooksBorrowed.Count + 1; bookBorrower.BookId = addBookBorrowerViewModel.BookId; bookBorrower.BorrowerId = addBookBorrowerViewModel.BorrowerId; bookBorrower.DateBorrowed = System.DateTime.Now; context.BooksBorrowed.Add(bookBorrower); context.Books.Where(b => b.BookId == bookBorrower.BookId).FirstOrDefault().IsBorrowed = true; }
public void BookBorrow_Post_Action_Redirects_Same_ViewResult_When_BookAlreadyBorrowed() { //Arrange var bookBorrower = new AddBookBorrowerViewModel() { Id = 1, BookId = 4, BorrowerId = 1 }; var controller = CreateAndReturnBorrowerControllerObject(); //Act var result = controller.BookBorrow(bookBorrower) as ViewResult; //Assert Assert.AreEqual("", result.ViewName); }
public void BookBorrow_Post_Action_Returns_Book_Index_Result_When_Valid() { //Arrange var bookBorrower = new AddBookBorrowerViewModel() { Id = 1, BookId = 1, BorrowerId = 1 }; var controller = CreateAndReturnBorrowerControllerObject(); //Act var result = controller.BookBorrow(bookBorrower) as RedirectToRouteResult; //Assert Assert.AreEqual("Index", result.RouteValues["action"]); Assert.AreEqual("Book", result.RouteValues["controller"]); }
public bool AssignBorrowerToBook(AddBookBorrowerViewModel addBookBorrowerViewModel) { if (!_repository.IsBookBorrowed(addBookBorrowerViewModel.BookId)) { _validatonDictionary.AddError(ErrorMessages.BookNotFoundHeading, ErrorMessages.BookNotFoundMessage); } else if (!_repository.IsBorrowerExists(addBookBorrowerViewModel.BorrowerId)) { _validatonDictionary.AddError(ErrorMessages.BorrowerNotFoundHeading, ErrorMessages.BorrowerNotFoundMessage); } if (_validatonDictionary.IsValid) { _repository.AssignBookToBorrower(addBookBorrowerViewModel); return(true); } else { return(false); } }