public virtual string CreateMatching ( string sourceTable, ColumnInfo column, IQueryInfo queryInfo, IList <string> matchValues ) { if ((null != matchValues) && (matchValues.Count != 0)) { MatchBuilder matchBuilder = new MatchBuilder( ); if (column.IsDateTime && matchValues.Count >= 2) { matchBuilder.Column(column).GreaterThanOrEqual( ).Value(matchValues [0]).And( ). Column(column).LessThanOrEqual( ).Value(matchValues [1]); } else { for (int valueIndex = 0; valueIndex < matchValues.Count; valueIndex++) { string stringValue = matchValues[valueIndex]; if (string.IsNullOrWhiteSpace(stringValue)) { continue; } matchBuilder.Column(column); //TODO:?? //if ( queryInfo.) if (queryInfo.ExactMatch) { matchBuilder.Equals( ); } else { matchBuilder.Like( ); } matchBuilder.Value(stringValue); if (valueIndex != matchValues.Count - 1) { matchBuilder.Or( ); } } } return(matchBuilder.Match.ToString( )); } return(""); }