/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentWithTableGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public ChangesReportGenerator(DocumentGenerationInfo generationInfo, String foundryName, String fromDate, String toDate) : base(generationInfo) { this.foundryName = foundryName; this.fromDate = fromDate; this.toDate = toDate; }
private static DocumentGenerationInfo GetDocumentGenerationInfo(string docType, string docVersion, SPListItem item, object dataContext, string fileName, bool useDataBoundControls) { DocumentGenerationInfo generationInfo = new DocumentGenerationInfo(); generationInfo.Metadata = new DocumentMetadata() { DocumentType = docType, DocumentVersion = docVersion }; generationInfo.DataContext = dataContext; //generationInfo.TemplateData = File.ReadAllBytes(Path.Combine("Sample Templates", fileName)); if (UTIL.Utilities.Utility.IsAbsoluteUri(fileName)) { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(fileName)) { using (SPWeb web = site.OpenWeb()) { SPFile file = web.GetFile(fileName); generationInfo.TemplateData = file.OpenBinary(); } } }); } else { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(item.Web.Site.ID)) { using (SPWeb web = site.OpenWeb(item.Web.ID)) { SPFile file = web.GetFile(fileName); generationInfo.TemplateData = file.OpenBinary(); } } }); } generationInfo.IsDataBoundControls = useDataBoundControls; return generationInfo; }
/// <summary> /// Generates the document. /// </summary> /// <param name="documentStream">The document stream.</param> /// <returns></returns> public static byte[] GenerateDocument(byte[] documentStream) { // Generate Content Controls using Xml Dictionary<string, ContentControlXmlMetadata> placeHolderTagToContentControlXmlMetadataCollection = new Dictionary<string, ContentControlXmlMetadata>(); // Handle ignore placeholders placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderIgnoreA, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderIgnoreA, Type = PlaceHolderType.Ignore }); placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderIgnoreB, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderIgnoreA, Type = PlaceHolderType.Ignore }); // Handle container placeholders placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderContainerA, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderContainerA, Type = PlaceHolderType.Container, ControlTagXPath = "./Id[1]" }); // Handle recursive placeholders placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderRecursiveA, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderRecursiveA, Type = PlaceHolderType.Recursive, ControlValueXPath = "./vendors[1]" }); placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderRecursiveB, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderRecursiveB, Type = PlaceHolderType.Recursive, ControlValueXPath = "./items[1]" }); // Handle non recursive placeholders placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderNonRecursiveA, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderNonRecursiveA, Type = PlaceHolderType.NonRecursive, ControlTagXPath = "./Id[1]", ControlValueXPath = "/ns0:DocumentRootNode[1]/ns0:DataBoundControlsDataStore[1]/ns0:Data[1]/Order[1]/vendors[1]/Vendor[{0}]/Name[1]" }); placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderNonRecursiveB, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderNonRecursiveB, Type = PlaceHolderType.NonRecursive, ControlTagXPath = "./Id[1]", ControlValueXPath = "/ns0:DocumentRootNode[1]/ns0:DataBoundControlsDataStore[1]/ns0:Data[1]/Order[1]/items[1]/Item[{0}]/Name[1]" }); placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderNonRecursiveC, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderNonRecursiveC, Type = PlaceHolderType.NonRecursive, ControlTagXPath = "./Id[1]", ControlValueXPath = "/ns0:DocumentRootNode[1]/ns0:DataBoundControlsDataStore[1]/ns0:Data[1]/Order[1]/Name[1]" }); placeHolderTagToContentControlXmlMetadataCollection.Add(PlaceholderNonRecursiveD, new ContentControlXmlMetadata() { PlaceHolderName = PlaceholderNonRecursiveD, Type = PlaceHolderType.NonRecursive, ControlTagXPath = "./Id[1]", ControlValueXPath = "/ns0:DocumentRootNode[1]/ns0:DataBoundControlsDataStore[1]/ns0:Data[1]/Order[1]/Description[1]" }); // Test document generation from template("Test_Template - 1.docx") string dataAsXml = "<Order><vendors><Vendor><Id>469c8927-6a68-4f16-b267-acaf38fc2d39</Id><Name>Vendor 1</Name></Vendor><Vendor><Id>48e1f6d0-5060-4725-ae45-51e81b2e89d6</Id><Name>Vendor 2</Name></Vendor><Vendor><Id>b59d289f-93b3-4d03-81f0-e6f49657e611</Id><Name>Vendor 111</Name></Vendor><Vendor><Id>165d4fe3-d445-47ac-b40e-3611a40c4845</Id><Name>Vendor 222</Name></Vendor><Vendor><Id>6d950039-075b-47ea-96f0-6088feca5c9b</Id><Name>Vendor 113</Name></Vendor><Vendor><Id>fe31e8f1-0927-4780-8843-0e166977a505</Id><Name>Vendor 224</Name></Vendor><Vendor><Id>a9edafc3-9117-4499-8820-806ec59a0bc9</Id><Name>Vendor 115</Name></Vendor><Vendor><Id>7eca4fc3-5218-4090-a1cf-10db411b668e</Id><Name>Vendor 226</Name></Vendor><Vendor><Id>8d491555-da72-41a3-ad77-7c001e93b052</Id><Name>Vendor 117</Name></Vendor><Vendor><Id>08654a92-601c-4c38-9218-00a54bc44ec6</Id><Name>Vendor 228</Name></Vendor></vendors><items><Item><Id>81474c98-0094-499d-88d7-678f40581b50</Id><Name>Item 1</Name></Item><Item><Id>60a5d7bc-304a-49fa-be4a-684f91adf6c5</Id><Name>Item 2</Name></Item><Item><Id>bc9d5b75-3861-4bf8-bb26-35689e6b557a</Id><Name>Item 11</Name></Item><Item><Id>72fafb82-179d-4115-a4e7-84bf1a62049d</Id><Name>Item 21</Name></Item></items><Id>736d79d9-0689-419e-b27a-1867f613fd80</Id><Name>Test Order</Name><Description>Test Order Description</Description></Order>"; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(dataAsXml); DocumentGenerationInfo generationInfo = new DocumentGenerationInfo(); generationInfo.Metadata = new DocumentMetadata() { DocumentType = "SampleDocumentGeneratorUsingXml", DocumentVersion = "1.0" }; generationInfo.DataContext = xmlDoc.DocumentElement; generationInfo.TemplateData = documentStream; generationInfo.IsDataBoundControls = true; SampleDocumentGeneratorUsingXmlAndDataBinding docGen = new SampleDocumentGeneratorUsingXmlAndDataBinding(generationInfo, placeHolderTagToContentControlXmlMetadataCollection, true); return docGen.GenerateDocument(); }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentWithTableGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public FinalRGReportGenerator(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
/// <summary> /// Gets the document generation info. /// </summary> /// <param name="docType">Type of the doc.</param> /// <param name="docVersion">The doc version.</param> /// <param name="dataContext">The data context.</param> /// <param name="fileName">Name of the file.</param> /// <param name="useDataBoundControls">if set to <c>true</c> [use data bound controls].</param> /// <returns></returns> private DocumentGenerationInfo GetDocumentGenerationInfo(string docType, string docVersion, object dataContext, string fileName, bool useDataBoundControls) { var generationInfo = new DocumentGenerationInfo { Metadata = new DocumentMetadata {DocumentType = docType, DocumentVersion = docVersion}, DataContext = dataContext, TemplateData = File.ReadAllBytes(Server.MapPath("~/ReportTemplates/" + fileName)), IsDataBoundControls = useDataBoundControls }; return generationInfo; }
/// <summary> /// Initializes a new instance of the <see cref="SampleRefreshableDocumentGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public SampleRefreshableDocumentGenerator(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
protected DocumentGenerator(DocumentGenerationInfo generationInfo, List <string> exclusions) { this.generationInfo = generationInfo; this.exclusions = exclusions; }
public BaseDoxGenerator(DocumentGenerationInfo info) : base(info) { }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentWithTableGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public SampleDocumentWithTableGenerator(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
public PhieuMuaHangGenerator(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> /// <param name="placeHolderNameToContentControlXmlMetadataCollection">The place holder name to content control XML metadata collection.</param> public SampleDocumentGeneratorUsingXml(DocumentGenerationInfo generationInfo, Dictionary<string, ContentControlXmlMetadata> placeHolderNameToContentControlXmlMetadataCollection) : base(generationInfo) { this.placeHolderNameToContentControlXmlMetadataCollection = placeHolderNameToContentControlXmlMetadataCollection; }
/// <summary> /// Gets the document generation info. /// </summary> /// <param name="docType">Type of the doc.</param> /// <param name="docVersion">The doc version.</param> /// <param name="dataContext">The data context.</param> /// <param name="fileName">Name of the file.</param> /// <param name="useDataBoundControls">if set to <c>true</c> [use data bound controls].</param> /// <returns>Returns the Document generation Information</returns> private static DocumentGenerationInfo GetDocumentGenerationInfo(string docType, string docVersion, object dataContext, string fileName, bool useDataBoundControls) { DocumentGenerationInfo generationInfo = new DocumentGenerationInfo(); generationInfo.Metadata = new DocumentMetadata { DocumentType = docType, DocumentVersion = docVersion }; generationInfo.DataContext = dataContext; DirectoryInfo di = new DirectoryInfo(System.Reflection.Assembly.GetExecutingAssembly().Location); if (di.Parent != null) { generationInfo.TemplateData = File.ReadAllBytes(Path.Combine(di.Parent.FullName, fileName)); } generationInfo.IsDataBoundControls = useDataBoundControls; return generationInfo; }
/// <summary> /// Gets the document generation info. /// </summary> /// <param name="docType">Type of the doc.</param> /// <param name="docVersion">The doc version.</param> /// <param name="dataContext">The data context.</param> /// <param name="fileName">Name of the file.</param> /// <param name="useDataBoundControls">if set to <c>true</c> [use data bound controls].</param> /// <returns></returns> private static DocumentGenerationInfo GetDocumentGenerationInfo(string docType, string docVersion, object dataContext, string fileName, bool useDataBoundControls) { DocumentGenerationInfo generationInfo = new DocumentGenerationInfo(); generationInfo.Metadata = new DocumentMetadata() { DocumentType = docType, DocumentVersion = docVersion }; generationInfo.DataContext = dataContext; generationInfo.TemplateData = File.ReadAllBytes(Path.Combine("Sample Templates", fileName)); generationInfo.IsDataBoundControls = useDataBoundControls; return generationInfo; }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentWithTableGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public AddressStickerGenerator(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> /// <param name="placeHolderNameToContentControlXmlMetadataCollection">The place holder name to content control XML metadata collection.</param> /// <param name="isRefreshable">if set to <c>true</c> [is refreshable].</param> public SampleDocumentGeneratorUsingXmlAndDataBinding(DocumentGenerationInfo generationInfo, Dictionary<string, ContentControlXmlMetadata> placeHolderNameToContentControlXmlMetadataCollection, bool isRefreshable) : base(generationInfo) { this.placeHolderNameToContentControlXmlMetadataCollection = placeHolderNameToContentControlXmlMetadataCollection; this.isRefreshable = isRefreshable; }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentWithTableAndChartsGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> /// <param name="lineChartData">The line chart data.</param> /// <param name="scatterChartData">The scatter chart data.</param> public SampleDocumentWithTableAndChartsGenerator(DocumentGenerationInfo generationInfo, LineChartData lineChartData, ScatterChartData scatterChartData) : base(generationInfo) { this.lineChartData = lineChartData; this.scatterChartData = scatterChartData; }
/// <summary> /// Initializes a new instance of the <see cref="SampleDocumentWithTableGeneratorUsingDatabinding"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public SampleDocumentWithTableGeneratorUsingDatabinding(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
protected DocumentGenerator(DocumentGenerationInfo generationInfo, List<string> exclusions) { this.generationInfo = generationInfo; this.exclusions = exclusions; }
public BuildNotesDocumentGenerator(DocumentGenerationInfo generationInfo, List<string> exclusions) : base(generationInfo, exclusions) { }
/// <summary> /// Initializes a new instance of the <see cref="SampleGenericDocumentGeneratorUsingXml"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public SampleGenericDocumentGeneratorUsingXml(DocumentGenerationInfo generationInfo) : base(generationInfo) { }
/// <summary> /// Initializes a new instance of the <see cref="DocumentGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public DocumentGenerator(DocumentGenerationInfo generationInfo) { this.generationInfo = generationInfo; }
/// <summary> /// Initializes a new instance of the <see cref="DocumentGenerator"/> class. /// </summary> /// <param name="generationInfo">The generation info.</param> public DocumentGenerator(DocumentGenerationInfo generationInfo) { this.generationInfo = generationInfo; }