Exemplo n.º 1
0
        /// <summary>
        /// Добавление типов для экпорта.
        /// </summary>
        public void AddExportType(ExportType exportType)
        {
            Contract.Requires(exportType != null);

            if (_exportTypes.Any(t => t.GetKey().Equals(exportType.GetKey())))
            {
                return;
            }

            _exportTypes.Add(exportType);
        }
Exemplo n.º 2
0
        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));
                }
        }
Exemplo n.º 3
0
        /// <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()));
        }
Exemplo n.º 4
0
        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);
        }