/// <summary> /// /// </summary> /// <param name="propertyName">The name of the property to be compared. For example: 'Logical Name'</param> /// <param name="comparisonCondition">The comparison condition code. You can use the ComparisonConditionCodes object to get the appropriate code for your usecase. For example. ComparisonCodes.EndsWith or 'END' .</param> /// <param name="value">The value to be compared against. For example: 'Timestamp' </param> public RuleExpression(string propertyName, ComparisonConditionEnum comparisonCondition, object value, bool caseSensitive = false) { PropertyName = propertyName; ComparisonCondition = ComparisonConditionCodes.GetTextForEnum(comparisonCondition); ExpressionValue = value; CaseSensitive = caseSensitive; }
public RuleExpression(DataStructureProperty property, ComparisonConditionEnum comparisonCondition, object value, bool caseSensitive = false) { switch (property) { case DataStructureProperty.notset: case DataStructureProperty.LogicalName: case DataStructureProperty.PhysicalName: case DataStructureProperty.Definition: case DataStructureProperty.Datatype: case DataStructureProperty.DatatypeName: case DataStructureProperty.DatatypeLength: case DataStructureProperty.TableName: case DataStructureProperty.DatabaseManagementSystem: default: PropertyName = Enum.GetName(typeof(DataStructureProperty), property); break; } ComparisonCondition = ComparisonConditionCodes.GetTextForEnum(comparisonCondition); ExpressionValue = value; CaseSensitive = caseSensitive; }
public static string GetTextForEnum(ComparisonConditionEnum comparisonConditionCode) { switch (comparisonConditionCode) { case ComparisonConditionEnum.EqualTo: return("Is equal to"); case ComparisonConditionEnum.EqualToAny: return("Is equal to any of the following"); case ComparisonConditionEnum.NotEqual: return("Is not equal to"); case ComparisonConditionEnum.NotEqualToAny: return("Is not equal to any of the folllowing"); case ComparisonConditionEnum.Contains: return("Contains"); case ComparisonConditionEnum.ContainsAny: return("Contains any of the following"); case ComparisonConditionEnum.DoesNotContain: return("Does not contain"); case ComparisonConditionEnum.DoesNotContainAny: return("Does not contain any of the following"); case ComparisonConditionEnum.StartsWith: return("Starts with"); case ComparisonConditionEnum.StartWithAny: return("Starts with any of the following"); case ComparisonConditionEnum.EndsWith: return("Ends with"); case ComparisonConditionEnum.EndsWithAny: return("Ends with any of the following"); case ComparisonConditionEnum.DoesNotStartWith: return("Does not start with"); case ComparisonConditionEnum.DoesNotStartWithAny: return("Does not start with any of the following"); case ComparisonConditionEnum.DoesNotEndWith: return("Does not end with"); case ComparisonConditionEnum.DoesNotEndWithAny: return("Does not end with any of the following"); case ComparisonConditionEnum.GreaterThan: return("Is greater than"); case ComparisonConditionEnum.GreaterThanAny: return("Is greater than any of the following"); case ComparisonConditionEnum.GreaterThanOrEqualToAny: return("Is greater than or equal to any of the following"); case ComparisonConditionEnum.LessThan: return("Is less than"); case ComparisonConditionEnum.LessThanAny: return("Is less than any of the following"); case ComparisonConditionEnum.LessThanOrEqualToAny: return("Is less than or equal to any of the following"); default: throw new Exception("Invalid comparison condition code"); } }