示例#1
0
        public async Task Run(TextWriter output)
        {
            var rewriters = new SsrsObjectRewriters(Rewriters.ToArray());

            log.Info("Collecting objects...");
            var items = (await source.Enumerate(filter)).ToArray();

            if (Overwrite && BackupTarget != null)
            {
                await BackupExistingItems(items.Select(i => i.Path));
            }

            log.Info("Importing data sources...");
            foreach (var item in items.OfType <SsrsDataSource>())
            {
                var rewritten = await rewriters.Apply(item);
                await ImportDataSource(rewritten);
            }
            log.Info("Importing datasets...");
            foreach (var item in items.OfType <SsrsDataSet>())
            {
                var rewritten = await rewriters.Apply(item);
                await ImportDataSet(rewritten);
            }
            log.Info("Importing reports...");
            foreach (var item in items.OfType <SsrsReport>())
            {
                var rewritten = await rewriters.Apply(item);
                await ImportReport(rewritten);
            }
            log.Info("Done.");
        }
示例#2
0
        public async Task Run(TextWriter output)
        {
            log.Info("Collecting objects...");
            var items = await source.Enumerate(filter);

            foreach (var item in items.OrderBy(i => i.Path))
            {
                output.WriteLine($"Path:   {item.Path}");
                output.WriteLine($"Type:   {item.Type}");
                if (item is SsrsDataSource dataSource)
                {
                    DescribeDataSource(output, dataSource);
                }
                if (item is SsrsDataSet dataSet)
                {
                    DescribeDataSet(output, dataSet);
                }
                if (item is SsrsReport report)
                {
                    DescribeReport(output, report);
                }
                output.WriteLine();
            }
        }