Beispiel #1
0
        public DependGroup AddDependGroup(string fieldId, string value)
        {
            DependGroup   dependGroup   = new DependGroup();
            DependExpress dependExpress = dependGroup.AddDependExpress();

            dependExpress.FieldId = fieldId;
            dependExpress.Value   = value;
            this.SetDependGroup(dependGroup);
            return(dependGroup);
        }
Beispiel #2
0
        /**
         * xml Element to DependGroup
         * @param dependGroupEle
         * @param fieldId
         * @return
         * @throws TopSchemaException
         */

        private static DependGroup ElementToDependGroup(XmlElement dependGroupEle, string fieldId)
        {
            if (dependGroupEle == null)
            {
                return(null);
            }
            String dependGroupOperator = XmlUtils.GetAttributeValue(dependGroupEle, "operator");

            if (StringUtil.IsEmpty(dependGroupOperator))
            {
                dependGroupOperator = "and";
            }

            DependGroup dg_result = new DependGroup();

            dg_result.Operators = dependGroupOperator;

            List <XmlElement> deEleList = XmlUtils.GetChildElements(dependGroupEle, "depend-express");

            foreach (XmlElement deEle in deEleList)
            {
                DependExpress de        = new DependExpress();
                String        deFieldId = XmlUtils.GetAttributeValue(deEle, "fieldId");
                String        deValue   = XmlUtils.GetAttributeValue(deEle, "value");
                String        deSymbol  = XmlUtils.GetAttributeValue(deEle, "symbol");
                de.FieldId = deFieldId;
                de.Value   = deValue;
                de.Symbol  = deSymbol;
                dg_result.Add(de);
            }

            List <XmlElement> dgEleList = XmlUtils.GetChildElements(dependGroupEle, "depend-group");

            foreach (XmlElement dgSubEle in dgEleList)
            {
                DependGroup subGroup = new DependGroup();
                subGroup = ElementToDependGroup(dgSubEle, fieldId);
                dg_result.Add(subGroup);
            }

            return(dg_result);
        }
Beispiel #3
0
        private static Option ElementToOption(XmlElement optionEle, string fieldId)
        {
            Option opResult    = new Option();
            String displayName = XmlUtils.GetAttributeValue(optionEle, "displayName");

            if (StringUtil.IsEmpty(displayName))
            {
                throw new TopSchemaException(TopSchemaErrorCodeEnum.ERROR_CODE_33001, fieldId);
            }
            String value = XmlUtils.GetAttributeValue(optionEle, "value");

            if (StringUtil.IsEmpty(value))
            {
                throw new TopSchemaException(TopSchemaErrorCodeEnum.ERROR_CODE_33002, fieldId);
            }
            opResult.SetDisplayName(displayName);
            opResult.Value = value;

            XmlElement  dependGroupEle = XmlUtils.GetChildElement(optionEle, "depend-group");
            DependGroup dependGroup    = ElementToDependGroup(dependGroupEle, fieldId);

            opResult.SetDependGroup(dependGroup);
            return(opResult);
        }
Beispiel #4
0
        /**
         * xml Element to Rule
         * @param ruleEle
         * @param fieldId
         * @return
         * @throws TopSchemaException
         */
        private static Rule ElementToRule(XmlElement ruleEle, string fieldId)
        {
            if (ruleEle == null)
            {
                return(null);
            }
            String ruleName = XmlUtils.GetAttributeValue(ruleEle, "name");

            if (StringUtil.IsEmpty(ruleName))
            {
                throw new TopSchemaException(TopSchemaErrorCodeEnum.ERROR_CODE_31001, fieldId);
            }
            String ruleValue = XmlUtils.GetAttributeValue(ruleEle, "value");

            if (StringUtil.IsEmpty(ruleValue))
            {
                throw new TopSchemaException(TopSchemaErrorCodeEnum.ERROR_CODE_31002, fieldId);
            }

            Rule         rule     = null;
            RuleTypeEnum ruleEnum = RuleTypeEnumHelper.GetEnum(ruleName);

            if (ruleEnum != RuleTypeEnum.UNKNOWN)
            {
                rule = SchemaFactory.CreateRule(ruleEnum);
            }
            else
            {
                rule = SchemaFactory.CreateCustomRule(ruleName, ruleValue);
            }

            if (ruleName.Equals(RuleTypeEnumHelper.ToType(RuleTypeEnum.TIP_RULE)) && !StringUtil.IsEmpty(ruleValue))
            {
                String url = XmlUtils.GetAttributeValue(ruleEle, "url");
                ((TipRule)rule).Url = url;
            }
            if (ruleName.Equals(RuleTypeEnumHelper.ToType(RuleTypeEnum.DEV_TIP_RULE)) && !StringUtil.IsEmpty(ruleValue))
            {
                String url = XmlUtils.GetAttributeValue(ruleEle, "url");
                ((DevTipRule)rule).Url = url;
            }

            String unit = XmlUtils.GetAttributeValue(ruleEle, "unit");

            if (ruleName.Equals(RuleTypeEnumHelper.ToType(RuleTypeEnum.MAX_TARGET_SIZE_RULE)) &&
                !StringUtil.IsEmpty(ruleValue))
            {
                MaxTargetSizeRule mtsRule = (MaxTargetSizeRule)rule;
                mtsRule.Unit = unit;
            }
            else if (ruleName.Equals(RuleTypeEnumHelper.ToType(RuleTypeEnum.MIN_TARGET_SIZE_RULE)) &&
                     !StringUtil.IsEmpty(ruleValue))
            {
                MinTargetSizeRule misRule = (MinTargetSizeRule)rule;
                misRule.Unit = unit;
            }

            String exProperty = XmlUtils.GetAttributeValue(ruleEle, "exProperty");

            if (!StringUtil.IsEmpty(exProperty))
            {
                rule.ExProperty = exProperty;
            }
            rule.Value = ruleValue;
            XmlElement  dependGroupEle = XmlUtils.GetChildElement(ruleEle, "depend-group");
            DependGroup dependGroup    = ElementToDependGroup(dependGroupEle, fieldId);

            rule.DependGroup = dependGroup;
            return(rule);
        }
Beispiel #5
0
 public void SetDependGroup(DependGroup dependGroup)
 {
     this.dependGroup = dependGroup;
 }