public bool AddBook(Valence.Request.Parameters param, string isbn, ref string message)
        {
            Uri uri = param.UserContext.CreateAuthenticatedUri(
                "/d2l/api/" + param.ApiVersion("le") + "/" + param.ClassOrgId + "/content/isbn/", "POST");

            var bookIsbn = new Valence.IsbnAssociation {
                Isbn = isbn
            };
            var    serializer = new JavaScriptSerializer();
            String postData   = serializer.Serialize(bookIsbn);

            var request = (HttpWebRequest)WebRequest.Create(uri);

            request.Method      = "POST";
            request.ContentType = "application/json";

            using (var requestWriter = new StreamWriter(request.GetRequestStream())) {
                requestWriter.Write(postData);
            }

            bool result = true;

            var handler = new Valence.Request.ErrorHandler();

            Valence.Request.Perform(request, param.UserContext,
                                    delegate(string data) {
                var responseSerializer = new JavaScriptSerializer();
                var bookResult         = responseSerializer.Deserialize <Valence.Book>(data);
                if (bookResult.Isbn != isbn)
                {
                    result = false;
                }
            },
                                    handler.Process);

            if (handler.IsError)
            {
                result  = false;
                message = "Unable to add books to course. " + handler.Message;
            }
            return(result);
        }
        public bool AddBook( Valence.Request.Parameters param, string isbn, ref string message )
        {
            Uri uri = param.UserContext.CreateAuthenticatedUri(
                "/d2l/api/" + param.ApiVersion( "le" ) + "/" + param.ClassOrgId + "/content/isbn/", "POST" );

            var bookIsbn = new Valence.IsbnAssociation { Isbn = isbn };
            var serializer = new JavaScriptSerializer();
            String postData = serializer.Serialize(bookIsbn);

            var request = (HttpWebRequest)WebRequest.Create(uri);
            request.Method = "POST";
            request.ContentType = "application/json";

            using( var requestWriter = new StreamWriter( request.GetRequestStream() ) ) {
                requestWriter.Write( postData );
            }

            bool result = true;

            var handler = new Valence.Request.ErrorHandler();

            Valence.Request.Perform( request, param.UserContext,
                                     delegate( string data ) {
                                         var responseSerializer = new JavaScriptSerializer();
                                         var bookResult = responseSerializer.Deserialize<Valence.Book>( data );
                                         if (bookResult.Isbn != isbn) {
                                             result = false;
                                         }
                                     },
                                     handler.Process);

            if( handler.IsError ) {

                result = false;
                message = "Unable to add books to course. " + handler.Message;
            }
            return result;
        }