Ejemplo n.º 1
0
        private static Condition GetBaseConditionInfo(BaseConditionItem conditionItem)
        {
            if (conditionItem == null)
            {
                return(null);
            }

            var condition = new Condition
            {
                Name       = conditionItem.Name,
                Pattern    = conditionItem.Pattern.Value,
                IgnoreCase = conditionItem.IgnoreCase.Checked
            };

            var checkIfInputStringItem = conditionItem.CheckIfInputString.TargetItem;
            CheckIfInputString?checkIfInputStringType = null;

            if (checkIfInputStringItem != null)
            {
                switch (checkIfInputStringItem.ID.ToString())
                {
                case Constants.CheckIfInputStringType_IsAFile_ItemId:
                    checkIfInputStringType = CheckIfInputString.IsAFile;
                    break;

                case Constants.CheckIfInputStringType_IsNotAFile_ItemId:
                    checkIfInputStringType = CheckIfInputString.IsNotAFile;
                    break;

                case Constants.CheckIfInputStringType_IsADirectory_ItemId:
                    checkIfInputStringType = CheckIfInputString.IsADirectory;
                    break;

                case Constants.CheckIfInputStringType_IsNotADirectory_ItemId:
                    checkIfInputStringType = CheckIfInputString.IsNotADirctory;
                    break;

                case Constants.CheckIfInputStringType_MatchesThePattern_ItemId:
                    checkIfInputStringType = CheckIfInputString.MatchesThePattern;
                    break;

                case Constants.CheckIfInputStringType_DoesNotMatchThePattern_ItemId:
                    checkIfInputStringType = CheckIfInputString.DoesNotMatchThePattern;
                    break;

                default:
                    break;
                }
            }
            condition.CheckIfInputString = checkIfInputStringType;

            return(condition);
        }
Ejemplo n.º 2
0
        public static Condition ToCondition(this BaseConditionItem baseConditionItem)
        {
            var condition = GetBaseConditionInfo(baseConditionItem);

            if (condition == null)
            {
                return(null);
            }

            var baseConditionItemTemplateId = baseConditionItem.InnerItem.TemplateID;

            if (baseConditionItemTemplateId.Equals(new ID(ConditionItem.TemplateId)))
            {
                var    conditionInputItem = new ConditionItem(baseConditionItem).ConditionInputType.TargetItem;
                Tokens?conditionInputType = null;

                if (conditionInputItem != null)
                {
                    switch (conditionInputItem.ID.ToString())
                    {
                    case Constants.ConditionInputType_QueryString_ItemId:
                        conditionInputType = Tokens.QUERY_STRING;
                        break;

                    case Constants.ConditionInputType_HttpHost_ItemId:
                        conditionInputType = Tokens.HTTP_HOST;
                        break;

                    case Constants.ConditionInputType_Https_ItemId:
                        conditionInputType = Tokens.HTTPS;
                        break;

                    default:
                        break;
                    }
                }

                condition.InputString = string.Format("{{{0}}}", conditionInputType);
            }
            else if (baseConditionItemTemplateId.Equals(new ID(ConditionAdvancedItem.TemplateId)))
            {
                condition.InputString = new ConditionAdvancedItem(baseConditionItem).ConditionInputString.Value;
            }

            return(condition);
        }