Esempio n. 1
0
        public SaveBookResult Save(BookCopyViewModel viewModel, UserSessionObject user)
        {
            var result = new SaveBookResult();

            BookCopyDomainModelBuilder builder = BuilderResolverService.Get <BookCopyDomainModelBuilder, BookCopyViewModel>(viewModel);

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

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

            int id = BookCopyRepository.SaveData(domainModel);

            if (id != 0)
            {
                BookViewModel bookViewModel = Get(viewModel.BookId);
                bookViewModel.NumOfAvailableCopies = bookViewModel.NumOfAvailableCopies + 1;
                SaveBookResult updateResult = Save(bookViewModel, user);

                if (updateResult.Success)
                {
                    result = new SaveBookResult(id, viewModel.BookAuthorAndTitle,
                                                "Successfully added copy of book " + viewModel.BookAuthorAndTitle);
                }
            }

            return(result);
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        public SaveBookResult SaveOnly(BookCopyViewModel viewModel, UserSessionObject user)
        {
            var result = new SaveBookResult();

            BookCopyDomainModelBuilder builder = BuilderResolverService.Get <BookCopyDomainModelBuilder, BookCopyViewModel>(viewModel);

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

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

            int id = BookCopyRepository.SaveData(domainModel);

            if (id != 0)
            {
                result = new SaveBookResult(id, domainModel.BookId.ToString());
            }

            return(result);
        }