Ejemplo n.º 1
0
        public override void Update(object[] expressions, IErrorContext iErrorContext)
        {
            object obj = expressions[0];

            AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode = DataAggregate.GetTypeCode(obj);
            if (!DataAggregate.IsNull(typeCode))
            {
                if (!DataTypeUtility.IsNumeric(typeCode))
                {
                    iErrorContext.Register(ProcessingErrorCode.rsAggregateOfNonNumericData, Severity.Warning);
                    throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                }
                DataAggregate.ConvertToDoubleOrDecimal(typeCode, obj, out typeCode, out obj);
                if (this.m_expressionType == AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Null)
                {
                    this.m_expressionType = typeCode;
                }
                else if (typeCode != this.m_expressionType)
                {
                    iErrorContext.Register(ProcessingErrorCode.rsAggregateOfMixedDataTypes, Severity.Warning);
                    throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                }
                if (this.m_currentTotal == null)
                {
                    this.m_currentTotalType = typeCode;
                    this.m_currentTotal     = obj;
                }
                else
                {
                    this.m_currentTotal = DataAggregate.Add(this.m_currentTotalType, this.m_currentTotal, typeCode, obj);
                }
            }
        }
Ejemplo n.º 2
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(Max.m_declaration);
            IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache;

            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.ExpressionType:
                    this.m_expressionType = (AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode)reader.ReadEnum();
                    break;

                case MemberName.CurrentMax:
                    this.m_currentMax = reader.ReadVariant();
                    break;

                case MemberName.Comparer:
                {
                    int id = reader.ReadInt32();
                    this.m_comparer = (AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.ProcessingComparer)scalabilityCache.FetchStaticReference(id);
                    break;
                }

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(Sum.m_declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.ExpressionType:
                    this.m_expressionType = (AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode)reader.ReadEnum();
                    break;

                case MemberName.CurrentTotalType:
                    this.m_currentTotalType = (AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode)reader.ReadEnum();
                    break;

                case MemberName.CurrentTotal:
                    this.m_currentTotal = reader.ReadVariant();
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }
Ejemplo n.º 4
0
 public override void Init()
 {
     this.m_currentCount  = 0u;
     this.m_sumOfXType    = AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Null;
     this.m_sumOfX        = null;
     this.m_sumOfXSquared = null;
 }
Ejemplo n.º 5
0
        public override void Update(object[] expressions, IErrorContext iErrorContext)
        {
            object o = expressions[0];

            AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode = DataAggregate.GetTypeCode(o);
            if (!DataAggregate.IsNull(typeCode))
            {
                this.m_currentTotal++;
            }
        }
Ejemplo n.º 6
0
 protected static object Square(AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode xType, object x)
 {
     if (AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Double == xType)
     {
         return((double)x * (double)x);
     }
     if (AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Decimal == xType)
     {
         return((decimal)x * (decimal)x);
     }
     Global.Tracer.Assert(false);
     throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
 }
Ejemplo n.º 7
0
 protected static void ConvertToDoubleOrDecimal(AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode numericType, object numericData, out AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode doubleOrDecimalType, out object doubleOrDecimalData)
 {
     if (AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Decimal == numericType)
     {
         doubleOrDecimalType = AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Decimal;
         doubleOrDecimalData = numericData;
     }
     else
     {
         doubleOrDecimalType = AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Double;
         doubleOrDecimalData = DataTypeUtility.ConvertToDouble(numericType, numericData);
     }
 }
Ejemplo n.º 8
0
        public override void Update(object[] expressions, IErrorContext iErrorContext)
        {
            object obj = expressions[0];

            AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode = DataAggregate.GetTypeCode(obj);
            if (!DataAggregate.IsNull(typeCode))
            {
                if (!DataAggregate.IsVariant(typeCode) || DataTypeUtility.IsSpatial(typeCode))
                {
                    iErrorContext.Register(ProcessingErrorCode.rsInvalidExpressionDataType, Severity.Warning);
                    throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                }
                if (!this.m_distinctValues.ContainsKey(obj))
                {
                    this.m_distinctValues.Add(obj, null);
                }
            }
        }
Ejemplo n.º 9
0
        public override void Update(object[] expressions, IErrorContext iErrorContext)
        {
            object obj = expressions[0];

            AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode = DataAggregate.GetTypeCode(obj);
            if (!DataAggregate.IsNull(typeCode))
            {
                if (!DataAggregate.IsVariant(typeCode) || DataTypeUtility.IsSpatial(typeCode))
                {
                    iErrorContext.Register(ProcessingErrorCode.rsMinMaxOfNonSortableData, Severity.Warning);
                    throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                }
                if (this.m_currentMax == null)
                {
                    this.m_currentMax     = obj;
                    this.m_expressionType = typeCode;
                }
                else
                {
                    bool flag = default(bool);
                    int  num  = this.m_comparer.Compare(this.m_currentMax, obj, false, false, out flag);
                    if (!flag)
                    {
                        if (typeCode != this.m_expressionType)
                        {
                            iErrorContext.Register(ProcessingErrorCode.rsAggregateOfMixedDataTypes, Severity.Warning);
                            throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                        }
                        iErrorContext.Register(ProcessingErrorCode.rsMinMaxOfNonSortableData, Severity.Warning);
                    }
                    else if (num < 0)
                    {
                        this.m_currentMax     = obj;
                        this.m_expressionType = typeCode;
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public override void Update(object[] expressions, IErrorContext iErrorContext)
        {
            object obj = expressions[0];

            AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode = DataAggregate.GetTypeCode(obj);
            if (!DataAggregate.IsNull(typeCode))
            {
                if (!DataTypeUtility.IsSpatial(typeCode))
                {
                    iErrorContext.Register(ProcessingErrorCode.rsUnionOfNonSpatialData, Severity.Warning);
                    throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                }
                if (this.m_expressionType == AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Null)
                {
                    this.m_expressionType = typeCode;
                }
                else if (typeCode != this.m_expressionType)
                {
                    iErrorContext.Register(ProcessingErrorCode.rsUnionOfMixedSpatialTypes, Severity.Warning);
                    throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
                }
                if (this.m_currentUnion == null)
                {
                    this.m_expressionType = typeCode;
                    this.m_currentUnion   = obj;
                }
                //else if (this.m_expressionType == AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.SqlGeometry)
                //{
                //	this.m_currentUnion = ((SqlGeometry)this.m_currentUnion).STUnion((SqlGeometry)obj);
                //}
                //else
                //{
                //	this.m_currentUnion = ((SqlGeography)this.m_currentUnion).STUnion((SqlGeography)obj);
                //}
            }
        }
Ejemplo n.º 11
0
 public override void Init()
 {
     this.m_expressionType = AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Null;
     this.m_currentUnion   = null;
 }
Ejemplo n.º 12
0
 protected static bool IsVariant(AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode)
 {
     return(AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.ByteArray != typeCode);
 }
Ejemplo n.º 13
0
 protected static bool IsNull(AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode typeCode)
 {
     return(AspNetCore.ReportingServices.ReportProcessing.DataAggregate.DataTypeCode.Null == typeCode);
 }