/// <summary> /// Добавление типов для экпорта. /// </summary> public void AddExportType(ExportType exportType) { Contract.Requires(exportType != null); if (_exportTypes.Any(t => t.GetKey().Equals(exportType.GetKey()))) { return; } _exportTypes.Add(exportType); }
private EpsReportExportContainer ExportReportTo(ExportType format) { using (var export = _reportExporterFactory.CreateExporter(format.Format)) using (var stream = new MemoryStream()) { if (export.SupportsEncoding) { export.SetEncoding(format.Encoding); } if (export.SupportsSpacelife) { export.SetSpacelife(format.Spacelife); } export.Export(_report, stream); return(new EpsReportExportContainer(format.GetKey(), stream.ToArray(), export.FileExtension)); } }
/// <summary> /// Получение массива данных по имени типа экспорта отчета. /// </summary> /// <param name="exportType"></param> /// <returns>массив данных</returns> public EpsReportExportContainer GetExportContainer(ExportType exportType) { Contract.Requires(exportType != null); return(_exportContainers.FirstOrDefault(i => i.TypeName == exportType.GetKey())); }
private string GetReportFileExtension(IEpsReport report) { // если определили явно - доклеиваем var fileExtensionParameter = GetNotRequiredParameterValue <string>(EpsTaskParameterTypes.FileExtension, null); if (fileExtensionParameter != null) { return(fileExtensionParameter); } // иначе берем из форматера var container = report.GetExportContainer(ExportType); if (container == null) { throw new Exception(string.Format("Can't find export container for export type {0}.", ExportType.GetKey())); } return(container.DefaultExtension); }