/// <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;
 }
예제 #3
0
        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");
            }
        }