Example #1
0
            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("");
            }