/// <summary> /// Инстанцирует запись для протокола на основе типа /// </summary> /// <returns></returns> public static ProtocolRecord GetProtocolRecord(Session session, ProtocolRecordType type) { var protocolRecord = new ProtocolRecord(session); protocolRecord.Type = type; protocolRecord.Value = type.GetDefaultValue(); // если комплекс, создаем комплекс для значений if (type.Type == TypeEnum.Complex) { CreateComplex(protocolRecord, type); } return(protocolRecord); }
private static void CreateComplex(ProtocolRecord parent, ProtocolRecordType type) { foreach (var protocolRecordType in type._children) { var protocolRecord = new ProtocolRecord(parent.Session) { Type = protocolRecordType }; protocolRecord.Value = protocolRecordType.GetDefaultValue(); parent._children.Add(protocolRecord); if (protocolRecordType.Type == TypeEnum.Complex) { CreateComplex(protocolRecord, protocolRecordType); } } }