Example #1
0
        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);
            }
        }
Example #2
0
 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);
     }
 }