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