public void Serialize(IntermediateFormatWriter writer) { writer.RegisterDeclaration(RecordField.m_Declaration); while (writer.NextMember()) { switch (writer.CurrentMember.MemberName) { case MemberName.FieldStatus: writer.WriteEnum((int)this.m_fieldStatus); break; case MemberName.FieldValueSerializable: if (!writer.TryWriteSerializable(this.m_fieldValue)) { this.m_fieldValue = null; writer.WriteNull(); this.m_fieldStatus = DataFieldStatus.UnSupportedDataType; } break; case MemberName.IsAggregateField: writer.Write(this.m_isAggregationField); break; case MemberName.FieldPropertyValues: writer.WriteListOfPrimitives(this.m_fieldPropertyValues); break; default: Global.Tracer.Assert(false); break; } } }
public FieldImpl(ObjectModelImpl reportOM, DataFieldStatus status, string exceptionMessage, AspNetCore.ReportingServices.ReportIntermediateFormat.Field fieldDef) { this.m_reportOM = reportOM; this.m_fieldDef = fieldDef; Global.Tracer.Assert(DataFieldStatus.None != status, "(DataFieldStatus.None != status)"); this.UpdateValue(null, false, status, exceptionMessage); }
public void Update() { if (!this.m_aggregateResult.ErrorOccurred && !this.m_nonAggregateMode) { if (this.m_aggregateDef.ShouldRecordFieldReferences()) { this.m_reportRT.ReportObjectModel.FieldsImpl.ResetFieldsUsedInExpression(); } object[] expressions = default(object[]); DataFieldStatus dataFieldStatus = default(DataFieldStatus); this.m_aggregateResult.ErrorOccurred = this.EvaluateParameters(out expressions, out dataFieldStatus); if (dataFieldStatus != 0) { this.m_aggregateResult.HasCode = true; this.m_aggregateResult.FieldStatus = dataFieldStatus; } if (this.m_aggregateDef.ShouldRecordFieldReferences()) { List <string> list = new List <string>(); this.m_reportRT.ReportObjectModel.FieldsImpl.AddFieldsUsedInExpression(list); this.m_aggregateDef.StoreFieldReferences(this.m_reportRT.ReportObjectModel.OdpContext, list); } if (!this.m_aggregateResult.ErrorOccurred) { try { this.m_aggregator.Update(expressions, this); } catch (ReportProcessingException) { this.m_aggregateResult.ErrorOccurred = true; } } } }
public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(RecordField.m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.FieldStatus: this.m_fieldStatus = (DataFieldStatus)reader.ReadEnum(); break; case MemberName.FieldValue: this.m_fieldValue = reader.ReadVariant(); break; case MemberName.FieldValueSerializable: this.m_fieldValue = reader.ReadSerializable(); break; case MemberName.IsAggregateField: this.m_isAggregationField = reader.ReadBoolean(); break; case MemberName.FieldPropertyValues: this.m_fieldPropertyValues = reader.ReadListOfPrimitives <object>(); break; default: Global.Tracer.Assert(false); break; } } }
public bool EvaluateParameters(out object[] values, out DataFieldStatus fieldStatus) { bool flag = false; fieldStatus = DataFieldStatus.None; values = new object[this.m_aggregateDef.Expressions.Length]; for (int i = 0; i < this.m_aggregateDef.Expressions.Length; i++) { try { AspNetCore.ReportingServices.RdlExpressions.VariantResult variantResult = this.m_reportRT.EvaluateAggregateVariantOrBinaryParamExpr(this.m_aggregateDef, i, this); values[i] = variantResult.Value; flag |= variantResult.ErrorOccurred; if (variantResult.FieldStatus != 0) { fieldStatus = variantResult.FieldStatus; } } catch (ReportProcessingException_MissingAggregateDependency) { if (this.m_aggregateDef.AggregateType == DataAggregateInfo.AggregateTypes.Previous) { values[i] = null; fieldStatus = DataFieldStatus.None; return(false); } Global.Tracer.Assert(false, "Unfulfilled aggregate dependency outside of a previous"); throw; } } return(flag); }
internal FieldImpl(ObjectModelImpl reportOM, DataFieldStatus status, string exceptionMessage, Microsoft.ReportingServices.ReportIntermediateFormat.Field fieldDef) { m_reportOM = reportOM; m_fieldDef = fieldDef; Global.Tracer.Assert(status != DataFieldStatus.None, "(DataFieldStatus.None != status)"); UpdateValue(null, isAggregationField: false, status, exceptionMessage); }
internal VariantResult(bool errorOccurred, object v) { ErrorOccurred = errorOccurred; Value = v; FieldStatus = DataFieldStatus.None; ExceptionMessage = null; }
public VariantResult(bool errorOccurred, object v) { this.ErrorOccurred = errorOccurred; this.Value = v; this.FieldStatus = DataFieldStatus.None; this.ExceptionMessage = null; }
private void PageInit() { this.m_processingContext.ReportObjectModel.GlobalsImpl.SetPageNumbers(base.m_currentPageNumber, base.m_totalPages); this.m_processingContext.ReportObjectModel.ReportItemsImpl = new ReportItemsImpl(); this.m_processingContext.ReportObjectModel.AggregatesImpl = new AggregatesImpl(this.m_processingContext.ReportRuntime); if (this.m_processingContext.ReportRuntime.ReportExprHost != null) { this.m_processingContext.RuntimeInitializeReportItemObjs(this.m_report.ReportItems, true, true); if (this.m_report.PageHeader != null) { if (this.m_processingContext.ReportRuntime.ReportExprHost != null) { this.m_report.PageHeader.SetExprHost(this.m_processingContext.ReportRuntime.ReportExprHost, this.m_processingContext.ReportObjectModel); } this.m_processingContext.RuntimeInitializeReportItemObjs(this.m_report.PageHeader.ReportItems, false, false); } if (this.m_report.PageFooter != null) { if (this.m_processingContext.ReportRuntime.ReportExprHost != null) { this.m_report.PageFooter.SetExprHost(this.m_processingContext.ReportRuntime.ReportExprHost, this.m_processingContext.ReportObjectModel); } this.m_processingContext.RuntimeInitializeReportItemObjs(this.m_report.PageFooter.ReportItems, false, false); } } this.m_aggregates = new AggregatesImpl(this.m_processingContext.ReportRuntime); this.m_aggregatesOverReportItems = new Hashtable(); this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true; if (this.m_report.PageAggregates != null) { for (int i = 0; i < this.m_report.PageAggregates.Count; i++) { DataAggregateInfo dataAggregateInfo = this.m_report.PageAggregates[i]; dataAggregateInfo.ExprHostInitialized = false; DataAggregateObj dataAggregateObj = new DataAggregateObj(dataAggregateInfo, this.m_processingContext); object[] array = default(object[]); DataFieldStatus dataFieldStatus = default(DataFieldStatus); dataAggregateObj.EvaluateParameters(out array, out dataFieldStatus); string specialModeIndex = this.m_processingContext.ReportObjectModel.ReportItemsImpl.GetSpecialModeIndex(); if (specialModeIndex == null) { this.m_aggregates.Add(dataAggregateObj); } else { AggregatesImpl aggregatesImpl = (AggregatesImpl)this.m_aggregatesOverReportItems[specialModeIndex]; if (aggregatesImpl == null) { aggregatesImpl = new AggregatesImpl(this.m_processingContext.ReportRuntime); this.m_aggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl); } aggregatesImpl.Add(dataAggregateObj); } dataAggregateObj.Init(); } } this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = false; }
internal FieldImpl(object value, bool isAggregationField, Microsoft.ReportingServices.ReportProcessing.Field fieldDef) { m_value = value; m_isAggregationField = isAggregationField; m_aggregationFieldChecked = false; m_fieldStatus = DataFieldStatus.None; m_fieldDef = fieldDef; m_usedInExpression = false; }
public FieldImpl(object value, bool isAggregationField, AspNetCore.ReportingServices.ReportProcessing.Field fieldDef) { this.m_value = value; this.m_isAggregationField = isAggregationField; this.m_aggregationFieldChecked = false; this.m_fieldStatus = DataFieldStatus.None; this.m_fieldDef = fieldDef; this.m_usedInExpression = false; }
public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_declaration); IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache; while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.ReportObjectModel: { int id2 = reader.ReadInt32(); m_reportOM = (ObjectModelImpl)scalabilityCache.FetchStaticReference(id2); break; } case MemberName.Value: m_value = reader.ReadVariant(); break; case MemberName.IsAggregateField: m_isAggregationField = reader.ReadBoolean(); break; case MemberName.AggregationFieldChecked: m_aggregationFieldChecked = reader.ReadBoolean(); break; case MemberName.FieldStatus: m_fieldStatus = (DataFieldStatus)reader.ReadEnum(); break; case MemberName.Message: m_exceptionMessage = reader.ReadString(); break; case MemberName.Properties: m_properties = reader.ReadStringObjectHashtable <Hashtable>(); break; case MemberName.FieldDef: { int id = reader.ReadInt32(); m_fieldDef = (Microsoft.ReportingServices.ReportIntermediateFormat.Field)scalabilityCache.FetchStaticReference(id); break; } case MemberName.UsedInExpression: m_usedInExpression = reader.ReadBoolean(); break; default: Global.Tracer.Assert(condition: false); break; } } }
internal void UpdateValue(object value, bool isAggregationField, DataFieldStatus status, string exceptionMessage) { m_value = value; m_isAggregationField = isAggregationField; m_aggregationFieldChecked = false; m_fieldStatus = status; m_exceptionMessage = exceptionMessage; m_usedInExpression = false; m_properties = null; }
internal RecordField(FieldImpl field) { m_fieldStatus = field.FieldStatus; m_properties = field.Properties; if (m_fieldStatus == DataFieldStatus.None) { m_fieldValue = field.Value; m_isAggregationField = field.IsAggregationField; } }
public RecordField(FieldImpl field) { this.m_fieldStatus = field.FieldStatus; this.m_properties = field.Properties; if (this.m_fieldStatus == DataFieldStatus.None) { this.m_fieldValue = field.Value; this.m_isAggregationField = field.IsAggregationField; } }
private void ThrowIfErrorOccurred(string propertyName, bool errorOccurred, DataFieldStatus fieldStatus) { if (errorOccurred) { if (fieldStatus != 0) { throw new ReportProcessingException(ErrorCode.rsFilterFieldError, m_objectType, m_objectName, propertyName, ReportRuntime.GetErrorName(fieldStatus, null)); } throw new ReportProcessingException(ErrorCode.rsFilterEvaluationError, m_objectType, m_objectName, propertyName); } }
public bool ResetCalculatedField() { if (this.m_value == null) { return(false); } this.m_fieldStatus = DataFieldStatus.None; ((CalculatedFieldWrapperImpl)this.m_value).ResetValue(); this.m_usedInExpression = false; return(true); }
internal bool ResetCalculatedField() { if (m_value == null) { return(false); } m_fieldStatus = DataFieldStatus.None; ((CalculatedFieldWrapperImpl)m_value).ResetValue(); m_usedInExpression = false; return(true); }
public FieldImpl(DataFieldStatus status, string exceptionMessage, AspNetCore.ReportingServices.ReportProcessing.Field fieldDef) { this.m_value = null; this.m_isAggregationField = false; this.m_aggregationFieldChecked = false; Global.Tracer.Assert(DataFieldStatus.None != status, "(DataFieldStatus.None != status)"); this.m_fieldStatus = status; this.m_exceptionMessage = exceptionMessage; this.m_fieldDef = fieldDef; this.m_usedInExpression = false; }
internal FieldImpl(DataFieldStatus status, string exceptionMessage, Microsoft.ReportingServices.ReportProcessing.Field fieldDef) { m_value = null; m_isAggregationField = false; m_aggregationFieldChecked = false; Global.Tracer.Assert(status != DataFieldStatus.None, "(DataFieldStatus.None != status)"); m_fieldStatus = status; m_exceptionMessage = exceptionMessage; m_fieldDef = fieldDef; m_usedInExpression = false; }
internal DataAggregateObjResult(DataAggregateObjResult original) { ErrorOccurred = original.ErrorOccurred; HasCode = original.HasCode; Code = original.Code; Severity = original.Severity; FieldStatus = original.FieldStatus; CloneHelperStruct cloneHelperStruct = new CloneHelperStruct(original.Value); Value = cloneHelperStruct.Value; Arguments = original.Arguments; }
public DataAggregateObjResult(DataAggregateObjResult original) { this.ErrorOccurred = original.ErrorOccurred; this.HasCode = original.HasCode; this.Code = original.Code; this.Severity = original.Severity; this.FieldStatus = original.FieldStatus; CloneHelperStruct cloneHelperStruct = new CloneHelperStruct(original.Value); this.Value = cloneHelperStruct.Value; this.Arguments = original.Arguments; }
private void ThrowIfErrorOccurred(string propertyName, bool errorOccurred, DataFieldStatus fieldStatus) { if (errorOccurred) { switch (fieldStatus) { case DataFieldStatus.UnSupportedDataType: throw new ReportProcessingException(string.Format(CultureInfo.CurrentCulture, RPRes.Keys.GetString(ProcessingErrorCode.rsInvalidExpressionDataType.ToString()), m_objectType, m_objectName, propertyName), ErrorCode.rsFilterEvaluationError); default: throw new ReportProcessingException(ErrorCode.rsFilterFieldError, m_objectType, m_objectName, propertyName, Microsoft.ReportingServices.RdlExpressions.ReportRuntime.GetErrorName(fieldStatus, null)); case DataFieldStatus.None: throw new ReportProcessingException(ErrorCode.rsFilterEvaluationError, m_objectType, m_objectName, propertyName); } } }
public RecordField(FieldImpl field, FieldInfo fieldInfo) { this.m_fieldStatus = field.FieldStatus; if (this.m_fieldStatus == DataFieldStatus.None) { this.m_fieldValue = field.Value; this.m_isAggregationField = field.IsAggregationField; } if (fieldInfo != null && 0 < fieldInfo.PropertyCount) { this.m_fieldPropertyValues = new List <object>(fieldInfo.PropertyCount); for (int i = 0; i < fieldInfo.PropertyCount; i++) { object property = field.GetProperty(fieldInfo.PropertyNames[i]); this.m_fieldPropertyValues.Add(property); } } }
public bool EvaluateParameters(out object[] values, out DataFieldStatus fieldStatus) { bool flag = false; fieldStatus = DataFieldStatus.None; values = new object[this.m_aggregateDef.Expressions.Length]; for (int i = 0; i < this.m_aggregateDef.Expressions.Length; i++) { VariantResult variantResult = this.m_reportRT.EvaluateAggregateVariantOrBinaryParamExpr(this.m_aggregateDef, i, this); values[i] = variantResult.Value; flag |= variantResult.ErrorOccurred; if (variantResult.FieldStatus != 0) { fieldStatus = variantResult.FieldStatus; } } return(flag); }
public virtual void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.ErrorOccurred: ErrorOccurred = reader.ReadBoolean(); break; case MemberName.Value: Value = reader.ReadVariant(); break; case MemberName.HasCode: HasCode = reader.ReadBoolean(); break; case MemberName.Code: Code = (ProcessingErrorCode)reader.ReadEnum(); break; case MemberName.Severity: Severity = (Severity)reader.ReadEnum(); break; case MemberName.FieldStatus: FieldStatus = (DataFieldStatus)reader.ReadEnum(); break; case MemberName.Arguments: Arguments = reader.ReadStringArray(); break; default: Global.Tracer.Assert(condition: false); break; } } }
public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(LookupObjResult.m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.LookupTablePartitionID: this.m_lookupTablePartitionId = new ReferenceID(reader.ReadInt64()); break; case MemberName.HasCode: this.m_hasErrorCode = reader.ReadBoolean(); break; case MemberName.Code: this.m_errorCode = (ProcessingErrorCode)reader.ReadEnum(); break; case MemberName.Severity: this.m_errorSeverity = (Severity)reader.ReadEnum(); break; case MemberName.FieldStatus: this.m_dataFieldStatus = (DataFieldStatus)reader.ReadEnum(); break; case MemberName.Arguments: this.m_errorMessageArgs = reader.ReadStringArray(); break; default: Global.Tracer.Assert(false); break; } } }
private void PageInit(ReportSection section) { AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.ObjectModelImpl reportObjectModel = this.m_processingContext.ReportObjectModel; AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl = reportObjectModel.AggregatesImpl; Global.Tracer.Assert(section.BodyItemsForHeadFoot != null, "Missing cached BodyItemsForHeadFoot collection"); Global.Tracer.Assert(section.PageSectionItemsForHeadFoot != null, "Missing cached PageSectionItemsForHeadFoot collection"); section.BodyItemsForHeadFoot.ResetAll(default(AspNetCore.ReportingServices.RdlExpressions.VariantResult)); section.PageSectionItemsForHeadFoot.ResetAll(); reportObjectModel.GlobalsImpl.SetPageNumbers(base.m_currentPageNumber, base.m_totalPages, base.m_currentOverallPageNumber, base.m_overallTotalPages); reportObjectModel.GlobalsImpl.SetPageName(base.m_pageName); AspNetCore.ReportingServices.ReportIntermediateFormat.Report reportDef = base.m_romReport.ReportDef; AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSection sectionDef = section.SectionDef; AspNetCore.ReportingServices.ReportIntermediateFormat.Page page = sectionDef.Page; section.PageAggregatesOverReportItems = new Dictionary<string, AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl>(); this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true; if (page.PageAggregates != null) { for (int i = 0; i < page.PageAggregates.Count; i++) { AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo dataAggregateInfo = page.PageAggregates[i]; aggregatesImpl.Remove(dataAggregateInfo); dataAggregateInfo.ExprHostInitialized = false; AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(dataAggregateInfo, this.m_processingContext); object[] array = default(object[]); DataFieldStatus dataFieldStatus = default(DataFieldStatus); dataAggregateObj.EvaluateParameters(out array, out dataFieldStatus); string specialModeIndex = reportObjectModel.ReportItemsImpl.GetSpecialModeIndex(); if (specialModeIndex == null) { aggregatesImpl.Add(dataAggregateObj); } else { AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl2 = default(AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl); if (!section.PageAggregatesOverReportItems.TryGetValue(specialModeIndex, out aggregatesImpl2)) { aggregatesImpl2 = new AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl(this.m_processingContext); section.PageAggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl2); } aggregatesImpl2.Add(dataAggregateObj); this.m_reportItemToReportSection[specialModeIndex] = section; } dataAggregateObj.Init(); } } reportObjectModel.ReportItemsImpl.SpecialMode = false; AspNetCore.ReportingServices.ReportIntermediateFormat.PageSection rifObject = null; IReportScopeInstance romInstance = null; if (sectionDef.Page.PageHeader != null) { rifObject = sectionDef.Page.PageHeader; romInstance = section.Page.PageHeader.Instance.ReportScopeInstance; section.Page.PageHeader.SetNewContext(); } if (sectionDef.Page.PageFooter != null) { rifObject = sectionDef.Page.PageFooter; romInstance = section.Page.PageFooter.Instance.ReportScopeInstance; section.Page.PageFooter.SetNewContext(); } if (sectionDef != null) { this.m_processingContext.SetupContext(rifObject, romInstance); } }
public ReportProcessingException_FieldError(DataFieldStatus status, string message) : base((message == null) ? "" : message, null) { this.m_status = status; }