private static void AggregateSum(string basePropertyName, ActionPropertyBag targetAction, ConcurrentDictionary <string, long> childMap) { string fullPropertyname = basePropertyName + ActionPropertyNames.SumConstStrSuffix; if (ShouldAggregateProperty <long>(fullPropertyname, childMap, out long childValue)) { targetAction.Sum(fullPropertyname, childValue); } }
public static void AggregateActions(ActionPropertyBag targetAction, ActionPropertyBag childAction) { targetAction.IncrementCount(); targetAction.Sum(ActionPropertyNames.CountConstStrKey, 1); var childContents = childAction.GetContents(); foreach (string s in GetIntAggregationProperties()) { AggregateMax(s, targetAction, childContents.IntProperties); AggregateMin(s, targetAction, childContents.IntProperties); AggregateSum(s, targetAction, childContents.IntProperties); } foreach (string s in GetInt64AggregationProperties()) { AggregateMax(s, targetAction, childContents.Int64Properties); AggregateMin(s, targetAction, childContents.Int64Properties); AggregateSum(s, targetAction, childContents.Int64Properties); } }