/// <summary> /// Add a statement to the filter. /// </summary> /// <param name="fieldName">Field name.</param> /// <param name="comparison">Query comparison type.</param> /// <param name="fieldValue">Field value.</param> /// <returns>Filter operator interface.</returns> public static IFilterOperator When(string fieldName, QueryComparison comparison, string fieldValue) // called 1st { var filter = new Filter(); filter.Parts.Add(new Statement(fieldName, comparison, fieldValue)); return(filter); }
private static string GenQueryComparison(QueryComparison comparison) { switch (comparison) { case QueryComparison.Equal: return("="); case QueryComparison.Greater: return(">"); case QueryComparison.Less: return("<"); case QueryComparison.GreaterEqual: return(">="); case QueryComparison.LessEqual: return("<="); case QueryComparison.NotEqual: return("<>"); case QueryComparison.Like: return("like"); default: throw new NotImplementedException(); } }
public ConditionItem(NodeBlock propertys, QueryComparison comparison, NodeBlock value, Type typeAs) : this() { _propertyBlock = propertys; _ValueBlock = value; TypeAs = typeAs; Comparison = comparison; }
public static string ToTableString(QueryComparison qc) { switch (qc) { case QueryComparison.Equal: return(QueryComparisons.Equal); case QueryComparison.NotEqual: return(QueryComparisons.NotEqual); case QueryComparison.GreaterThan: return(QueryComparisons.GreaterThan); case QueryComparison.GreaterThanOrEqual: return(QueryComparisons.GreaterThanOrEqual); case QueryComparison.LessThan: return(QueryComparisons.LessThan); case QueryComparison.LessThanOrEqual: return(QueryComparisons.LessThanOrEqual); default: throw new InvalidOperationException($"Unhandled enum value: {qc}."); } }
public void CanRunExperimentSynchronouslyWithMultipleDataSets() { var queryResult1 = new QueryComparison(); var queryResult2 = new QueryComparison(); var parameterSet1 = new List <ComparisonParameter> { new ComparisonParameter("p1", "1") }; var parameterSet2 = new List <ComparisonParameter> { new ComparisonParameter("p1", "2") }; _comparitorMock.CompareQueryOutputs(new ComparisonInput("q1", "q2", parameterSet1).Equivalent()) .Returns(queryResult1); _comparitorMock.CompareQueryOutputs(new ComparisonInput("q1", "q2", parameterSet2).Equivalent()) .Returns(queryResult2); var results = _experimentRunner.RunExperiment("q1", "q2", new List <ComparisonParameterCollection> { new ComparisonParameterCollection(parameterSet1), new ComparisonParameterCollection(parameterSet2) }); results.QueryComparisons.Count.ShouldEqual(2); results.QueryComparisons[0].ShouldEqual(queryResult1); results.QueryComparisons[1].ShouldEqual(queryResult2); }
public void CanRunExperimentSynchronouslyWithEmptyParameterSets() { var queryResult = new QueryComparison(); _comparitorMock.CompareQueryOutputs(new ComparisonInput("q1", "q2").Equivalent()) .Returns(queryResult); var results = _experimentRunner.RunExperiment("q1", "q2", new List <ComparisonParameterCollection> { new ComparisonParameterCollection() }); results.QueryComparisons.Count.ShouldEqual(1); results.QueryComparisons[0].ShouldEqual(queryResult); }
private static string FormatValue(DbType type, object val, QueryComparison comparison = QueryComparison.Equal) { if (val == null) { return($"null"); } else if (val is string) { val = EscapeQuote(type, (string)val); if (comparison == QueryComparison.Like) { return(QuoteString(type, $"%{val}%")); } else { return(QuoteString(type, $"{val}")); } } else if (val is int || val is long || val is float || val is double || val is decimal) { return($"{val}"); } else if (val is bool) { return($"{val.ToString().ToLower()}"); } else if (val is Enum) { return($"{(int)val}"); } else if (val is DateTime) { return(QuoteString(type, $"{((DateTime)val).ToString("yyyy-MM-dd HH:mm:ss")}")); } else { throw new NotSupportedException("Value Type Not Supported."); } }
/// <summary> /// Initializes a new instance of the <see cref="T:ByteDev.Azure.Cosmos.Table.Model.Statement" /> class. /// </summary> /// <param name="fieldName">Field name.</param> /// <param name="comparison">Query comparison type.</param> /// <param name="fieldValue">Field value.</param> public Statement(string fieldName, QueryComparison comparison, string fieldValue) { FieldName = fieldName; Comparison = comparison; FieldValue = fieldValue; }
/// <summary> /// Add a statement to the filter. /// </summary> /// <param name="fieldName">Field name.</param> /// <param name="comparison">Query comparison type.</param> /// <param name="fieldValue">Field value.</param> /// <returns>IFilterOperator interface.</returns> IFilterOperator IFilterWhen.When(string fieldName, QueryComparison comparison, string fieldValue) // subsequent calls { Parts.Add(new Statement(fieldName, comparison, fieldValue)); return(this); }
/// <summary> /// 查询条件 /// </summary> /// <param name="name">属性名称</param> /// <param name="comparison">比较符</param> /// <param name="value">查询条件值</param> /// <param name="typeAs">强制转换到类型</param> public ConditionItem(string name, QueryComparison comparison, object value, Type typeAs) : this(SetPropertyBlock(name), comparison, SetValueBlock(value), typeAs) { }
/// <summary> /// 查询条件 /// </summary> /// <param name="name">属性名(字段名)</param> /// <param name="comparison">比较符</param> /// <param name="value">查询条件值</param> /// <param name="typeAs">字段的强制数据类型. typeAs 默认=null,即与value 的 type 相同.</param> public ConditionItem(string name, QueryComparison comparison, NodeBlock value, Type typeAs) : this(SetPropertyBlock(name), comparison, value, typeAs) { }
public ConditionItem(ValueItem property, QueryComparison comparison, object value, Type typeAs) : this(SetPropertyBlock(property), comparison, SetValueBlock(value), typeAs) { }
public ConditionItem(ValueItem property, QueryComparison comparison, NodeBlock value, Type typeAs) : this(SetPropertyBlock(property), comparison, value, typeAs) { }
public ConditionItem(NodeBlock propertys, QueryComparison comparison, object value, Type typeAs) : this(propertys, comparison, SetValueBlock(value), typeAs) { }