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); }
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); }
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); }