public void SetMultiComplexFieldValues(string fieldId, List <ComplexValue> complexValueList) { MultiComplexField field = new MultiComplexField(); field.Id = fieldId; field.SetComplexValues(complexValueList); this.fieldMap[fieldId] = field; }
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()); }
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); }
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); }