private void ExportReportTo(ExportType format) { if (format == null) { throw new ArgumentNullException("format"); } using (var export = new ExportFormatFactory().GetExportFormat(format.Format)) using (var stream = new MemoryStream()) { if (export == null) { throw new NullReferenceException("export"); } if (export.SupportsEncoding) { export.SetEncoding(format.Encoding); } if (export.SupportsSpacelife) { export.SetSpacelife(format.Spacelife); } export.Export(_report, stream); _exportStreams[format.GetKey()] = new EpsStreamType(format.GetKey(), stream.ToArray()); } }
/// <summary> /// Получение массива данных по имени типа экспорта отчета. /// </summary> /// <param name="format">имя типа</param> /// <returns>массив данных</returns> public byte[] GetExportStream(ExportType et) { if (et == null) { throw new ArgumentNullException("et"); } return(_exportStreams.ContainsKey(et.GetKey()) ? _exportStreams[et.GetKey()].Bytes : null); }
/// <summary> /// Добавление типов для экпорта. /// </summary> public void AddExportType(ExportType et) { if (et == null) { throw new ArgumentNullException("et"); } // TODO: Make set if (_exportTypes.Any(t => t != null && t.GetKey().Equals(et.GetKey()))) { return; } _exportTypes.Add(et); }