public void GetBookTransactionCountByBookId_Zero()
        {
            Mock <IDatabase>     mock                  = new Mock <IDatabase>();
            BookTranscationTable booktable             = new BookTranscationTable(mock.Object);
            List <Dictionary <string, string> > result = new List <Dictionary <string, string> >();

            mock.Setup(x => x.Query(It.IsAny <string>(), It.IsAny <Dictionary <string, object> >())).Returns(result);
            Assert.AreEqual(0, booktable.GetBookTransactionCountByBookId(1, true));
        }
        public void GetBookTransactionCountByBookId()
        {
            Mock <IDatabase>                    mock      = new Mock <IDatabase>();
            BookTranscationTable                booktable = new BookTranscationTable(mock.Object);
            Dictionary <string, string>         parameter = new Dictionary <string, string>();
            List <Dictionary <string, string> > result    = new List <Dictionary <string, string> >();

            parameter.Add("Book_ID", "1");
            result.Add(parameter);
            mock.Setup(x => x.Query(It.IsAny <string>(), It.IsAny <Dictionary <string, object> >())).Returns(result);
            Assert.AreEqual(1, booktable.GetBookTransactionCountByBookId(1, true));
        }
Exemplo n.º 3
0
        public ActionResult Issue(BookTransactionViewModel transactionViewModel)
        {
            try
            {
                if (transactionViewModel == null)
                {
                    throw new ArgumentException(ProjectConstants.InvalidTransactionMsg);
                }

                MemberTable memberTable = new MemberTable(db);
                LibMember   member      = memberTable.GetMemberById(Convert.ToString(transactionViewModel.MemberID));
                if (member == null)
                {
                    ModelState.AddModelError(string.Empty, ProjectConstants.MemberIdNotExistMsg);
                    return(View(transactionViewModel));
                }

                BookTable bookTable = new BookTable(db);
                Book      book      = bookTable.GetBookById(Convert.ToString(transactionViewModel.BookID));

                BookTranscationTable bookTranscationTable = new BookTranscationTable(db);
                BookTranscation      bookTranscation      = new BookTranscation()
                {
                    BookID      = transactionViewModel.BookID, BookStatus = transactionViewModel.BookStatus, MemberID = transactionViewModel.MemberID,
                    DateofIssue = transactionViewModel.DateofIssue, DueDate = transactionViewModel.DueDate
                };
                bookTranscationTable.Insert(bookTranscation);

                int existingBookTransactionCount = bookTranscationTable.GetBookTransactionCountByBookId(bookTranscation.BookID);

                if (existingBookTransactionCount >= book.Count)
                {
                    // update the book status as Not Available
                    book.Status = BookStatus.NotAvailable.ToString();
                    bookTable.Update(book);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(RedirectToAction(ProjectConstants.ListBookTranscation));
        }