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); } }
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)); } }
private void UpdateReportStatisticsLabel(AnalyzedWorkspace analyzedWorkspace) { UpdateReportStatisticsLabel($"Workspace: {analyzedWorkspace.WorkspaceId}", analyzedWorkspace.ExportableReportsCnt, analyzedWorkspace.Reports.Count); }