private void RecurseAggregates(ExpressionInfo info, XmlNode nodeExpression, string sDataSetUsedByParent)
        {
            DataAggregateInfoList lst = new DataAggregateInfoList();

            if (info.RunningValues != null)
            {
                foreach (RunningValueInfo rvi in info.RunningValues)
                {
                    lst.Add(rvi);
                }
            }

            if (info.Aggregates != null)
            {
                foreach (DataAggregateInfo agg in info.Aggregates)
                {
                    lst.Add(agg);
                }
            }

            foreach (DataAggregateInfo agg in lst)
            {
                if (agg.Scope != null && string.Compare(sDataSetUsedByParent, agg.Scope, true) != 0 && _dataSets.ContainsKey(agg.Scope))
                {
                    _dataSets[agg.Scope].Usages.Add(GetPathForXmlNode(nodeExpression));
                }
                if (agg.Expressions != null)
                {
                    foreach (ExpressionInfo aggSubExpression in agg.Expressions)
                    {
                        RecurseExpressionInfo(aggSubExpression, nodeExpression, sDataSetUsedByParent);
                    }
                }
            }
        }
예제 #2
0
        private void RecurseAggregates(ExpressionInfo info, XmlNode nodeExpression, string sDataSetUsedByParent)
        {
            DataAggregateInfoList lst = new DataAggregateInfoList();
            if (info.RunningValues != null)
            {
                foreach (RunningValueInfo rvi in info.RunningValues)
                {
                    lst.Add(rvi);
                }
            }

            if (info.Aggregates != null)
            {
                foreach (DataAggregateInfo agg in info.Aggregates)
                {
                    lst.Add(agg);
                }
            }

            foreach (DataAggregateInfo agg in lst)
            {
                if (agg.Scope != null && string.Compare(sDataSetUsedByParent, agg.Scope, true) != 0 && _dataSets.ContainsKey(agg.Scope))
                {
                    _dataSets[agg.Scope].Usages.Add(GetPathForXmlNode(nodeExpression));
                }
                if (agg.Expressions != null)
                {
                    foreach (ExpressionInfo aggSubExpression in agg.Expressions)
                    {
                        RecurseExpressionInfo(aggSubExpression, nodeExpression, sDataSetUsedByParent);
                    }
                }
            }
        }