Example #1
0
        private void GenerateAnalyzedWorkspaceCollections()
        {
            AnalyzedWorkspaceCollections = new List <AnalyzedWorkspaceCollection>();

            foreach (var report in MigrationPlan.ReportsMigrationData)
            {
                var analyzedWSCollection = AnalyzedWorkspaceCollections.FirstOrDefault(awc => string.Equals(report.PaaSWorkspaceCollectionName, awc.WorkspaceCollectionName, StringComparison.OrdinalIgnoreCase));
                if (analyzedWSCollection == null)
                {
                    analyzedWSCollection = new AnalyzedWorkspaceCollection(report.PaaSWorkspaceCollectionName);
                    AnalyzedWorkspaceCollections.Add(analyzedWSCollection);
                }

                var analyzedWS = analyzedWSCollection.Workspaces.FirstOrDefault(aws => string.Equals(report.PaaSWorkspaceId, aws.WorkspaceId, StringComparison.OrdinalIgnoreCase));
                if (analyzedWS == null)
                {
                    analyzedWS = new AnalyzedWorkspace(report.PaaSWorkspaceId);
                    analyzedWSCollection.Workspaces.Add(analyzedWS);
                }
                analyzedWS.Reports.Add(report);
            }
        }
Example #2
0
        private async Task AnalyzeWorkspace(PBIProvisioningContext context, AnalyzedWorkspace analyzedWorkspace)
        {
            PBIProvisioningContext localContext = new PBIProvisioningContext(context);

            localContext.WorkspaceId = analyzedWorkspace.WorkspaceId;

            PaaSController controller = new PaaSController(localContext);
            var            imports    = await controller.GetImports();

            var reports = await controller.GetReports();

            var datasets = await controller.GetDatasets();

            foreach (var report in reports)
            {
                var datasources = await controller.GetDatasources(report.DatasetId);

                var import = imports.Value.FirstOrDefault(i => i.Reports != null && i.Reports.Any(r => string.Equals(r.Id, report.Id, StringComparison.OrdinalIgnoreCase)));

                var dataset = datasets.FirstOrDefault(d => string.Equals(d.Id, report.DatasetId, StringComparison.OrdinalIgnoreCase));

                analyzedWorkspace.Reports.Add(new ReportMigrationData(report, import, dataset, datasources, localContext.WorkspaceCollection.Name, localContext.WorkspaceId));
            }
        }
Example #3
0
 private void UpdateReportStatisticsLabel(AnalyzedWorkspace analyzedWorkspace)
 {
     UpdateReportStatisticsLabel($"Workspace: {analyzedWorkspace.WorkspaceId}", analyzedWorkspace.ExportableReportsCnt, analyzedWorkspace.Reports.Count);
 }