예제 #1
0
 internal TextRunImpl(Microsoft.ReportingServices.ReportIntermediateFormat.TextBox textBoxDef, Microsoft.ReportingServices.ReportIntermediateFormat.TextRun textRunDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, IErrorContext iErrorContext, IScope scope)
 {
     m_textBoxDef    = textBoxDef;
     m_textRunDef    = textRunDef;
     m_reportRT      = reportRT;
     m_iErrorContext = iErrorContext;
     m_scope         = scope;
 }
예제 #2
0
 internal ReportItemImpl(Microsoft.ReportingServices.ReportIntermediateFormat.ReportItem itemDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, IErrorContext iErrorContext)
 {
     Global.Tracer.Assert(itemDef != null, "(null != itemDef)");
     Global.Tracer.Assert(reportRT != null, "(null != reportRT)");
     Global.Tracer.Assert(iErrorContext != null, "(null != iErrorContext)");
     m_item          = itemDef;
     m_reportRT      = reportRT;
     m_iErrorContext = iErrorContext;
 }
예제 #3
0
 internal object EvaluateDrillthroughParamValue(IReportScopeInstance romInstance, OnDemandProcessingContext context, IInstancePath ownerItem, List <string> fieldsUsedInOwnerValue, ParameterValue paramValue, Microsoft.ReportingServices.ReportProcessing.ObjectType objectType, string objectName)
 {
     context.SetupContext(ownerItem, romInstance);
     Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRuntime = context.ReportRuntime;
     reportRuntime.FieldsUsedInCurrentActionOwnerValue = fieldsUsedInOwnerValue;
     Microsoft.ReportingServices.RdlExpressions.ParameterValueResult parameterValueResult = reportRuntime.EvaluateParameterValueExpression(paramValue, objectType, objectName, "DrillthroughParameterValue");
     reportRuntime.FieldsUsedInCurrentActionOwnerValue = null;
     return(parameterValueResult.Value);
 }
예제 #4
0
 internal VariableImpl(Microsoft.ReportingServices.ReportIntermediateFormat.Variable variable, IndexedExprHost variableValuesHost, ObjectType parentObjectType, string parentObjectName, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, int indexInCollection)
 {
     Global.Tracer.Assert(reportRT != null && variable != null, "(null != reportRT && null != variable)");
     m_variableDef       = variable;
     m_exprHost          = variableValuesHost;
     m_parentObjectType  = parentObjectType;
     m_parentObjectName  = parentObjectName;
     m_reportRT          = reportRT;
     m_indexInCollection = indexInCollection;
 }
 internal DataAggregateObj(DataAggregateInfo aggInfo, OnDemandProcessingContext odpContext)
 {
     m_nonAggregateMode = false;
     m_aggregator       = AggregatorFactory.Instance.CreateAggregator(odpContext, aggInfo);
     m_aggregateDef     = aggInfo;
     m_reportRT         = odpContext.ReportRuntime;
     if (m_reportRT.ReportExprHost != null)
     {
         m_aggregateDef.SetExprHosts(m_reportRT.ReportExprHost, odpContext.ReportObjectModel);
     }
     Init();
 }
        void IPersistable.Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_declaration);
            IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache;

            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.FieldDef:
                {
                    int id2 = reader.ReadInt32();
                    m_fieldDef = (Microsoft.ReportingServices.ReportIntermediateFormat.Field)scalabilityCache.FetchStaticReference(id2);
                    break;
                }

                case MemberName.Value:
                    m_value = reader.ReadVariant();
                    break;

                case MemberName.IsValueReady:
                    m_isValueReady = reader.ReadBoolean();
                    break;

                case MemberName.IsVisited:
                    m_isVisited = reader.ReadBoolean();
                    break;

                case MemberName.ReportRuntime:
                {
                    int id = reader.ReadInt32();
                    m_reportRT      = (Microsoft.ReportingServices.RdlExpressions.ReportRuntime)scalabilityCache.FetchStaticReference(id);
                    m_iErrorContext = m_reportRT;
                    break;
                }

                case MemberName.ErrorOccurred:
                    m_errorOccurred = reader.ReadBoolean();
                    break;

                case MemberName.ExceptionMessage:
                    m_exceptionMessage = reader.ReadString();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
        internal ParagraphsImpl(Microsoft.ReportingServices.ReportIntermediateFormat.TextBox textBoxDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, IErrorContext iErrorContext, IScope scope)
        {
            m_textBoxDef    = textBoxDef;
            m_reportRT      = reportRT;
            m_iErrorContext = iErrorContext;
            m_scope         = scope;
            List <Microsoft.ReportingServices.ReportIntermediateFormat.Paragraph> paragraphs = m_textBoxDef.Paragraphs;

            if (paragraphs != null)
            {
                m_paragraphs = new ParagraphImpl[paragraphs.Count];
            }
            else
            {
                m_paragraphs = new ParagraphImpl[0];
            }
        }
 internal void ProcessUserSortForTarget(ObjectModelImpl reportObjectModel, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRuntime, IReference <IHierarchyObj> target, ref ScalableList <DataFieldRow> dataRows, bool targetForNonDetailSort)
 {
     using (target.PinValue())
     {
         IHierarchyObj hierarchyObj = target.Value();
         if (targetForNonDetailSort && dataRows != null && 0 < dataRows.Count)
         {
             IReference <RuntimeSortFilterEventInfo> reference = null;
             try
             {
                 List <int> sortFilterInfoIndices = hierarchyObj.SortFilterInfoIndices;
                 Global.Tracer.Assert(hierarchyObj.SortTree != null, "(null != targetObj.SortTree)");
                 if (sortFilterInfoIndices != null)
                 {
                     reference = m_runtimeSortFilterInfo[sortFilterInfoIndices[0]];
                 }
                 RuntimeSortFilterEventInfo runtimeSortFilterEventInfo = null;
                 if (reference != null)
                 {
                     reference.PinValue();
                     runtimeSortFilterEventInfo = reference.Value();
                 }
                 for (int i = 0; i < dataRows.Count; i++)
                 {
                     dataRows[i].SetFields(reportObjectModel.FieldsImpl);
                     object keyValue = DBNull.Value;
                     if (runtimeSortFilterEventInfo != null)
                     {
                         keyValue = runtimeSortFilterEventInfo.GetSortOrder(reportRuntime);
                     }
                     hierarchyObj.SortTree.NextRow(keyValue, hierarchyObj);
                 }
             }
             finally
             {
                 reference?.UnPinValue();
             }
             if (dataRows != null)
             {
                 dataRows.Dispose();
             }
             dataRows = null;
         }
         hierarchyObj.MarkSortInfoProcessed(m_runtimeSortFilterInfo);
     }
 }
        public void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_declaration);
            IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache;

            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.NonAggregateMode:
                    m_nonAggregateMode = reader.ReadBoolean();
                    break;

                case MemberName.Aggregator:
                    m_aggregator = (DataAggregate)reader.ReadRIFObject();
                    break;

                case MemberName.AggregateDef:
                {
                    int id2 = reader.ReadInt32();
                    m_aggregateDef = (DataAggregateInfo)scalabilityCache.FetchStaticReference(id2);
                    break;
                }

                case MemberName.ReportRuntime:
                {
                    int id = reader.ReadInt32();
                    m_reportRT = (Microsoft.ReportingServices.RdlExpressions.ReportRuntime)scalabilityCache.FetchStaticReference(id);
                    break;
                }

                case MemberName.UsedInExpression:
                    m_usedInExpression = reader.ReadBoolean();
                    break;

                case MemberName.AggregateResult:
                    m_aggregateResult = (DataAggregateObjResult)reader.ReadRIFObject();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
예제 #10
0
        internal TextRunsImpl(Microsoft.ReportingServices.ReportIntermediateFormat.Paragraph paragraphDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, IErrorContext iErrorContext, IScope scope)
        {
            m_textBoxDef    = paragraphDef.TextBox;
            m_paragraphDef  = paragraphDef;
            m_reportRT      = reportRT;
            m_iErrorContext = iErrorContext;
            m_scope         = scope;
            List <Microsoft.ReportingServices.ReportIntermediateFormat.TextRun> textRuns = m_paragraphDef.TextRuns;

            if (textRuns != null)
            {
                m_textRuns = new TextRunImpl[textRuns.Count];
            }
            else
            {
                m_textRuns = new TextRunImpl[0];
            }
        }
예제 #11
0
 internal Microsoft.ReportingServices.RdlExpressions.VariantResult EvaluatePrimaryKeyExpr(Microsoft.ReportingServices.RdlExpressions.ReportRuntime runtime)
 {
     return(runtime.EvaluateJoinConditionPrimaryKeyExpression(this));
 }
예제 #12
0
        internal Microsoft.ReportingServices.RdlExpressions.VariantResult[] EvaluateJoinConditionKeys(bool evaluatePrimaryKeys, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRuntime)
        {
            int joinConditionCount = JoinConditionCount;

            if (joinConditionCount == 0)
            {
                return(null);
            }
            Microsoft.ReportingServices.RdlExpressions.VariantResult[] array = new Microsoft.ReportingServices.RdlExpressions.VariantResult[joinConditionCount];
            for (int i = 0; i < joinConditionCount; i++)
            {
                if (evaluatePrimaryKeys)
                {
                    array[i] = m_joinConditions[i].EvaluatePrimaryKeyExpr(reportRuntime);
                }
                else
                {
                    array[i] = m_joinConditions[i].EvaluateForeignKeyExpr(reportRuntime);
                }
            }
            return(array);
        }
예제 #13
0
 internal TextBoxImpl(Microsoft.ReportingServices.ReportIntermediateFormat.TextBox itemDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, IErrorContext iErrorContext)
     : base(itemDef, reportRT, iErrorContext)
 {
     m_textBox    = itemDef;
     m_paragraphs = new ParagraphsImpl(m_textBox, m_reportRT, m_iErrorContext, m_scope);
 }
 internal CalculatedFieldWrapperImpl(Microsoft.ReportingServices.ReportIntermediateFormat.Field fieldDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT)
 {
     m_fieldDef      = fieldDef;
     m_reportRT      = reportRT;
     m_iErrorContext = reportRT;
 }
예제 #15
0
 internal ParagraphImpl(Microsoft.ReportingServices.ReportIntermediateFormat.Paragraph paragraphDef, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRT, IErrorContext iErrorContext, IScope scope)
 {
     m_textRuns = new TextRunsImpl(paragraphDef, reportRT, iErrorContext, scope);
 }
예제 #16
0
 internal LookupImpl(LookupInfo lookupInfo, Microsoft.ReportingServices.RdlExpressions.ReportRuntime reportRuntime)
 {
     m_lookupInfo    = lookupInfo;
     m_reportRuntime = reportRuntime;
 }
예제 #17
0
 internal Microsoft.ReportingServices.RdlExpressions.VariantResult EvaluateResultExpr(Microsoft.ReportingServices.RdlExpressions.ReportRuntime runtime)
 {
     return(runtime.EvaluateLookupResultExpression(this));
 }