コード例 #1
0
 internal override void SetupExprHost(IParameterDef aParamDef)
 {
     Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingContext legacyContext = GetLegacyContext();
     if (legacyContext.ReportRuntime.ReportExprHost != null)
     {
         ((ParameterDef)aParamDef).SetExprHost(legacyContext.ReportRuntime.ReportExprHost, legacyContext.ReportObjectModel);
     }
 }
コード例 #2
0
 internal override void Cleanup()
 {
     Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingContext legacyContext = GetLegacyContext();
     if (legacyContext.ReportRuntime != null)
     {
         legacyContext.ReportRuntime.Close();
     }
 }
コード例 #3
0
 internal LegacyProcessReportParameters(Report aReport, Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingContext aContext)
     : base(aContext)
 {
     m_report = aReport;
 }
コード例 #4
0
        internal override void InitParametersContext(ParameterInfoCollection parameters)
        {
            int dataSourceCount = m_report.DataSourceCount;

            Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingContext legacyContext = GetLegacyContext();
            Global.Tracer.Assert(legacyContext.ReportObjectModel == null, "(null == processingContext.ReportObjectModel)");
            legacyContext.ReportObjectModel = new ObjectModelImpl(legacyContext);
            legacyContext.ReportObjectModel.ParametersImpl  = new ParametersImpl(parameters.Count);
            legacyContext.ReportObjectModel.FieldsImpl      = new FieldsImpl();
            legacyContext.ReportObjectModel.ReportItemsImpl = new ReportItemsImpl();
            legacyContext.ReportObjectModel.AggregatesImpl  = new AggregatesImpl(null);
            legacyContext.ReportObjectModel.GlobalsImpl     = new GlobalsImpl(legacyContext.ReportContext.ItemName, legacyContext.ExecutionTime, legacyContext.ReportContext.HostRootUri, legacyContext.ReportContext.ParentPath);
            legacyContext.ReportObjectModel.UserImpl        = new UserImpl(legacyContext.RequestUserName, legacyContext.UserLanguage.Name, legacyContext.AllowUserProfileState);
            legacyContext.ReportObjectModel.DataSetsImpl    = new DataSetsImpl();
            legacyContext.ReportObjectModel.DataSourcesImpl = new DataSourcesImpl(dataSourceCount);
            if (legacyContext.ReportRuntime == null)
            {
                legacyContext.ReportRuntime = new ReportRuntime(legacyContext.ReportObjectModel, legacyContext.ErrorContext);
                legacyContext.ReportRuntime.LoadCompiledCode(m_report, parametersOnly: true, legacyContext.ReportObjectModel, legacyContext.ReportRuntimeSetup);
            }
        }
コード例 #5
0
        internal override ReportParameterDataSetCache ProcessReportParameterDataSet(ParameterInfo aParam, IParameterDef aParamDef, IParameterDataSource paramDS, bool aRetrieveValidValues, bool aRetrievalDefaultValues)
        {
            EventHandler eventHandler = null;
            LegacyReportParameterDataSetCache legacyReportParameterDataSetCache = new LegacyReportParameterDataSetCache(this, aParam, (ParameterDef)aParamDef, aRetrieveValidValues, aRetrievalDefaultValues);

            Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingContext legacyContext = GetLegacyContext();
            try
            {
                m_runtimeDataSourceNode = new Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportRuntimeDataSourceNode(m_report, m_report.DataSources[paramDS.DataSourceIndex], paramDS.DataSetIndex, legacyContext, legacyReportParameterDataSetCache);
                eventHandler            = AbortHandler;
                legacyContext.AbortInfo.ProcessingAbortEvent += eventHandler;
                if (Global.Tracer.TraceVerbose)
                {
                    Global.Tracer.Trace(TraceLevel.Verbose, "Abort handler registered.");
                }
                m_runtimeDataSourceNode.InitProcessingParams(mergeTran: false, prefetchDataOnly: true);
                m_runtimeDataSourceNode.ProcessConcurrent(null);
                legacyContext.CheckAndThrowIfAborted();
                _ = m_runtimeDataSourceNode.RuntimeDataSetNodes[0];
                return(legacyReportParameterDataSetCache);
            }
            finally
            {
                if (eventHandler != null)
                {
                    legacyContext.AbortInfo.ProcessingAbortEvent -= eventHandler;
                }
                if (m_runtimeDataSourceNode != null)
                {
                    m_runtimeDataSourceNode.Cleanup();
                }
            }
        }