/// <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); } }
/// <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)); }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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);
/// <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);
/// <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)); }