Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }