Example #1
0
        public DeleteBookResult DeleteCopy(int bookCopyId, UserSessionObject user)
        {
            var          result       = new DeleteBookResult();
            BookCopyData bookCopyData = BookCopyRepository.GetDataById(bookCopyId);

            if (bookCopyData != null)
            {
                List <BookCopyData> list = new List <BookCopyData>()
                {
                    bookCopyData
                };
                if (CheckIfAnyCopyIsBorrowed(list))
                {
                    result.Message = "Book copy is currently borrowed. Can't be deleted.";
                }
                else
                {
                    BookCopyRepository.DeleteById(bookCopyData.Id, user.UserId);

                    BookData book = BookRepository.GetDataById(bookCopyData.BookId);
                    book.NumOfAvailableCopies = book.NumOfAvailableCopies - 1;
                    BookRepository.SaveData(book);

                    result = new DeleteBookResult(book.Id, book.BookAuthorAndTitle, bookCopyData.Id);
                }
            }
            else
            {
                result.Message = "Please select book copy for delete.";
            }

            return(result);
        }
Example #2
0
        public BookCopyViewModel GetCopy(int?bookCopyId)
        {
            var viewModel = new BookCopyViewModel();

            if (bookCopyId.HasValue)
            {
                BookCopyData             domainModel = BookCopyRepository.GetDataById(bookCopyId.Value);
                BookCopyViewModelBuilder builder     = BuilderResolverService.Get <BookCopyViewModelBuilder, BookCopyData>(domainModel);
                Constructor.ConstructViewModelData(builder);
                viewModel = builder.GetViewModel();
            }

            return(viewModel);
        }
Example #3
0
        public RelationUserBookCopyViewModel CreateLoanModel(int bookCopyId)
        {
            BookCopyData copy = BookCopyRepository.GetDataById(bookCopyId);
            BookData     book = BookRepository.GetDataById(copy.BookId);

            var viewModel = new RelationUserBookCopyViewModel
            {
                BookCopyId       = bookCopyId,
                BookFullName     = book.BookAuthorAndTitle,
                DateOfIssue      = DateTime.Now,
                DateDueForReturn = DateTime.Now.AddDays(14)
            };

            return(viewModel);
        }
Example #4
0
        private string GetBookFullTitle(int bookCopyId)
        {
            string       fulltitle = string.Empty;
            BookCopyData bookCopy  = BookCopyRepository.GetDataById(bookCopyId);

            if (bookCopy != null)
            {
                BookData book = BookRepository.GetDataById(bookCopy.BookId);
                if (book != null)
                {
                    fulltitle = book.BookAuthorAndTitle;
                }
            }

            return(fulltitle);
        }
Example #5
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);
        }