Ejemplo n.º 1
0
        public override SqlString ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery,
                                              IDictionary <string, IFilter> enabledFilters)
        {
            SqlString[] columnNames =
                CriterionUtil.GetColumnNames(_lhsPropertyName, _lhsProjection, criteriaQuery, criteria, enabledFilters);
            SqlString[] otherColumnNames =
                CriterionUtil.GetColumnNames(_rhsPropertyName, _rhsProjection, criteriaQuery, criteria, enabledFilters);

            SqlStringBuilder sb = new SqlStringBuilder();

            if (columnNames.Length > 1)
            {
                sb.Add(StringHelper.OpenParen);
            }
            bool first = true;

            foreach (SqlString sqlString in SqlStringHelper.Add(columnNames, Op, otherColumnNames))
            {
                if (first == false)
                {
                    sb.Add(" and ");
                }
                first = false;
                sb.Add(sqlString);
            }

            if (columnNames.Length > 1)
            {
                sb.Add(StringHelper.ClosedParen);
            }

            return(sb.ToSqlString());
        }