private Stream GenerateWithFault(IReportTemplate template, IReportExporter exporter) { IGenerationContext context = new GenerationContext() { Engine = this, Template = template }; foreach (IDataSource item in template.DataSources) { try { item.Provider.Initialize(); item.Provider.RetrieveData(context); } catch (Exception ex) { throw new DataSourceInitializeException(item.Name, ex); } } foreach (IReportTemplateSection section in template.Sections) { PrepareElement(context, section.RootElement); } Stream stream = exporter.Export(context); stream.Position = 0L; return(stream); }
Stream IReportTemplateFactory.Save(IReportTemplate template) { if (template == null) { throw new ArgumentNullException("template"); } return(_serializer.Serialize(template)); }
public ReportCompanyInfo(IReportTemplate reportTemplate, ReportCompanyInfoCollection reportInfo) { ManagementCompanyId = reportTemplate.ManagementCompany.Key; CompanyName = reportTemplate.ManagementCompany.CompanyName.Trim(); PdfFolder = reportTemplate.ManagementCompany.PdfReportsFolder.Trim(); ShowLogoByDefault = reportTemplate.ManagementCompany.ShowLogoByDefault; ReportTemplateName = reportTemplate.ReportTemplateName.Trim(); ReportInfo = reportInfo; }
public JsonResult Create(CreateReportModel model) { IReportTemplate template = _templateFactory.Create(new DescriptionMetadata() { Name = model.Name, Author = model.CreatedBy }); template.DataSources.Set(new DataSource("", new StaticDataProvider().Set("test", 4711).Set("switch", true))); // Un-comment this to add a data provider which returns a DataSet with data filled by a custom script written in C#. //template.DataSources.Set(new DataSource("scr1", new ScriptDataProvider() //{ // ScriptTypeKey = "cs", // ScriptText = @"DataSet result = new DataSet(""Created from code""); result.Tables.Add(""Hello world""); return result;" //})); IReportTemplateSection section = template.Sections.GetSection(SectionType.Detail); ICompositionElement rootElement = new VerticalContainerElement(); rootElement.Set("data-source", ""); rootElement.AddChild(new StaticLabelElement() { Value = "Hello, world!" }); rootElement.AddChild(new TableElement() { DataSource = "ours" }); section.RootElement = rootElement; string definition = null; using (StreamReader reader = new StreamReader(_templateFactory.Save(template))) { definition = reader.ReadToEnd(); } ReportData rd = new ReportData() { Name = model.Name, Guid = Guid.NewGuid(), CreatedAt = DateTimeOffset.Now, CreatedBy = model.CreatedBy, Definition = definition }; using (IDataRepository repository = GetRepository()) { repository.Add(rd); } return(Json(new { success = true, name = rd.Name, guid = rd.Guid }, JsonRequestBehavior.AllowGet)); }
Stream IReportEngine.Generate(IReportTemplate template, Type exporterType) { if (exporterType == null) { throw new ArgumentNullException("exporterType"); } IReportExporter exporter = (IReportExporter)Activator.CreateInstance(exporterType); using (IReportExporter exp = exporter) { return(Generate(template, exporter)); } }
Stream IReportEngine.Generate(IReportTemplate template, Type exporterType) { if (exporterType == null) { throw new ArgumentNullException("exporterType"); } IReportExporter exporter = (IReportExporter)Activator.CreateInstance(exporterType); using (IReportExporter exp = exporter) { return Generate(template, exporter); } }
private Stream Generate(IReportTemplate template, IReportExporter exporter) { if (template == null) { throw new ArgumentNullException("template"); } if (exporter == null) { throw new ArgumentNullException("exporter"); } try { return(GenerateWithFault(template, exporter)); } catch (Exception ex) { throw new ReportGenerationException(ex); } }
private Stream Generate(IReportTemplate template, IReportExporter exporter) { if (template == null) { throw new ArgumentNullException("template"); } if (exporter == null) { throw new ArgumentNullException("exporter"); } try { return GenerateWithFault(template, exporter); } catch (Exception ex) { throw new ReportGenerationException(ex); } }
private Stream GenerateReport(string guid, Type exporterType) { IReportTemplate template = null; using (IDataRepository repository = new DataRepository()) { ReportData report = repository.Get(guid); if (report != null) { template = _templateFactory.Create(new MemoryStream(Encoding.UTF8.GetBytes(report.Definition))); } } /* Attach our custom data source. */ StaticDataProvider ours = new StaticDataProvider(); ours.AddTable(new System.Data.DataTable()); ours.Tables.First().Columns.Add(new System.Data.DataColumn("Id", typeof(int)) { AutoIncrement = true, AutoIncrementSeed = 1, AutoIncrementStep = 1, AllowDBNull = false }); ours.Tables.First().Columns.Add(new System.Data.DataColumn("Text", typeof(string))); foreach (string value in new[] { "Hello", "World!", "This", "is", "a", "test!", "This", "report", "generator", "rocks!" }) { ours.AddRow(0, null, value); } template.DataSources.Set(new DataSource("ours", ours)); // Uncomment the following statement to replace the above data source with one that generates random data each time. //template.DataSources.Set(new DataSource("ours", new ezNReporting.Web.Utilities.ezNReporting.RandomDataProvider())); /* Generate the report. */ IReportEngine engine = _engineFactory.Create(); return(engine.Generate(template, exporterType)); }
/// <summary> /// 非密封类修饰用protected virtual /// 密封类修饰用private /// </summary> /// <param name="disposing"></param> protected virtual void Dispose(bool disposing) { if (disposed) { return; } if (disposing) { if (template != null) { template.Dispose(); template = null; } } // 清理非托管资源 //if (nativeResource != IntPtr.Zero) //{ // Marshal.FreeHGlobal(nativeResource); // nativeResource = IntPtr.Zero; //} disposed = true; }
Stream IReportEngine.Generate(IReportTemplate template, IReportExporter exporter) { return(Generate(template, exporter)); }
Stream IReportTemplateFactory.Save(IReportTemplate template) { if (template == null) { throw new ArgumentNullException("template"); } return _serializer.Serialize(template); }
Stream IReportTemplateSerializer.Serialize(IReportTemplate template) { if (template == null) { throw new ArgumentNullException("template"); } MemoryStream stream = new MemoryStream(); XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes")); /* Write template root. */ XElement root = new XElement("template"); /* Write description. */ XElement desc = new XElement("description"); desc.Add(new XElement("name", template.Description.Name)); desc.Add(new XElement("author", template.Description.Author)); root.Add(desc); /* Write data sources. */ XElement data = new XElement("data"); foreach (IDataSource item in template.DataSources) { XElement ds = new XElement("source"); ds.Add(new XAttribute("name", item.Name)); ds.Add(new XAttribute("provider", TypeKeyAttribute.GetTypeKeyOf(item.Provider))); foreach (string key in item.Provider.Properties.Keys) { string value = item.Provider.Properties[key]; ds.Add(new XElement(key, new XCData(value))); } data.Add(ds); } root.Add(data); /* Write layout sections. */ XElement layout = new XElement("layout"); foreach (IReportTemplateSection item in template.Sections) { XElement section = new XElement("section"); section.Add(new XAttribute("name", item.Type.ToString().ToLower())); section.Add(new XAttribute("rootContainer", TypeKeyAttribute.GetTypeKeyOf(item.RootElement))); WriteElement(item.RootElement, section); layout.Add(section); } root.Add(layout); doc.Add(root); doc.Save(stream); stream.Position = 0L; return(stream); }
/// <summary> /// Updates a ReportTemplate /// </summary> /// <param name="session">An instance of the Data Access Library <see cref="T:B4F.TotalGiro.DAL.NHSession">NHSession</see> class</param> /// <param name="list">The ReportTemplate</param> public static void Update(IDalSession session, IReportTemplate obj) { session.Update(obj); }
Stream IReportEngine.Generate(IReportTemplate template, IReportExporter exporter) { return Generate(template, exporter); }
private Stream GenerateWithFault(IReportTemplate template, IReportExporter exporter) { IGenerationContext context = new GenerationContext() { Engine = this, Template = template }; foreach (IDataSource item in template.DataSources) { try { item.Provider.Initialize(); item.Provider.RetrieveData(context); } catch (Exception ex) { throw new DataSourceInitializeException(item.Name, ex); } } foreach (IReportTemplateSection section in template.Sections) { PrepareElement(context, section.RootElement); } Stream stream = exporter.Export(context); stream.Position = 0L; return stream; }
public string ShipUpdown() { string printTemplateID = ""; string OrgID = ""; PurchaseOrder po = PurchaseOrder.Finder.FindByID(poid); OrgID = Context.LoginOrg.Code.ToString(); if (OrgID == "1001") { if (po.DocumentType.Code.ToString() == "PO31") { printTemplateID = "7a794236-de24-48ca-9d56-be1c7d4ec122"; //printTemplateID = "dbecd59b-5a87-45c4-89bc-c112a19ca389"; } else if (po.DocumentType.Code.ToString() == "PO32") { printTemplateID = "dbecd59b-5a87-45c4-89bc-c112a19ca389"; } else if (po.DocumentType.Code.ToString() == "PO33" || po.DocumentType.Code.ToString() == "PO34") { if (po.TC.Name == "人民币元") { printTemplateID = "c8edd94d-960f-44f3-904e-d2be529d01ce"; } else { printTemplateID = "8067b04f-8f2f-4d1b-a098-db82b9a43012"; } } else if (po.DocumentType.Code.ToString() == "PO36") { printTemplateID = "7a794236-de24-48ca-9d56-be1c7d4ec122"; //printTemplateID = "dbecd59b-5a87-45c4-89bc-c112a19ca389"; } } else if (OrgID == "1002") { if (po.DocumentType.Code.ToString() == "PO31") { printTemplateID = "a303c5ee-ad16-4d31-96c5-0c4dfbab88a8"; } else if (po.DocumentType.Code.ToString() == "PO32") { printTemplateID = "f12ff6c7-79c3-4e8e-80a4-6338400c3395"; } else if (po.DocumentType.Code.ToString() == "PO33" || po.DocumentType.Code.ToString() == "PO34") { if (po.TC.Name == "人民币元") { printTemplateID = "0768ce62-a296-4d78-bc4a-5c7d98b39d2c"; } else { printTemplateID = "cb2408ee-fe67-4762-82cc-4e1f54403c36"; } } else if (po.DocumentType.Code.ToString() == "PO36") { printTemplateID = "a303c5ee-ad16-4d31-96c5-0c4dfbab88a8"; } } string connectionString = UFSoft.UAP.Report.Base.DBConnectionHelper.GetConnectionString(); string cultrueName = UFSoft.UBF.Util.Context.PlatformContext.Current.Culture; ReportMDService service = ReportMDService.GetInstance(connectionString, cultrueName); IReportMDReader reader = service.GetReader(); IReportTemplate reportTemplate = reader.GetReportTemplateByID(printTemplateID); UFSoft.UBF.Report.Entity.Report report = (UFSoft.UBF.Report.Entity.Report)reportTemplate.Content; reader.Dispose(); DataSet ds = GetPrintData(poid); string fileName = OutPutFile(report, ds); logger.Error("文件路径:" + fileName); dyfileurl = fileName; return(fileName); }
/// <summary> /// Rapor üretimi /// Karışıklığı önlemek ve güvenlik için yoğun miktardaki business kodu silindi. /// </summary> /// <param name="template"></param> /// <param name="lon"></param> /// <param name="lat"></param> /// <param name="radius"></param> /// <returns></returns> public IReportResult GenerateReport(IReportTemplate template, double lon, double lat, double radius) { return(new ReportResult()); }