private void setData(string dataString, ClassicEncodingSettings settings, Boolean validate, IList <string> fieldNamesInData) { var recs = StringUtils.elements(dataString, settings.isUseVisibleSeparators()); var i = 0; foreach (var el in recs) { if (el.getName() != null) { if (el.getName().Equals(ELEMENT_ID)) { setId(el.getValue()); } else { // This code exists for compatibility reason only var ff = format.getFieldFormat(el.getName()); if (ff != null) { setValue(el.getName(), ff.valueFromEncodedString(el.getValue(), settings, validate), validate); } } } else { if (fieldNamesInData != null && fieldNamesInData.Count > i) { var fieldName = fieldNamesInData[i]; if (getFormat().hasField(fieldName)) { var value = format.getFieldFormat(fieldName).valueFromEncodedString(el.getValue(), settings, validate); setValue(fieldName, value, validate); } } else if (i < format.getFieldCount()) { var value = format.getFieldFormat(i).valueFromEncodedString(el.getValue(), settings, validate); setValue(i, value, validate); } i++; } } }
public string extendMessage(TableFormat other) { if (!Util.equals(getNamingExpression(), other.getNamingExpression())) { return("Different naming expressions: need " + getNamingExpression() + ", found " + other.getNamingExpression()); } foreach (Binding otherBinding in other.getBindings()) { if (!getBindings().Contains(otherBinding)) { return("Different bindings: need " + getBindings() + ", found " + other.getBindings()); } } for (var i = 0; i < other.getFieldCount(); i++) { var otherFormat = other.getFieldFormat(i); var fieldName = other.getFieldName(i); var ownFormat = getFieldFormat(fieldName); if (ownFormat == null) { if (otherFormat.isOptional()) { continue; } return("Required field doesn't exist: " + fieldName); } var fieldExtendMessage = ownFormat.extendMessage(otherFormat); if (fieldExtendMessage != null) { return("Incorrect format of field '" + fieldName + "': " + fieldExtendMessage); } } return(null); }