/// <summary> /// Builds a document using document template and XML or JSON data passed in request. /// </summary> /// <param name="request">Request. <see cref="AssembleDocumentRequest" /></param> /// <returns><see cref="System.IO.Stream"/></returns> public System.IO.Stream AssembleDocument(AssembleDocumentRequest request) { // create path and map variables var resourcePath = this.configuration.GetApiRootUrl() + "/assembly/assemble"; resourcePath = Regex .Replace(resourcePath, "\\*", string.Empty) .Replace("&", "&") .Replace("/?", "?"); var postBody = SerializationHelper.Serialize(request.AssembleOptions); // http body (model) parameter return(this.apiInvoker.InvokeBinaryApi( resourcePath, "POST", postBody, null, null)); }
public void TestPostAssembleDocument() { var fileName = "TableFeatures.odt"; var dataName = "TableData.json"; var data = File.ReadAllText(Path.Combine(BaseTestContext.LocalTestDataFolder, dataName)); var saveOptions = new AssembleOptions() { SaveFormat = "pdf", ReportData = data, TemplateFileInfo = new TemplateFileInfo { FilePath = Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName) } }; this.UploadFileToStorage(Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName), null, null, File.ReadAllBytes(Path.Combine(BaseTestContext.LocalTestDataFolder, fileName))); var request = new AssembleDocumentRequest(saveOptions); var result = this.AssemblyApi.AssembleDocument(request); Assert.IsTrue(result.Length > 0, "Error occurred while assemble document"); }
public void TestPostAssembleDocumentThrows() { var fileName = "TableFeatures.odt"; var saveOptions = new AssembleOptions() { SaveFormat = "pdf", ReportData = string.Empty, TemplateFileInfo = new TemplateFileInfo { FilePath = Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName) } }; this.UploadFileToStorage(Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName), null, null, File.ReadAllBytes(Path.Combine(BaseTestContext.LocalTestDataFolder, fileName))); var request = new AssembleDocumentRequest(saveOptions); try { this.AssemblyApi.AssembleDocument(request); } catch (ApiException e) { Assert.AreEqual(400, e.ErrorCode); Assert.AreEqual("assembleOptions.ReportData is required in the request body.", e.Message); } }