Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public InterDayReportGenerator(IPowerService powerService,
                                IReportExporter exporter,
                                IReportDateProvider dateProvider)
 {
     _powerService = powerService;
     _exporter     = exporter;
     _dateProvider = dateProvider;
 }
Exemplo n.º 3
0
 public ReportService(IReportExporter reportExporter,
                      ILogger <ReportService> logger,
                      IWorkLogClientService workLogClientService)
 {
     _reportExporter       = reportExporter;
     _logger               = logger;
     _workLogClientService = workLogClientService;
 }
Exemplo n.º 4
0
        private PortingAssistantBuilder(PortingAssistantConfiguration configuration, Action <ILoggingBuilder> logConfiguration)
        {
            this.LogConfiguration = logConfiguration;
            this.Configuration    = configuration;
            ConfigureServices();
            var services = ServiceCollection.BuildServiceProvider();

            this.PortingAssistantClient = services.GetService <IPortingAssistantClient>();
            this.ReportExporter         = services.GetService <IReportExporter>();
        }
Exemplo n.º 5
0
        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));
            }
        }
Exemplo n.º 6
0
        public async Task <(Stream, string)> GenerateToStreamAsync(int year, int month, ExportFormat format = ExportFormat.TXT)
        {
            Report report = await CreateReport(year, month);

            if (SupportedExporters.ContainsKey(format) == false)
            {
                // TODO: Необходимо вернуть что-то дружелюбное
                return(null, null);
            }
            IReportExporter exporter = SupportedExporters[format];

            exporter.SetReport(report);
            return(await exporter.ExportAsync(), exporter.Extension);
        }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
 Stream IReportEngine.Generate(IReportTemplate template, IReportExporter exporter)
 {
     return(Generate(template, exporter));
 }
Exemplo n.º 10
0
 public HomeController(IOrderRepository orderRepository, IReportExporter reportExporter, IReportSender reportSender)
 {
     this.orderRepository = orderRepository;
     this.reportExporter  = reportExporter;
     this.reportSender    = reportSender;
 }
Exemplo n.º 11
0
 Stream IReportEngine.Generate(IReportTemplate template, IReportExporter exporter)
 {
     return Generate(template, exporter);
 }
Exemplo n.º 12
0
        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;
        }
Exemplo n.º 13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ReportExportService" /> class.
 /// </summary>
 /// <param name="messageBus">The message bus.</param>
 /// <param name="reportExporter">The report exporter.</param>
 /// <param name="storageProvider">The storage provider.</param>
 /// <param name="mapper">The mapper.</param>
 public ReportExportService(IMessageBus messageBus, IReportExporter reportExporter,
                            IStorageProvider storageProvider, IMapper mapper) : base(storageProvider, mapper)
 {
     this.reportExporter = reportExporter;
     this.messageBus     = messageBus;
 }
Exemplo n.º 14
0
 public ReportsExporter(IEnumerable <IReportProvider> reportProviders, IReportExporter reportExporter)
 {
     ReportProviders = reportProviders.ToArray();
     ReportExporter  = reportExporter;
 }
Exemplo n.º 15
0
        private MemoryStream ExportRDLC(BaseDeviceInfoSettings exportTypeSetting, string deviceInfoXml, DataTable _dataSet, out IReportExporter winFormsReportExporter, out LocalReport localReport)
        {
            if (_dataSet != null)
            {
                this.m_dataSet = _dataSet;
            }

            GetColumns();
            DateTime startTime = DateTime.Now;
            localReport = new LocalReport();
            localReport.DisplayName = string.IsNullOrEmpty(Rdl.PageHeaderText) ? "Report" : Rdl.PageHeaderText;
            localReport.LoadReportDefinition(m_rdl);
            localReport.DataSources.Add(new ReportDataSource("MyData", m_dataSet));
            winFormsReportExporter = new WinFormsReportExporter(localReport);
            MemoryStream content;

            if (exportTypeSetting is ExcelDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToXls(deviceInfoXml);
            }
            else if (exportTypeSetting is PdfDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToPdf(deviceInfoXml);
            }
            else if (exportTypeSetting is ImageDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToImage(deviceInfoXml);
            }
            else if (exportTypeSetting is WordDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToWord(deviceInfoXml);
            }
            else
            {
                throw new ApplicationException("Unknown export type format");
            }

            TimeSpan totalTime = DateTime.Now - startTime;
            return content;
        }
Exemplo n.º 16
0
 private MemoryStream ExportRDLC(BaseDeviceInfoSettings exportTypeSetting, string deviceInfoXml, out IReportExporter winFormsReportExporter, out LocalReport localReport)
 {
     return ExportRDLC(exportTypeSetting, deviceInfoXml, null, out winFormsReportExporter, out localReport);
 }