public virtual AvailableBook giveBack(BorrowedBook borrowedBook) { bool isBookRemovedFromUserAccount = borrowedBooks.Any(book => book.UserId == borrowedBook.UserId); if (isBookRemovedFromUserAccount) { return(new AvailableBook() { Id = borrowedBook.Id }); } else { throw new System.ArgumentException("User with an id: " + id + " didn't borrow book with an id: " + borrowedBook.Id); } }
public virtual BorrowedBook borrow(ReservedBook reservedBook) { if (hasUserNotReachedLimitOfBooks()) { BorrowedBook borrowedBook = new BorrowedBook() { Id = reservedBook.Id, UserId = reservedBook.AssignedUserId }; borrowedBooks.Add(borrowedBook); return(borrowedBook); } else { throw new TooManyBooksAssignedToUserException(id); } }