public virtual void AddFieldInstructionConverter(FieldInstructionConverter converter) { Group[] templateExchangeTemplates = converter.TemplateExchangeTemplates; for (int i = 0; i < templateExchangeTemplates.Length; i++) { converterTemplateMap[templateExchangeTemplates[i]] = converter; } converters.Add(converter); }
public static Message Convert(Group group, Message groupMsg, ConversionContext context) { SetNameAndId(group, groupMsg); var instructions = new SequenceValue(SessionControlProtocol_1_1.TEMPLATE_DEFINITION.GetSequence("Instructions")); int i = group is MessageTemplate?1:0; Field[] fields = group.FieldDefinitions; for (; i < fields.Length; i++) { Field field = fields[i]; FieldInstructionConverter converter = context.GetConverter(field); if (converter == null) { throw new System.SystemException("No converter found for type " + field.GetType()); } FieldValue value_Renamed = converter.Convert(field, context); instructions.Add(new[] { value_Renamed }); } groupMsg.SetFieldValue("Instructions", instructions); return(groupMsg); }