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 List <RelationUserBookCopyViewModel> GetLoans(bool active) { var viewModels = new List <RelationUserBookCopyViewModel>(); var domainModels = new List <RelationUserBookCopyData>(); if (active) { domainModels = RelationUserBookCopyRepository.GetAllActiveData(); } else { domainModels = RelationUserBookCopyRepository.GetAllData(); } viewModels = ConvertToViewModels(domainModels); return(viewModels); }
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 DeleteUserResult Delete(int?userId, UserSessionObject currentUser) { var result = new DeleteUserResult(); if (userId.HasValue) { UserData domainModel = UserRepository.GetDataById(userId.Value); if (domainModel != null) { List <RelationUserBookCopyData> loans = RelationUserBookCopyRepository.GetLoansForUser(userId.Value); if (loans.Count == 0) { UserRepository.DeleteById(userId.Value, currentUser.UserId); result = new DeleteUserResult(userId.Value, domainModel.FullFirstAndLastName); } else { result.Message = "Can't delete this user. There are some not returned loans."; } } } return(result); }