/// <summary> /// Create a new ScalarValue wich will apply scalar operator on specified column /// </summary> /// <param name="entityType1">Type of entity associated to column name 1</param> /// <param name="entityType2">Type of entity associated to column name 2</param> /// <param name="columnName1">First column Name involve</param> /// <param name="columnName2">Second column Name involve</param> /// <param name="scalarOperator">Operator to apply between two field</param> /// <returns>New scalar operation</returns> public IFilter Scalar(Type entityType1, Type entityType2, string columnName1, string columnName2, ScalarOperator scalarOperator) { var leftPart = BuildColumnValue(entityType1, columnName1); var rightPart = BuildColumnValue(entityType2, columnName2); return(Scalar(leftPart, rightPart, scalarOperator)); }
/// <summary> /// Create a new Filter part for a condition in according with specified filter operator /// </summary> /// <param name="leftPart">Left part involve in condition</param> /// <param name="rightPart">Right part involve in condition</param> /// <param name="scalarOperator">Operator to apply between two field</param> /// <returns>Corresponding filter</returns> public IFilter Scalar(IFilter leftPart, IFilter rightPart, ScalarOperator scalarOperator) { switch (scalarOperator) { case ScalarOperator.Subtract: return(SubtractOperation(leftPart, rightPart)); default: throw new NotSupportedException(); } }
/// <summary> /// Create a new ScalarValue wich will apply scalar operator on specified column /// </summary> /// <typeparam name="TEntity1">Type of entity associated to column name 1</typeparam> /// <typeparam name="TEntity2">Type of entity associated to column name 2</typeparam> /// <param name="columnName1">First column Name involve</param> /// <param name="columnName2">Second column Name to compare</param> /// <param name="scalarOperator">Operator to apply between two field</param> /// <returns>New scalar operation</returns> public IFilter Scalar <TEntity1, TEntity2>(string columnName1, string columnName2, ScalarOperator scalarOperator) { return(Scalar(typeof(TEntity1), typeof(TEntity2), columnName1, columnName2, scalarOperator)); }
/// <summary> /// Create a new Filter part for a condition in according with specified filter operator /// </summary> /// <param name="leftPart">Left part involve in condition</param> /// <param name="rightPart">Right part involve in condition</param> /// <param name="scalarOperator">Operator to apply between two field</param> /// <returns>Corresponding filter</returns> public IFilter Scalar(IFilter leftPart, IFilter rightPart, ScalarOperator scalarOperator) { return(FilterFactory.Scalar(leftPart, rightPart, scalarOperator)); }
/// <summary> /// Create a new ScalarValue wich will apply scalar operator on specified column /// </summary> /// <param name="entityType1">Type of entity associated to column name 1</param> /// <param name="entityType2">Type of entity associated to column name 2</param> /// <param name="columnName1">First column Name involve</param> /// <param name="columnName2">Second column Name involve</param> /// <param name="scalarOperator">Operator to apply between two field</param> /// <returns>New scalar operation</returns> public IFilter Scalar(Type entityType1, Type entityType2, string columnName1, string columnName2, ScalarOperator scalarOperator) { return(FilterFactory.Scalar(entityType1, entityType2, columnName1, columnName2, scalarOperator)); }
/// <summary> /// Create a new ScalarValue wich will apply scalar operator on specified column /// </summary> /// <typeparam name="TEntity1">Type of entity associated to column name 1</typeparam> /// <typeparam name="TEntity2">Type of entity associated to column name 2</typeparam> /// <param name="columnName1">First column Name involve</param> /// <param name="columnName2">Second column Name involve</param> /// <param name="scalarOperator">Operator to apply between two field</param> /// <returns>New scalar operation</returns> public IFilter Scalar <TEntity1, TEntity2>(string columnName1, string columnName2, ScalarOperator scalarOperator) { return(FilterFactory.Scalar <TEntity1, TEntity2>(columnName1, columnName2, scalarOperator)); }