コード例 #1
0
 /// <summary>
 /// Applies a entry to a measure.
 /// </summary>
 /// <param name="result"></param>
 /// <param name="entry"></param>
 /// <param name="item"></param>
 public override void Apply(IMeasureResult result, IDimensionEntryResult entry, object item)
 {
     if (Selector((TFact)item, entry))
     {
         this.Measure.Apply(result, entry, item);
     }
 }
コード例 #2
0
        /// <summary>
        /// Applies a entry to a measure result.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="entry"></param>
        /// <param name="item"></param>
        public override void Apply(IMeasureResult <TFact> result, IDimensionResult <TFact> entry, TFact item)
        {
            var myResult = (DoubleMeasureResult <TFact>)result ??
                           throw new ArgumentNullException(nameof(result));

            myResult.Set(myResult.DoubleValue + Selector(item, entry));
        }
コード例 #3
0
        /// <summary>
        /// Applies a entry to a measure.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="entry"></param>
        /// <param name="item"></param>
        public override void Apply(IMeasureResult result, IDimensionEntryResult entry, object item)
        {
            var myResult = (IntMeasureResult)result;

            if (Selector((TFact)item, entry))
            {
                myResult.Set(myResult.IntValue + 1);
            }
        }
コード例 #4
0
        /// <summary>
        /// Applies a entry to a measure.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="entry"></param>
        /// <param name="item"></param>
        public override void Apply(IMeasureResult result, IDimensionEntryResult entry, object item)
        {
            var myResult = (TimeSpanMeasureResult)result;
            var v        = Selector((TFact)item, entry);

            if (v > myResult.TimeSpanValue)
            {
                myResult.Set(v);
            }
        }
コード例 #5
0
        /// <summary>
        /// Applies a entry to a measure result.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="entry"></param>
        /// <param name="item"></param>
        public override void Apply(IMeasureResult <TFact> result, IDimensionResult <TFact> entry, TFact item)
        {
            var myResult = (TimeSpanMeasureResult <TFact>)result ??
                           throw new ArgumentNullException(nameof(result));

            var v = Selector(item, entry);

            if (v < myResult.TimeSpanValue)
            {
                myResult.Set(v);
            }
        }
コード例 #6
0
        /// <summary>
        /// Applies a entry to a measure result.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="entry"></param>
        /// <param name="item"></param>
        public override void Apply(IMeasureResult <TFact> result, IDimensionResult <TFact> entry, TFact item)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            if (Selector(item, entry))
            {
                Measure.Apply(result, entry, item);
            }
        }
コード例 #7
0
 /// <summary>
 /// Derived classes should apply a entry to the measure.
 /// </summary>
 /// <param name="result"></param>
 /// <param name="entry"></param>
 /// <param name="item"></param>
 public abstract void Apply(IMeasureResult <TFact> result, IDimensionResult <TFact> entry, TFact item);
コード例 #8
0
 /// <summary>
 /// Derived classes should apply a entry to the measure.
 /// </summary>
 /// <param name="result"></param>
 /// <param name="entry"></param>
 /// <param name="item"></param>
 public abstract void Apply(IMeasureResult result, IDimensionEntryResult entry, object item);
コード例 #9
0
        /// <summary>
        /// Applies a entry to a measure.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="entry"></param>
        /// <param name="item"></param>
        public override void Apply(IMeasureResult result, IDimensionEntryResult entry, object item)
        {
            var myResult = (DecimalMeasureResult)result;

            myResult.Set(myResult.DecimalValue + Selector((TFact)item, entry));
        }