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); }
public static ExpressionCalculator Parse(DataTable table, string lambdaExpressionKey) { IEnumerable <DataColumn> enumerable = from DataColumn o in table.Columns where o.ExtendedProperties.Contains(lambdaExpressionKey) select o; ExpressionCalculator expressionCalculator = new ExpressionCalculator(); foreach (DataColumn dataColumn in enumerable) { string lambdaExpression = dataColumn.ExtendedProperties[lambdaExpressionKey].ToString(); ColumnExpression columnExpression = ExpressionCalculator.BuildColumnExpression(lambdaExpression); columnExpression.ResultColumn = dataColumn.ColumnName; expressionCalculator.query.Add(columnExpression); } return(expressionCalculator); }