private void AddComparisonValue(StringBuilder queryBuilder, Criteria criteria, SearchOptions options) { switch(criteria.Condition) { case SearchCondition.Contains: if (options.IsMappingSearch && options.CaseSensitivity == false) { queryBuilder.Append(".ToUpper().Contains"); queryBuilder.Append("("); queryBuilder.Append(FormattedValue(criteria).ToUpper()); queryBuilder.Append(")"); } else { queryBuilder.Append(".Contains"); queryBuilder.Append("("); queryBuilder.Append(FormattedValue(criteria)); queryBuilder.Append(")"); } break; default: queryBuilder.Append(Operator(criteria.Condition)); queryBuilder.Append(FormattedValue(criteria)); break; } }
private static string FormattedValue(Criteria criteria) { const string Quote = "\""; if (criteria.Condition == SearchCondition.NumericEquals || (criteria.IsNumeric.HasValue && criteria.IsNumeric == true)) { return criteria.ComparisonValue; } return Quote + criteria.ComparisonValue + Quote; }
public void ToStringForStringValue() { var x = new Criteria { Field = "x", Condition = SearchCondition.Equals, ComparisonValue = "fred" }; Assert.AreEqual("x = \"fred\"", x.ToString()); }
public void NonDefaultHashCode() { var x = new Criteria { Field = "x", Condition = SearchCondition.Equals, ComparisonValue = "5", IsNumeric = true }; var y = x.GetHashCode(); }
public void DefaultHashCode() { var x = new Criteria(); var y = x.GetHashCode(); }
public void ToStringForNumericValue() { var x = new Criteria { Field = "x", Condition = SearchCondition.Equals, ComparisonValue = "5", IsNumeric = true }; Assert.AreEqual("x = 5", x.ToString()); }