public void SetCompiledReport(PreviewItemContext context, StoredReport storedReport) { ReportID key = new ReportID(context); m_compiledReports[key] = storedReport; }
private PublishingResult GetCompiledReport(PreviewItemContext itemContext, bool rebuild, out ControlSnapshot snapshot) { StoredReport storedReport = null; if (!rebuild) { storedReport = m_catalogTempDB.GetCompiledReport(itemContext); if (storedReport != null && storedReport.GeneratedExpressionHostWithRefusedPermissions != GenerateExpressionHostWithRefusedPermissions) { storedReport = null; } } if (storedReport == null) { byte[] reportDefinition = m_catalog.GetReportDefinition(itemContext); storedReport = new StoredReport(ReportCompiler.CompileReport(itemContext, reportDefinition, GenerateExpressionHostWithRefusedPermissions, out snapshot), snapshot, GenerateExpressionHostWithRefusedPermissions); m_catalogTempDB.SetCompiledReport(itemContext, storedReport); ILocalCatalog2 localCatalog = m_catalog as ILocalCatalog2; foreach (DataSourceInfo dataSource in storedReport.PublishingResult.DataSources) { string userName = null; string password = null; if (localCatalog != null && localCatalog.GetReportDataSourceCredentials(itemContext, dataSource, out userName, out password)) { dataSource.SetUserName(userName, DataProtectionLocal.Instance); dataSource.SetPassword(password, DataProtectionLocal.Instance); dataSource.CredentialsRetrieval = DataSourceInfo.CredentialsRetrievalOption.Store; } else { if (dataSource.IsReference || dataSource.CredentialsRetrieval == DataSourceInfo.CredentialsRetrievalOption.Integrated) { continue; } if (localCatalog == null) { m_catalog.GetReportDataSourceCredentials(itemContext, dataSource.Name, out userName, out password); bool num = !string.IsNullOrEmpty(userName); if (num) { dataSource.SetUserName(userName, DataProtectionLocal.Instance); } bool flag = password != null; if (flag) { dataSource.SetPassword(password, DataProtectionLocal.Instance); } if (num || flag) { dataSource.CredentialsRetrieval = DataSourceInfo.CredentialsRetrievalOption.Store; continue; } } if (string.IsNullOrEmpty(dataSource.Prompt)) { dataSource.CredentialsRetrieval = DataSourceInfo.CredentialsRetrievalOption.None; } else { dataSource.CredentialsRetrieval = DataSourceInfo.CredentialsRetrievalOption.Prompt; } } } } m_securityValidator(itemContext, storedReport.PublishingResult); snapshot = storedReport.Snapshot; return(storedReport.PublishingResult); }