Exemple #1
0
        public void SetMultiComplexFieldValues(string fieldId, List <ComplexValue> complexValueList)
        {
            MultiComplexField field = new MultiComplexField();

            field.Id = fieldId;
            field.SetComplexValues(complexValueList);
            this.fieldMap[fieldId] = field;
        }
Exemple #2
0
        public List <ComplexValue> GetComplexFieldValues(string fieldId)
        {
            Field field = this.fieldMap[fieldId];

            if (field == null || !field.Type.Equals(FieldTypeEnum.MULTICOMPLEX))
            {
                return(null);
            }
            MultiComplexField cfield = (MultiComplexField)field;

            return(cfield.GetComplexValues());
        }
Exemple #3
0
        public static Field CreateField(FieldTypeEnum fieldEnum)
        {
            Field field = null;

            switch (fieldEnum)
            {
            case FieldTypeEnum.INPUT:
                field = new InputField();
                break;

            case FieldTypeEnum.MULTIINPUT:
                field = new MultiInputField();
                break;

            case FieldTypeEnum.SINGLECHECK:
                field = new SingleCheckField();
                break;

            case FieldTypeEnum.MULTICHECK:
                field = new MultiCheckField();
                break;

            case FieldTypeEnum.COMPLEX:
                field = new ComplexField();
                break;

            case FieldTypeEnum.MULTICOMPLEX:
                field = new MultiComplexField();
                break;

            case FieldTypeEnum.LABEL:
                field = new LabelField();
                break;
            }
            return(field);
        }
Exemple #4
0
        private static MultiComplexField ElementToMultiComplexField(XmlElement fieldElm, string fieldId,
                                                                    string fieldName)
        {
            if (fieldElm == null)
            {
                return(null);
            }
            MultiComplexField multiComplexField =
                (MultiComplexField)SchemaFactory.CreateField(FieldTypeEnum.MULTICOMPLEX);

            multiComplexField.Id   = fieldId;
            multiComplexField.Name = fieldName;
            XmlElement fieldsEle = XmlUtils.GetChildElement(fieldElm, "fields");

            if (fieldsEle != null)
            {
                List <XmlElement> fieldEleList = XmlUtils.GetChildElements(fieldsEle, "field");
                foreach (XmlElement subFieldEle in fieldEleList)
                {
                    Field fieldFromEle = ElementToField(subFieldEle);
                    multiComplexField.Add(fieldFromEle);
                }
            }
            //rules
            XmlElement rulesEle = XmlUtils.GetChildElement(fieldElm, "rules");

            if (rulesEle != null)
            {
                List <XmlElement> ruleEleList = XmlUtils.GetChildElements(rulesEle, "rule");
                foreach (XmlElement ruleEle in ruleEleList)
                {
                    Rule rule = ElementToRule(ruleEle, multiComplexField.Id);
                    multiComplexField.Add(rule);
                }
            }
            //property
            XmlElement propertiesEle = XmlUtils.GetChildElement(fieldElm, "properties");

            if (propertiesEle != null)
            {
                List <XmlElement> propertyEleList = XmlUtils.GetChildElements(propertiesEle, "property");
                foreach (XmlElement propertyEle in propertyEleList)
                {
                    Property.Property property = ElementToProperty(propertyEle, multiComplexField.Id);
                    multiComplexField.Add(property);
                }
            }
            //default-values
            XmlElement defaultValuesEle = XmlUtils.GetChildElement(fieldElm, "default-values");

            if (defaultValuesEle != null)
            {
                List <XmlElement> defaultComplexValueEle = XmlUtils.GetChildElements(defaultValuesEle,
                                                                                     "default-complex-values");
                foreach (XmlElement dcValue in defaultComplexValueEle)
                {
                    List <XmlElement> defaultValuesSubFieldList = XmlUtils.GetChildElements(dcValue, "field");
                    ComplexValue      defaultCvalue             = new ComplexValue();
                    foreach (XmlElement subFiledValueEle in defaultValuesSubFieldList)
                    {
                        Field field = ElementToField(subFiledValueEle);
                        defaultCvalue.Put(field);
                    }
                    multiComplexField.addDefaultComplexValue(defaultCvalue);
                }
            }
            //multicomplex-values
            List <XmlElement> complexValuesEle = XmlUtils.GetChildElements(fieldElm, "complex-values");

            foreach (XmlElement complexValue in complexValuesEle)
            {
                List <XmlElement> defaultValuesSubFieldList = XmlUtils.GetChildElements(complexValue, "field");
                ComplexValue      cvalue = new ComplexValue();
                foreach (XmlElement subFiledValueEle in defaultValuesSubFieldList)
                {
                    Field field = ElementToField(subFiledValueEle);
                    cvalue.Put(field);
                }
                multiComplexField.AddComplexValue(cvalue);
            }
            return(multiComplexField);
        }