public ActionResult BookBorrow(AddBookBorrowerViewModel addBookBorrowerViewModel)
 {
     if (borrowerService.AssignBorrowerToBook(addBookBorrowerViewModel))
     {
         return(RedirectToAction("Index", "Book"));
     }
     else
     {
         return(View(addBookBorrowerViewModel));
     }
 }
Example #2
0
        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;
        }
Example #3
0
        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);
        }
Example #4
0
        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);
            }
        }