Exemplo n.º 1
0
        public BorrowResult BorrowBook(RelationUserBookCopyViewModel viewModel, UserSessionObject user)
        {
            var result = new BorrowResult();

            viewModel.DateOfIssue      = DateTime.Now;
            viewModel.DateDueForReturn = DateTime.Now.AddDays(14);

            RelationUserBookCopyDomainModelBuilder builder = BuilderResolverService.Get
                                                             <RelationUserBookCopyDomainModelBuilder, RelationUserBookCopyViewModel>(viewModel);

            Constructor.ConstructDomainModelData(builder);
            RelationUserBookCopyData domainModel = builder.GetDataModel();

            if (viewModel.Id == 0)
            {
                domainModel.RefUserCreatedBy = user.UserId;
            }

            int loanId = RelationUserBookCopyRepository.SaveData(domainModel);

            if (loanId != 0)
            {
                var saveResult = UpdateCopyAndBook(domainModel.BookCopyId, user);
                if (saveResult.Success)
                {
                    string username = UserService.Get(domainModel.UserId).Username;
                    result = new BorrowResult(loanId, domainModel.BookCopyId, username);
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        public ActionResult Borrow(RelationUserBookCopyViewModel viewModel)
        {
            UserSessionObject  user       = Session.GetUser();
            JsonResult         response   = (JsonResult)RouteData.Values["validation"];
            ValidationResponse validation = (ValidationResponse)response.Data;

            if (validation.Success)
            {
                viewModel.Id = 0;
                BorrowResult result = LoanService.BorrowBook(viewModel, user);
                response.Data = result;
            }

            return(response);
        }
Exemplo n.º 3
0
        public BorrowResult ReturnBook(int loandId, UserSessionObject user)
        {
            var result = new BorrowResult();
            RelationUserBookCopyData loanData = RelationUserBookCopyRepository.GetDataById(loandId);

            if (loanData != null)
            {
                loanData.DateReturned      = DateTime.Now;
                loanData.DateTimeDeletedOn = DateTime.Now;
                loanData.RefUserDeletedBy  = user.UserId;
                loanData.IsActive          = false;

                BookCopyData bookCopy = BookCopyRepository.GetDataById(loanData.BookCopyId);
                if (bookCopy != null)
                {
                    bookCopy.OnLoan = false;
                    BookData book = BookRepository.GetDataById(bookCopy.BookId);
                    if (book != null)
                    {
                        book.NumOfAvailableCopies = book.NumOfAvailableCopies + 1;

                        int bookId     = BookRepository.SaveData(book);
                        int bookCopyId = BookCopyRepository.SaveData(bookCopy);
                        int loanId     = RelationUserBookCopyRepository.SaveData(loanData);

                        result = new BorrowResult(loandId, bookCopyId);
                    }
                    else
                    {
                        result.Message = "Book not found.";
                    }
                }
                else
                {
                    result.Message = "Book copy not found.";
                }
            }
            else
            {
                result.Message = "Loan with id " + loandId + "doesn't exist.";
            }

            return(result);
        }