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