/// <summary> /// Checks the value matches value condition. /// </summary> /// <param name="firstValue"> /// The first value. /// </param> /// <param name="secondValue"> /// The second value. /// </param> /// <param name="conditionOperator"> /// The condition operator. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool CheckValueMatchesValueCondition( string firstValue, string secondValue, UPConditionOperator conditionOperator) { var result = this.CompareValueWithValue(firstValue, secondValue); switch (conditionOperator) { case UPConditionOperator.Equal: return(result == 0); case UPConditionOperator.NotEqual: return(result != 0); case UPConditionOperator.GreaterEqual: return(result != -1); case UPConditionOperator.Greater: return(result == 1); case UPConditionOperator.Less: return(result == -1); case UPConditionOperator.LessEqual: return(result != 1); default: return(false); } }
/// <summary> /// Initializes a new instance of the <see cref="UPCRMResultFieldCondition"/> class. /// </summary> /// <param name="field"> /// The field. /// </param> /// <param name="condition"> /// The condition. /// </param> /// <param name="fieldValue"> /// The field value. /// </param> /// <param name="resultPosition"> /// The result position. /// </param> public UPCRMResultFieldCondition( UPCRMField field, UPConditionOperator condition, string fieldValue, int resultPosition) { this.Field = field; this.ResultPosition = resultPosition; this.FieldValue = fieldValue; this.Condition = condition; }
/// <summary> /// Results for value. /// </summary> /// <param name="value"> /// The value. /// </param> /// <param name="compare"> /// The compare. /// </param> /// <param name="_fieldValue"> /// The _field value. /// </param> /// <param name="_toFieldValue"> /// The _to field value. /// </param> /// <param name="numericEmptyCheck"> /// if set to <c>true</c> [numeric empty check]. /// </param> /// <param name="boolEmptyCheck"> /// if set to <c>true</c> [bool empty check]. /// </param> /// <param name="emptyFieldValue"> /// if set to <c>true</c> [empty field value]. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public static bool ResultForValue( string value, UPConditionOperator compare, string _fieldValue, string _toFieldValue, bool numericEmptyCheck, bool boolEmptyCheck, bool emptyFieldValue) { var result = 0; if (emptyFieldValue) { if (string.IsNullOrEmpty(value)) { result = 0; } else if (numericEmptyCheck) { var intValue = int.Parse(value); if (intValue == 0) { result = 0; } else if (intValue > 0) { result = 1; } else { result = -1; } } else if (boolEmptyCheck && value == "false") { result = 0; } else { result = 1; } } else if (compare == UPConditionOperator.Like) { return(LikeResultForValuePattern(value, _fieldValue)); } else { result = value.CompareTo(_fieldValue); } switch (compare) { case UPConditionOperator.Equal: return(result == 0); case UPConditionOperator.NotEqual: return(result != 0); case UPConditionOperator.GreaterEqual: return(result != -1); case UPConditionOperator.Greater: return(result == 1); case UPConditionOperator.Less: return(result == -1); case UPConditionOperator.LessEqual: return(result != 1); default: return(false); } }