Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
                }
            }
        }