コード例 #1
0
 public override void EvaluateScopedFieldReference(string scopeName, int fieldIndex, ref AspNetCore.ReportingServices.RdlExpressions.VariantResult result)
 {
     Global.Tracer.Assert(this.m_lastRIFObject != null, "The RIF object for the current scope should be present.");
     try
     {
         AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet = default(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet);
         if (!base.m_odpContext.ReportDefinition.MappingNameToDataSet.TryGetValue(scopeName, out targetDataSet))
         {
             throw new ReportProcessingException_NonExistingScopeReference(scopeName);
         }
         NonStructuralIdcDataManager nonStructuralIdcDataManager = default(NonStructuralIdcDataManager);
         if (!base.TryGetNonStructuralIdcDataManager(targetDataSet, out nonStructuralIdcDataManager))
         {
             nonStructuralIdcDataManager = this.CreateNonStructuralIdcDataManager(scopeName, targetDataSet);
         }
         if (nonStructuralIdcDataManager.SourceDataScope.CurrentStreamingScopeInstance != nonStructuralIdcDataManager.LastParentScopeInstance)
         {
             nonStructuralIdcDataManager.RegisterActiveParent(nonStructuralIdcDataManager.SourceDataScope.CurrentStreamingScopeInstance);
             nonStructuralIdcDataManager.Advance();
         }
         else
         {
             nonStructuralIdcDataManager.SetupEnvironment();
         }
         base.m_odpContext.ReportRuntime.EvaluateSimpleFieldReference(fieldIndex, ref result);
     }
     finally
     {
         this.SetupEnvironment(this.m_lastRIFObject, this.m_lastOnDemandScopeInstance.Value(), this.m_lastOnDemandScopeInstance);
     }
 }
コード例 #2
0
        private NonStructuralIdcDataManager CreateNonStructuralIdcDataManager(string scopeName, Microsoft.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet)
        {
            if (!DataScopeInfo.TryGetInnermostParentScopeRelatedToTargetDataSet(targetDataSet, m_lastRIFObject, out IRIFReportDataScope targetScope))
            {
                throw new ReportProcessingException_InvalidScopeReference(scopeName);
            }
            NonStructuralIdcDataManager nonStructuralIdcDataManager = new NonStructuralIdcDataManager(m_odpContext, targetDataSet, targetScope);

            RegisterDisposableDataReaderOrIdcDataManager(nonStructuralIdcDataManager);
            AddNonStructuralIdcDataManager(targetDataSet, nonStructuralIdcDataManager);
            return(nonStructuralIdcDataManager);
        }
コード例 #3
0
        private NonStructuralIdcDataManager CreateNonStructuralIdcDataManager(string scopeName, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet)
        {
            IRIFReportDataScope sourceDataScope = default(IRIFReportDataScope);

            if (!DataScopeInfo.TryGetInnermostParentScopeRelatedToTargetDataSet(targetDataSet, this.m_lastRIFObject, out sourceDataScope))
            {
                throw new ReportProcessingException_InvalidScopeReference(scopeName);
            }
            NonStructuralIdcDataManager nonStructuralIdcDataManager = new NonStructuralIdcDataManager(base.m_odpContext, targetDataSet, sourceDataScope);

            base.RegisterDisposableDataReaderOrIdcDataManager(nonStructuralIdcDataManager);
            base.AddNonStructuralIdcDataManager(targetDataSet, nonStructuralIdcDataManager);
            return(nonStructuralIdcDataManager);
        }
コード例 #4
0
 protected void AddNonStructuralIdcDataManager(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet, NonStructuralIdcDataManager idcDataManager)
 {
     this.AddIdcDataManager(targetDataSet.IndexInCollection, idcDataManager);
 }
コード例 #5
0
        protected bool TryGetNonStructuralIdcDataManager(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet, out NonStructuralIdcDataManager nsIdcDataManager)
        {
            BaseIdcDataManager baseIdcDataManager = default(BaseIdcDataManager);

            if (this.TryGetIdcDataManager(targetDataSet.IndexInCollection, out baseIdcDataManager))
            {
                nsIdcDataManager = (NonStructuralIdcDataManager)baseIdcDataManager;
                return(true);
            }
            nsIdcDataManager = null;
            return(false);
        }
コード例 #6
0
 protected void AddNonStructuralIdcDataManager(Microsoft.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet, NonStructuralIdcDataManager idcDataManager)
 {
     AddIdcDataManager(targetDataSet.IndexInCollection, idcDataManager);
 }
コード例 #7
0
 protected bool TryGetNonStructuralIdcDataManager(Microsoft.ReportingServices.ReportIntermediateFormat.DataSet targetDataSet, out NonStructuralIdcDataManager nsIdcDataManager)
 {
     if (TryGetIdcDataManager(targetDataSet.IndexInCollection, out BaseIdcDataManager idcDataManager))
     {
         nsIdcDataManager = (NonStructuralIdcDataManager)idcDataManager;
         return(true);
     }
     nsIdcDataManager = null;
     return(false);
 }