예제 #1
0
        private IList GetValues(DataRow row)
        {
            IList result;

            if (!string.IsNullOrEmpty(this.GroupColumnName))
            {
                result = (row[this.GroupColumnName] as IList);
            }
            else
            {
                result = (ExpressionCalculator.CalculateLambdaExpression(this.groupColumnExpression, typeof(IList), row, null) as IList);
            }
            return(result);
        }
        public bool IsRunnable(AbstractDataTableFiller filler)
        {
            bool   flag = true;
            string runnableLambdaExpression = this.GetRunnableLambdaExpression(filler);

            if (!string.IsNullOrEmpty(runnableLambdaExpression))
            {
                ColumnExpression expression = ExpressionCalculator.BuildColumnExpression(runnableLambdaExpression);
                flag = (bool)ExpressionCalculator.CalculateLambdaExpression(expression, typeof(bool), null, this.InputTable.Rows[0]);
            }
            if (flag && this.IsResolving)
            {
                flag = (this.PipelineObjects != null && this.PipelineObjects.Length > 0);
            }
            return(flag);
        }
예제 #3
0
 public static object CalculateLambdaExpression(ColumnExpression expression, Type dataType, DataRow dataRow, DataRow inputRow)
 {
     return(ExpressionCalculator.CalculateLambdaExpression(expression, dataType, null, dataRow, inputRow));
 }
예제 #4
0
        private IList <KeyValuePair <string, object> > CalculateCore(DataRow dataRow, DataRow inputRow, IList <ColumnExpression> query)
        {
            List <KeyValuePair <string, object> > list = new List <KeyValuePair <string, object> >();

            foreach (ColumnExpression columnExpression in query)
            {
                list.Add(new KeyValuePair <string, object>(columnExpression.ResultColumn, ExpressionCalculator.CalculateLambdaExpression(columnExpression, this.GetColumnRealDataType(dataRow.Table.Columns[columnExpression.ResultColumn]), dataRow, inputRow)));
            }
            return(list);
        }