コード例 #1
0
 protected RuntimeDataRegionObj(OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, int depth)
 {
     this.m_odpContext = odpContext;
     this.m_objectType = objectType;
     this.m_depth      = depth;
     this.m_odpContext.TablixProcessingScalabilityCache.AllocateAndPin(this, this.m_depth);
 }
コード例 #2
0
        public virtual void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(RuntimeDataRegionObj.m_declaration);
            IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache;

            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.OdpContext:
                {
                    int id = reader.ReadInt32();
                    this.m_odpContext = (OnDemandProcessingContext)scalabilityCache.FetchStaticReference(id);
                    break;
                }

                case MemberName.ObjectType:
                    this.m_objectType = (AspNetCore.ReportingServices.ReportProcessing.ObjectType)reader.ReadEnum();
                    break;

                case MemberName.Depth:
                    this.m_depth = reader.ReadInt32();
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }
コード例 #3
0
        public RuntimeGroupingObjTree(RuntimeHierarchyObj owner, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType)
            : base(owner, objectType)
        {
            OnDemandProcessingContext odpContext = base.m_owner.OdpContext;

            this.m_tree = new BTree(owner, odpContext, owner.Depth + 1);
        }
コード例 #4
0
        public RuntimeGroupingObjHash(RuntimeHierarchyObj owner, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType)
            : base(owner, objectType)
        {
            OnDemandProcessingContext odpContext = owner.OdpContext;

            this.m_hashtable = new ScalableDictionary <object, IReference <RuntimeHierarchyObj> >(owner.Depth + 1, odpContext.TablixProcessingScalabilityCache, 101, 27, odpContext.ProcessingComparer);
        }
コード例 #5
0
 public RuntimeDetailObj(RuntimeDetailObj detailRoot, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType)
     : base(detailRoot.OdpContext, objectType, detailRoot.Depth)
 {
     base.m_hierarchyRoot = (RuntimeDetailObjReference)detailRoot.SelfReference;
     this.m_outerScope    = detailRoot.m_outerScope;
     this.m_dataRegionDef = detailRoot.m_dataRegionDef;
 }
コード例 #6
0
        public int GetStyleAttribute(AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string styleAttributeName, OnDemandProcessingContext context, ref bool sharedFormatSettings, out string styleStringValue)
        {
            styleStringValue = null;
            int           result        = 0;
            object        obj           = null;
            AttributeInfo attributeInfo = null;

            if (this.GetAttributeInfo(styleAttributeName, out attributeInfo))
            {
                if (attributeInfo.IsExpression)
                {
                    result = 1;
                    sharedFormatSettings = false;
                    obj = this.EvaluateStyle(objectType, objectName, styleAttributeName, context);
                }
                else
                {
                    result = 2;
                    obj    = attributeInfo.Value;
                }
            }
            if (obj != null)
            {
                styleStringValue = (string)obj;
            }
            return(result);
        }
コード例 #7
0
 private Filters(FilterTypes filterType, List <AspNetCore.ReportingServices.ReportIntermediateFormat.Filter> filters, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, OnDemandProcessingContext processingContext, int scalabilityPriority)
 {
     this.m_filterType          = filterType;
     this.m_filters             = filters;
     this.m_objectType          = objectType;
     this.m_objectName          = objectName;
     this.m_processingContext   = processingContext;
     this.m_scalabilityPriority = scalabilityPriority;
 }
コード例 #8
0
 public ExprCompileTimeInfo(AspNetCore.ReportingServices.ReportIntermediateFormat.ExpressionInfo expression, ExpressionParser.ExpressionContext context)
 {
     this.ExpressionInfo    = expression;
     this.OwnerObjectType   = context.ObjectType;
     this.OwnerObjectName   = context.ObjectName;
     this.OwnerPropertyName = context.PropertyName;
     this.NumErrors         = 0;
     this.NumWarnings       = 0;
 }
コード例 #9
0
 public void Initialize(InitializationContext context, string dataSetName, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string propertyName)
 {
     context.ExprHostBuilder.LookupDestStart();
     if (this.m_destinationExpr != null)
     {
         this.m_destinationExpr.LookupInitialize(dataSetName, objectType, objectName, propertyName, context);
         context.ExprHostBuilder.LookupDestExpr(this.m_destinationExpr);
     }
     this.m_exprHostID = context.ExprHostBuilder.LookupDestEnd();
 }
コード例 #10
0
        public object EvaluateStyle(AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, StyleId styleId, OnDemandProcessingContext context)
        {
            AttributeInfo attribute = null;

            if (this.GetAttributeInfo(Style.GetStyleString(styleId), out attribute))
            {
                return(this.EvaluateStyle(objectType, objectName, attribute, styleId, context));
            }
            return(null);
        }
コード例 #11
0
 void IErrorContext.Register(ProcessingErrorCode code, Severity severity, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string propertyName, params string[] arguments)
 {
     if (!this.m_aggregateResult.HasCode)
     {
         this.m_aggregateResult.HasCode   = true;
         this.m_aggregateResult.Code      = code;
         this.m_aggregateResult.Severity  = severity;
         this.m_aggregateResult.Arguments = arguments;
     }
 }
コード例 #12
0
 public RuntimeHierarchyObj(RuntimeHierarchyObj outerHierarchy, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, int level)
     : base(outerHierarchy.OdpContext, objectType, level)
 {
     if (outerHierarchy.m_expression != null)
     {
         this.ConstructorHelper(outerHierarchy.m_expression.ExpressionIndex + 1, outerHierarchy.m_hierarchyRoot);
     }
     else
     {
         this.ConstructorHelper(-1, outerHierarchy.m_hierarchyRoot);
     }
 }
コード例 #13
0
        public ProcessingMessageList RegisterSpatialTypeComparisonError(string type)
        {
            AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType = default(AspNetCore.ReportingServices.ReportProcessing.ObjectType);
            string name = default(string);

            using (this.m_hierarchyRoot.PinValue())
            {
                RuntimeGroupRootObj runtimeGroupRootObj = (RuntimeGroupRootObj)this.m_hierarchyRoot.Value();
                objectType = runtimeGroupRootObj.HierarchyDef.DataRegionDef.ObjectType;
                name       = runtimeGroupRootObj.HierarchyDef.DataRegionDef.Name;
            }
            return(base.m_odpContext.RegisterSpatialTypeComparisonError(objectType, name, type));
        }
コード例 #14
0
 public virtual void Deserialize(IntermediateFormatReader reader)
 {
     reader.RegisterDeclaration(RuntimeGroupingObj.m_declaration);
     while (reader.NextMember())
     {
         MemberName memberName = reader.CurrentMember.MemberName;
         if (memberName == MemberName.ObjectType)
         {
             this.m_objectType = (AspNetCore.ReportingServices.ReportProcessing.ObjectType)reader.ReadEnum();
         }
         else
         {
             Global.Tracer.Assert(false);
         }
     }
 }
コード例 #15
0
        private bool LoadGeneratedReportItemDefinition()
        {
            AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSnapshot reportSnapshot = base.RenderingContext.OdpContext.OdpMetadata.ReportSnapshot;
            string chunkName = default(string);

            if (!reportSnapshot.TryGetGeneratedReportItemChunkName(this.GetGeneratedDefinitionChunkKey(), out chunkName))
            {
                return(false);
            }
            IChunkFactory chunkFactory = base.RenderingContext.OdpContext.ChunkFactory;
            string        text         = default(string);
            Stream        chunk        = chunkFactory.GetChunk(chunkName, AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.ReportChunkTypes.GeneratedReportItems, ChunkMode.Open, out text);

            if (chunk == null)
            {
                return(false);
            }
            using (chunk)
            {
                IntermediateFormatReader intermediateFormatReader = new IntermediateFormatReader(chunk, new ProcessingRIFObjectCreator((AspNetCore.ReportingServices.ReportIntermediateFormat.IDOwner)base.m_reportItemDef.ParentInstancePath, base.m_reportItemDef.Parent));
                AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItem = (AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem)intermediateFormatReader.ReadRIFObject();
                Global.Tracer.Assert(!intermediateFormatReader.HasReferences, "!reader.HasReferences");
                reportItem.GlobalID = -this.CriDef.GlobalID;
                if (reportItem.StyleClass != null)
                {
                    reportItem.StyleClass.InitializeForCRIGeneratedReportItem();
                }
                reportItem.Visibility = base.m_reportItemDef.Visibility;
                AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType = reportItem.ObjectType;
                if (objectType == AspNetCore.ReportingServices.ReportProcessing.ObjectType.Image)
                {
                    Image image = new Image(this.ParentScope, base.ParentDefinitionPath, this.m_indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Image)reportItem, base.RenderingContext);
                    image.CriOwner             = this;
                    image.CriGenerationPhase   = CriGenerationPhases.None;
                    this.m_generatedReportItem = image;
                }
                else
                {
                    Global.Tracer.Assert(false, "Unexpected CRI generated report item type: " + reportItem.ObjectType);
                }
            }
            return(true);
        }
コード例 #16
0
 public void Initialize(InitializationContext context)
 {
     if (this.m_queryParameters != null)
     {
         AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType = context.ObjectType;
         string objectName = context.ObjectName;
         context.ObjectType = AspNetCore.ReportingServices.ReportProcessing.ObjectType.QueryParameter;
         context.ExprHostBuilder.QueryParametersStart();
         for (int i = 0; i < this.m_queryParameters.Count; i++)
         {
             ParameterValue parameterValue = this.m_queryParameters[i];
             context.ObjectName = parameterValue.Name;
             parameterValue.Initialize(null, context, true);
         }
         context.ExprHostBuilder.QueryParametersEnd();
         context.ObjectType = objectType;
         context.ObjectName = objectName;
     }
 }
コード例 #17
0
 public void Initialize(InitializationContext context, string dataSetName, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string propertyName)
 {
     if (base.Expressions != null && base.Expressions.Length > 0)
     {
         for (int i = 0; i < base.Expressions.Length; i++)
         {
             ExpressionInfo expressionInfo = base.Expressions[i];
             if (base.AggregateType == AggregateTypes.Previous && this.m_scope != null && expressionInfo.Aggregates != null)
             {
                 foreach (DataAggregateInfo aggregate in expressionInfo.Aggregates)
                 {
                     string childScope = default(string);
                     if (aggregate.GetScope(out childScope) && !context.IsSameOrChildScope(this.m_scope, childScope))
                     {
                         context.ErrorContext.Register(ProcessingErrorCode.rsInvalidScopeInInnerAggregateOfPreviousAggregate, Severity.Error, objectType, objectName, propertyName);
                     }
                 }
             }
             expressionInfo.AggregateInitialize(dataSetName, objectType, objectName, propertyName, context);
         }
     }
 }
コード例 #18
0
        public void GetStyleAttribute(AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string styleAttributeName, OnDemandProcessingContext context, ref bool sharedFormatSettings, out int styleIntValue)
        {
            styleIntValue = 0;
            AttributeInfo attributeInfo = null;

            if (this.GetAttributeInfo(styleAttributeName, out attributeInfo))
            {
                if (attributeInfo.IsExpression)
                {
                    sharedFormatSettings = false;
                    object obj = this.EvaluateStyle(objectType, objectName, styleAttributeName, context);
                    if (obj != null)
                    {
                        styleIntValue = (int)obj;
                    }
                }
                else
                {
                    styleIntValue = attributeInfo.IntValue;
                }
            }
        }
コード例 #19
0
 public string EvaluateLabel(IReportScopeInstance romInstance, OnDemandProcessingContext context, IInstancePath ownerItem, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName)
 {
     context.SetupContext(ownerItem, romInstance);
     return(context.ReportRuntime.EvaluateActionLabelExpression(this, this.m_label, objectType, objectName));
 }
コード例 #20
0
 public string EvaluateDrillthroughReportName(IReportScopeInstance romInstance, OnDemandProcessingContext context, IInstancePath ownerItem, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName)
 {
     context.SetupContext(ownerItem, romInstance);
     return(context.ReportRuntime.EvaluateReportItemDrillthroughReportName(this, this.m_drillthroughReportName, objectType, objectName));
 }
コード例 #21
0
 public string EvaluateHyperLinkURL(IReportScopeInstance romInstance, OnDemandProcessingContext context, IInstancePath ownerItem, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName)
 {
     context.SetupContext(ownerItem, romInstance);
     return(context.ReportRuntime.EvaluateReportItemHyperlinkURLExpression(this, this.m_hyperLinkURL, objectType, objectName));
 }
コード例 #22
0
 protected RuntimeDetailObj(IReference <IScope> outerScope, AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef, DataActions dataAction, OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType)
     : base(odpContext, objectType, (outerScope == null) ? dataRegionDef.InnerGroupingDynamicMemberCount : (outerScope.Value().Depth + 1))
 {
     base.m_hierarchyRoot   = (RuntimeDetailObjReference)base.SelfReference;
     this.m_outerScope      = outerScope;
     this.m_dataRegionDef   = dataRegionDef;
     this.m_outerDataAction = dataAction;
 }
コード例 #23
0
 protected RuntimeHierarchyObj(OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, int level)
     : base(odpContext, objectType, level)
 {
 }
コード例 #24
0
 private void RegisterError(CompilerError error, ref int numErrors, ref int numWarnings, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string propertyName, ProcessingErrorCode errorCode)
 {
     if ((error.IsWarning ? numWarnings : numErrors) < 1)
     {
         bool     flag = false;
         Severity severity;
         if (error.IsWarning)
         {
             flag     = true;
             severity = Severity.Warning;
             numWarnings++;
         }
         else
         {
             flag     = true;
             severity = Severity.Error;
             numErrors++;
         }
         if (flag)
         {
             this.m_errorContext.Register(errorCode, severity, objectType, objectName, propertyName, this.FormatError(error), error.Line.ToString(CultureInfo.InvariantCulture));
         }
     }
 }
コード例 #25
0
        public override void NextRow()
        {
            bool flag = true;
            RuntimeGroupRootObj runtimeGroupRootObj = null;

            using (this.m_hierarchyRoot.PinValue())
            {
                if (this.m_hierarchyRoot is RuntimeGroupRootObjReference)
                {
                    runtimeGroupRootObj = (RuntimeGroupRootObj)this.m_hierarchyRoot.Value();
                    if (ProcessingStages.SortAndFilter == runtimeGroupRootObj.ProcessingStage)
                    {
                        flag = false;
                    }
                }
                if (this.m_hierarchyObjs != null)
                {
                    if (flag)
                    {
                        IReference <RuntimeHierarchyObj> reference = this.m_hierarchyObjs[0];
                        Global.Tracer.Assert(null != reference, "(null != hierarchyObj)");
                        using (reference.PinValue())
                        {
                            reference.Value().NextRow();
                        }
                    }
                    else if (runtimeGroupRootObj != null)
                    {
                        RuntimeGroupLeafObjReference lastChild = runtimeGroupRootObj.LastChild;
                        Global.Tracer.Assert((BaseReference)null != (object)lastChild, "(null != groupLastChild)");
                        this.m_hierarchyObjs.Add(lastChild);
                    }
                }
                else if (this.m_grouping != null)
                {
                    AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType = runtimeGroupRootObj.HierarchyDef.DataRegionDef.ObjectType;
                    string             name               = runtimeGroupRootObj.HierarchyDef.DataRegionDef.Name;
                    string             propertyName       = "GroupExpression";
                    DomainScopeContext domainScopeContext = base.OdpContext.DomainScopeContext;
                    DomainScopeContext.DomainScopeInfo domainScopeInfo = null;
                    if (domainScopeContext != null)
                    {
                        domainScopeInfo = domainScopeContext.CurrentDomainScope;
                    }
                    object obj;
                    if (domainScopeInfo != null)
                    {
                        domainScopeInfo.MoveNext();
                        obj = domainScopeInfo.CurrentKey;
                    }
                    else
                    {
                        obj = ((this.m_expression != null) ? base.m_odpContext.ReportRuntime.EvaluateRuntimeExpression(this.m_expression, objectType, name, propertyName) : ((object)base.m_odpContext.ReportObjectModel.FieldsImpl.GetRowIndex()));
                    }
                    if (runtimeGroupRootObj != null && flag)
                    {
                        AspNetCore.ReportingServices.ReportIntermediateFormat.Grouping grouping = runtimeGroupRootObj.HierarchyDef.Grouping;
                        if (runtimeGroupRootObj.SaveGroupExprValues)
                        {
                            grouping.CurrentGroupExpressionValues.Add(obj);
                        }
                        this.MatchSortFilterScope(runtimeGroupRootObj.SelfReference, grouping, obj, this.m_expression.ExpressionIndex);
                    }
                    this.m_grouping.NextRow(obj);
                    if (domainScopeInfo != null)
                    {
                        domainScopeInfo.MovePrevious();
                    }
                }
            }
        }
コード例 #26
0
 public RuntimeTablixGroupLeafObj(RuntimeDataTablixGroupRootObjReference groupRootRef, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType)
     : base(groupRootRef, objectType)
 {
 }
コード例 #27
0
 public RuntimeGroupingObjLinkedList(RuntimeHierarchyObj owner, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType)
     : base(owner, objectType)
 {
 }
コード例 #28
0
 public object EvaluateDrillthroughParamValue(IReportScopeInstance romInstance, OnDemandProcessingContext context, IInstancePath ownerItem, List <string> fieldsUsedInOwnerValue, ParameterValue paramValue, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName)
 {
     context.SetupContext(ownerItem, romInstance);
     AspNetCore.ReportingServices.RdlExpressions.ReportRuntime reportRuntime = context.ReportRuntime;
     reportRuntime.FieldsUsedInCurrentActionOwnerValue = fieldsUsedInOwnerValue;
     AspNetCore.ReportingServices.RdlExpressions.ParameterValueResult parameterValueResult = reportRuntime.EvaluateParameterValueExpression(paramValue, objectType, objectName, "DrillthroughParameterValue");
     reportRuntime.FieldsUsedInCurrentActionOwnerValue = null;
     return(parameterValueResult.Value);
 }
コード例 #29
0
 public bool EvaluateDrillthroughParamOmit(IReportScopeInstance romInstance, OnDemandProcessingContext context, IInstancePath ownerItem, ParameterValue paramValue, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName)
 {
     context.SetupContext(ownerItem, romInstance);
     return(context.ReportRuntime.EvaluateParamValueOmitExpression(paramValue, objectType, objectName));
 }
コード例 #30
0
 void IErrorContext.Register(ProcessingErrorCode code, Severity severity, AspNetCore.ReportingServices.ReportProcessing.ObjectType objectType, string objectName, string propertyName, params string[] arguments)
 {
     ((IErrorContext)this).Register(code, severity, arguments);
 }