Ejemplo n.º 1
0
        protected ProcessingContext CreateProcessingContext(ParameterInfoCollection reportParameters, IEnumerable dataSources, DatasourceCredentialsCollection credentials, IChunkFactory chunkFactory, CreateAndRegisterStream createStreamCallback, SubreportCallbackHandler subreportHandler)
        {
            RuntimeDataSourceInfoCollection dataSourceInfoColl = null;
            RuntimeDataSetInfoCollection    dataSetInfoColl    = null;

            this.GetAllReportDataSourcesAndSharedDataSets(out dataSourceInfoColl, out dataSetInfoColl);
            return(this.m_dataRetrieval.CreateProcessingContext(this.m_itemContext, reportParameters, dataSources, dataSourceInfoColl, dataSetInfoColl, this.GetCompiledDataSet, credentials, subreportHandler.OnDemandSubReportCallback, new GetResourceForLocalService(this.Catalog), chunkFactory, this.m_reportRuntimeSetupHandler.ReportRuntimeSetup, createStreamCallback));
        }
Ejemplo n.º 2
0
 internal ReportProcessingContext(ICatalogItemContext reportContext, string requestUserName, ParameterInfoCollection parameters, RuntimeDataSourceInfoCollection dataSources, RuntimeDataSetInfoCollection sharedDataSetReferences, ReportProcessing.OnDemandSubReportCallback subReportCallback, IGetResource getResourceFunction, IChunkFactory createChunkFactory, ReportProcessing.ExecutionType interactiveExecution, CultureInfo culture, UserProfileState allowUserProfileState, UserProfileState initialUserProfileState, IProcessingDataExtensionConnection createDataExtensionInstanceFunction, ReportRuntimeSetup reportRuntimeSetup, CreateAndRegisterStream createStreamCallback, bool isHistorySnapshot, IJobContext jobContext, IExtensionFactory extFactory, IDataProtection dataProtection, ISharedDataSet dataSetExecute)
     : base(reportContext, requestUserName, parameters, subReportCallback, getResourceFunction, createChunkFactory, interactiveExecution, culture, allowUserProfileState, initialUserProfileState, reportRuntimeSetup, createStreamCallback, isHistorySnapshot, jobContext, extFactory, dataProtection)
 {
     m_dataSources                         = dataSources;
     m_sharedDataSetReferences             = sharedDataSetReferences;
     m_createDataExtensionInstanceFunction = createDataExtensionInstanceFunction;
     m_dataSetExecute                      = dataSetExecute;
 }
Ejemplo n.º 3
0
        private void GetAllReportDataSourcesAndSharedDataSets(out RuntimeDataSourceInfoCollection runtimeDataSources, out RuntimeDataSetInfoCollection runtimeDataSets)
        {
            if (!DataRetrieval.SupportsQueries)
            {
                runtimeDataSources = new RuntimeDataSourceInfoCollection();
                runtimeDataSets    = new RuntimeDataSetInfoCollection();
                return;
            }
            ControlSnapshot          snapshot;
            PublishingResult         compiledReport        = GetCompiledReport(m_itemContext, rebuild: false, out snapshot);
            DataSourceInfoCollection existingDataSources   = ResolveSharedDataSources(compiledReport.DataSources);
            DataSetInfoCollection    dataSetInfoCollection = ResolveSharedDataSets(compiledReport.SharedDataSets);
            DataSourceInfoCollection dataSources           = CompileDataSetsAndCombineDataSources(dataSetInfoCollection, existingDataSources);

            CreateAndConfigureReportProcessing().GetAllDataSources(m_itemContext, snapshot, OnGetSubReportDataSources, dataSources, dataSetInfoCollection, checkIfUsable: true, new ServerDataSourceSettings(isSurrogatePresent: true, allowIntegratedSecurity: true), out runtimeDataSources, out runtimeDataSets);
        }
Ejemplo n.º 4
0
 private void GetAllReportDataSourcesAndSharedDataSets(out RuntimeDataSourceInfoCollection runtimeDataSources, out RuntimeDataSetInfoCollection runtimeDataSets)
 {
     if (!this.DataRetrieval.SupportsQueries)
     {
         runtimeDataSources = new RuntimeDataSourceInfoCollection();
         runtimeDataSets    = new RuntimeDataSetInfoCollection();
     }
     else
     {
         ControlSnapshot          getCompiledDefinitionFactory = default(ControlSnapshot);
         PublishingResult         compiledReport        = this.GetCompiledReport(this.m_itemContext, false, out getCompiledDefinitionFactory);
         DataSourceInfoCollection existingDataSources   = this.ResolveSharedDataSources(compiledReport.DataSources);
         DataSetInfoCollection    dataSetInfoCollection = this.ResolveSharedDataSets(compiledReport.SharedDataSets);
         DataSourceInfoCollection dataSources           = this.CompileDataSetsAndCombineDataSources(dataSetInfoCollection, existingDataSources);
         ReportProcessing         reportProcessing      = this.CreateAndConfigureReportProcessing();
         reportProcessing.GetAllDataSources((ICatalogItemContext)this.m_itemContext, (IChunkFactory)getCompiledDefinitionFactory, (ReportProcessing.OnDemandSubReportDataSourcesCallback) this.OnGetSubReportDataSources, dataSources, dataSetInfoCollection, true, new ServerDataSourceSettings(true, true), out runtimeDataSources, out runtimeDataSets);
     }
 }
Ejemplo n.º 5
0
        public DataSourcePromptCollection GetReportDataSourcePrompts(out bool allCredentialsSatisfied)
        {
            RuntimeDataSourceInfoCollection runtimeDataSourceInfoCollection = default(RuntimeDataSourceInfoCollection);
            RuntimeDataSetInfoCollection    runtimeDataSetInfoCollection    = default(RuntimeDataSetInfoCollection);

            this.GetAllReportDataSourcesAndSharedDataSets(out runtimeDataSourceInfoCollection, out runtimeDataSetInfoCollection);
            DatasourceCredentialsCollection datasourceCredentialsCollection = new DatasourceCredentialsCollection();

            foreach (DatasourceCredentials credential in this.m_executionSession.Credentials)
            {
                DataSourceInfo byOriginalName = runtimeDataSourceInfoCollection.GetByOriginalName(credential.PromptID);
                if (byOriginalName != null && byOriginalName.CredentialsRetrieval == DataSourceInfo.CredentialsRetrievalOption.Prompt)
                {
                    datasourceCredentialsCollection.Add(credential);
                }
            }
            runtimeDataSourceInfoCollection.SetCredentials(datasourceCredentialsCollection, DataProtectionLocal.Instance);
            ServerDataSourceSettings   serverDatasourceSettings = new ServerDataSourceSettings(true, true);
            DataSourcePromptCollection promptRepresentatives    = runtimeDataSourceInfoCollection.GetPromptRepresentatives(serverDatasourceSettings);

            allCredentialsSatisfied = !runtimeDataSourceInfoCollection.NeedPrompt;
            return(promptRepresentatives);
        }
Ejemplo n.º 6
0
 public override ProcessingContext CreateProcessingContext(PreviewItemContext itemContext, ParameterInfoCollection parameters, IEnumerable dataSources, RuntimeDataSourceInfoCollection dataSourceInfoColl, RuntimeDataSetInfoCollection dataSetInfoColl, SharedDataSetCompiler sharedDataSetCompiler, DatasourceCredentialsCollection credentials, ReportProcessing.OnDemandSubReportCallback subReportCallback, IGetResource getResourceFunction, IChunkFactory chunkFactory, ReportRuntimeSetup runtimeSetup, AspNetCore.ReportingServices.Interfaces.CreateAndRegisterStream createStreamCallback)
 {
     return(new ProcessingContextForDataSets(itemContext, parameters, new DataSourceCollectionWrapper((ReportDataSourceCollection)dataSources), subReportCallback, this.m_subreportDataCallback, getResourceFunction, chunkFactory, runtimeSetup, (AspNetCore.ReportingServices.Interfaces.CreateAndRegisterStream)createStreamCallback));
 }
 public abstract ProcessingContext CreateProcessingContext(PreviewItemContext itemContext, ParameterInfoCollection parameters, IEnumerable dataSources, RuntimeDataSourceInfoCollection dataSourceInfoColl, RuntimeDataSetInfoCollection dataSetInfoColl, SharedDataSetCompiler sharedDataSetCompiler, DatasourceCredentialsCollection credentials, ReportProcessing.OnDemandSubReportCallback subReportCallback, IGetResource getResourceFunction, IChunkFactory chunkFactory, ReportRuntimeSetup runtimeSetup, CreateAndRegisterStream createStreamCallback);