コード例 #1
0
        private IComparableDataItem GetFieldsValues(IEnumerable <FieldInfoPair> fieldPairs, IDataItem item)
        {
            var groupingPair = new GroupingPair();

            foreach (var fieldPair in fieldPairs)
            {
                var value = item.GetValueOrDefault(fieldPair.OutputName, item);
                groupingPair[fieldPair.OutputName] = value;
            }

            return(groupingPair);
        }
コード例 #2
0
        private IDataItem GetComputedValues(IEnumerable <FieldInfoPair> fieldPairs, IGrouping <IComparableDataItem, IDataItem> grouping)
        {
            var groupingPair = new GroupingPair();

            foreach (var fieldPair in fieldPairs)
            {
                if (String.IsNullOrWhiteSpace(fieldPair.FuncName) && String.IsNullOrWhiteSpace(fieldPair.Expression))
                {
                    groupingPair[fieldPair.OutputName] = grouping.Key[fieldPair.OutputName];
                }
                else
                {
                    groupingPair[fieldPair.OutputName] = GetExecFunc(fieldPair.FuncName, fieldPair.Expression, grouping);
                }
            }

            return(groupingPair);
        }