/// <inheritdoc/> void IFileWriter.Save(string path, object item, object options) { if (string.IsNullOrEmpty(path) || item == null) { return; } var ic = options as IImageCache; if (options == null) { return; } IProjectExporter exporter = new PdfSharpRenderer(_serviceProvider); IShapeRenderer renderer = (IShapeRenderer)exporter; renderer.State.DrawShapeState.Flags = ShapeStateFlags.Printable; renderer.State.ImageCache = ic; if (item is IPageContainer page) { exporter.Save(path, page); } else if (item is IDocumentContainer document) { exporter.Save(path, document); } else if (item is IProjectContainer project) { exporter.Save(path, project); } }
/// <inheritdoc/> void IFileWriter.Save(string path, object item, object options) { if (string.IsNullOrEmpty(path) || item == null) { return; } var ic = options as IImageCache; if (options == null) { return; } IProjectExporter exporter = new PdfSharpRenderer(); ShapeRenderer renderer = (PdfSharpRenderer)exporter; renderer.State.DrawShapeState.Flags = ShapeStateFlags.Printable; renderer.State.ImageCache = ic; if (item is PageContainer) { exporter.Save(path, item as PageContainer); } else if (item is DocumentContainer) { exporter.Save(path, item as DocumentContainer); } else if (item is ProjectContainer) { exporter.Save(path, item as ProjectContainer); } }
/// <inheritdoc/> void IFileWriter.Save(string path, object item, object options) { if (string.IsNullOrEmpty(path) || item == null) { return; } var ic = options as IImageCache; if (options == null) { return; } IProjectExporter exporter = new PdfSharpRenderer(_serviceProvider); IShapeRenderer renderer = (IShapeRenderer)exporter; renderer.State.DrawShapeState.Flags = ShapeStateFlags.Printable; renderer.State.ImageCache = ic; if (item is IPageContainer page) { var dataFlow = _serviceProvider.GetService <IDataFlow>(); var db = (object)page.Data.Properties; var record = (object)page.Data.Record; dataFlow.Bind(page.Template, db, record); dataFlow.Bind(page, db, record); exporter.Save(path, page); } else if (item is IDocumentContainer document) { var dataFlow = _serviceProvider.GetService <IDataFlow>(); dataFlow.Bind(document); exporter.Save(path, document); } else if (item is IProjectContainer project) { var dataFlow = _serviceProvider.GetService <IDataFlow>(); dataFlow.Bind(project); exporter.Save(path, project); } }
public void Save(Stream stream, object item, object options) { if (item is null) { return; } var ic = options as IImageCache; if (options is null) { return; } IProjectExporter exporter = new PdfSharpRenderer(_serviceProvider); IShapeRenderer renderer = (IShapeRenderer)exporter; renderer.State.DrawShapeState = ShapeStateFlags.Printable; renderer.State.ImageCache = ic; if (item is PageContainerViewModel page) { var dataFlow = _serviceProvider.GetService <DataFlow>(); var db = (object)page.Properties; var record = (object)page.Record; dataFlow.Bind(page.Template, db, record); dataFlow.Bind(page, db, record); exporter.Save(stream, page); } else if (item is DocumentContainerViewModel document) { var dataFlow = _serviceProvider.GetService <DataFlow>(); dataFlow.Bind(document); exporter.Save(stream, document); } else if (item is ProjectContainerViewModel project) { var dataFlow = _serviceProvider.GetService <DataFlow>(); dataFlow.Bind(project); exporter.Save(stream, project); } }