public void Initialize() { _documentTypeRepositoryMock = DocumentTypeRepositoryMock.GetDocumentTypeRepositoryMock(); _generatedDocumentRepositoryMock = GeneratedDocumentRepositoryMock.GetGeneratedDocumentRepositoryMock(); jsonContent = new GenerateDocumentRequest(); htmlContent = new GenerateDocumentRequest(); htmlGenerator = new DocumentGenerator.Implementations.HtmlGenerator(new DocumentGenerator.Implementations.Helpers.HtmlGeneratorHelper()); pdfGenerator = new DocumentGenerator.Implementations.PdfGenerator(); odtGenerator = new DocumentGenerator.Implementations.OdtGenerator(); docxGenerator = new DocumentGenerator.Implementations.DocxGenerator(); generatedDocumentLogger = new DocumentGenerator.Implementations.Helpers.GeneratedDocumentLogger(_generatedDocumentRepositoryMock.Object); templateGenerator = new TemplateGenerator(new DocumentGenerator.Implementations.PdfGenerator(), new DocumentGenerator.Implementations.HtmlGenerator(new DocumentGenerator.Implementations.Helpers.HtmlGeneratorHelper())); documentGenerator = new DocumentGenerator.Implementations.Generators.DocumentGenerator(_documentTypeRepositoryMock.Object, generatedDocumentLogger, htmlGenerator, pdfGenerator, odtGenerator, docxGenerator, templateGenerator); _templateVersionRepositoryMock = TemplateVersionRepositoryMock.GetTemplateVersionRepositoryMock(); _folderRepositoryMock = FolderRepositoryMock.GetFolderRepositoryMock(); _templateRepositoryMock = TemplateRepositoryMock.GetTemplateRepositoryMock(); templateVersionManipulation = new TemplateVersionManipulation(_templateVersionRepositoryMock.Object); folderManipulation = new FolderManipulation(_folderRepositoryMock.Object); templateManipulation = new TemplateManipulation(_templateRepositoryMock.Object, templateVersionManipulation, folderManipulation); templateVersionManipulation = new TemplateVersionManipulation(_templateVersionRepositoryMock.Object); exportTemplateManipulation = new ExportTemplateManipulation(templateManipulation, templateVersionManipulation, documentGenerator); }
public GenerateDocumentResponse.ResultResponse GenerateDocument(string templateName, string filename, List <Variable> variables) { var body = new GenerateDocumentRequest() { TemplateName = templateName, Filename = filename, Variables = variables }; var client = new RestClient($"{config.Url}/api/Template/GetDocument"); var request = new RestRequest(Method.POST); request.AddHeader("Accept", "application/json"); request.AddHeader("Content-Type", "application/json"); var json = JsonConvert.SerializeObject(body, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); logger.LogDebug($"body: {json}"); request.AddParameter("application/json", json, ParameterType.RequestBody); IRestResponse response = client.Execute(request); logger.LogDebug($"response[{response.StatusCode}]: {response.Content}"); if (response.StatusCode != System.Net.HttpStatusCode.Created) { throw new System.Exception($"something bad happend: {response.Content}"); } var result = JsonConvert.DeserializeObject <GenerateDocumentResponse>(response.Content).Result; return(result); }
public void Initialize() { _documentTypeRepositoryMock = DocumentTypeRepositoryMock.GetDocumentTypeRepositoryMock(); _generatedDocumentRepositoryMock = GeneratedDocumentRepositoryMock.GetGeneratedDocumentRepositoryMock(); jsonContent = new GenerateDocumentRequest(); htmlContent = new GenerateDocumentRequest(); nsiContext = new NsiContext(); htmlGenerator = new NSI.DocumentGenerator.Implementations.HtmlGenerator(new NSI.DocumentGenerator.Implementations.Helpers.HtmlGeneratorHelper()); pdfGenerator = new NSI.DocumentGenerator.Implementations.PdfGenerator(); _docxGeneratorMock = DocxGeneratorMock.GetDocxGeneratorMock(); _odtGeneratorMock = OdtGeneratorMock.GetOdtGeneratorMock(); generatedDocumentLogger = new NSI.DocumentGenerator.Implementations.Helpers.GeneratedDocumentLogger(_generatedDocumentRepositoryMock.Object); templateGenerator = new TemplateGenerator(new NSI.DocumentGenerator.Implementations.PdfGenerator(), new NSI.DocumentGenerator.Implementations.HtmlGenerator(new NSI.DocumentGenerator.Implementations.Helpers.HtmlGeneratorHelper())); documentGenerator = new NSI.DocumentGenerator.Implementations.Generators.DocumentGenerator(_documentTypeRepositoryMock.Object, generatedDocumentLogger, htmlGenerator, pdfGenerator, _odtGeneratorMock.Object, _docxGeneratorMock.Object, templateGenerator); jsonDocumentTypeDomain = new DocumentTypeDomain() { Name = "json", Code = "json", Version = "1.0", Encoding = "utf-8" }; htmlDocumentTypeDomain = new DocumentTypeDomain() { Name = "html", Code = "html", Version = "1.0", Encoding = "utf-8" }; }
public HttpResponseMessage GenerateHtmlFromJson([FromBody] GenerateDocumentRequest request) { request.ValidateNotNull(); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(_documentGenerator.Generate(request.Content, request.Filename, DocumentTypeEnum.Json, DocumentTypeEnum.Html, null).Content) }; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = request.Filename + ".html" }; response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); return(response); }
public HttpResponseMessage GeneratePdfFromJson([FromBody] GenerateDocumentRequest request) { request.ValidateNotNull(); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(_documentGenerator.Generate(request.Content, request.Filename, DocumentTypeEnum.Json, DocumentTypeEnum.Pdf, null).ByteContent) }; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = request.Filename + ".pdf" }; response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); return(response); }
public HttpResponseMessage GenerateDocxFromHtml([FromBody] GenerateDocumentRequest request) { request.ValidateNotNull(); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(_documentGenerator.Generate(request.Content, request.Filename, DocumentTypeEnum.Html, DocumentTypeEnum.Docx, null).ByteContent) }; response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); // https://www.ryadel.com/en/get-file-content-mime-type-from-extension-asp-net-mvc-core/ response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = request.Filename + ".docx" }; return(response); }
public HttpResponseMessage GenerateDocxFromJson([FromBody] GenerateDocumentRequest request) { request.ValidateNotNull(); string htmlContent = _documentGenerator.Generate(request.Content, request.Filename, DocumentTypeEnum.Json, DocumentTypeEnum.Html, null).Content; HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(_documentGenerator.Generate(htmlContent, request.Filename, DocumentTypeEnum.Html, DocumentTypeEnum.Docx, null).ByteContent) }; response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = request.Filename + ".docx" }; return(response); }
public void Initialize() { _documentTypeRepositoryMock = DocumentTypeRepositoryMock.GetDocumentTypeRepositoryMock(); _generatedDocumentRepositoryMock = GeneratedDocumentRepositoryMock.GetGeneratedDocumentRepositoryMock(); jsonContent = new GenerateDocumentRequest(); htmlContent = new GenerateDocumentRequest(); htmlGenerator = new DocumentGenerator.Implementations.HtmlGenerator(new DocumentGenerator.Implementations.Helpers.HtmlGeneratorHelper()); pdfGenerator = new DocumentGenerator.Implementations.PdfGenerator(); _docxGeneratorMock = DocxGeneratorMock.GetDocxGeneratorMock(); _odtGeneratorMock = OdtGeneratorMock.GetOdtGeneratorMock(); generatedDocumentLogger = new DocumentGenerator.Implementations.Helpers.GeneratedDocumentLogger(_generatedDocumentRepositoryMock.Object); templateGenerator = new TemplateGenerator(new DocumentGenerator.Implementations.PdfGenerator(), new DocumentGenerator.Implementations.HtmlGenerator(new DocumentGenerator.Implementations.Helpers.HtmlGeneratorHelper())); documentGenerator = new DocumentGenerator.Implementations.Generators.DocumentGenerator(_documentTypeRepositoryMock.Object, generatedDocumentLogger, htmlGenerator, pdfGenerator, _odtGeneratorMock.Object, _docxGeneratorMock.Object, templateGenerator); setJsonContent(); setHtmlContent(); controller = new DocumentGeneratorController(documentGenerator, generatedDocumentLogger); }