Esempio n. 1
0
        // Static Methods

        /// <summary>
        /// Creates a new monitor settings record from scratch.
        /// </summary>
        /// <returns>The new monitor settings record.</returns>
        public static MonitorSettingsRecord CreateMonitorSettingsRecord()
        {
            Guid   recordTypeTag  = Record.GetTypeAsTag(RecordType.MonitorSettings);
            Record physicalRecord = new Record(recordTypeTag);
            MonitorSettingsRecord monitorSettingsRecord = new MonitorSettingsRecord(physicalRecord);

            DateTime now = DateTime.UtcNow;

            monitorSettingsRecord.Effective      = now;
            monitorSettingsRecord.TimeInstalled  = now;
            monitorSettingsRecord.UseCalibration = false;
            monitorSettingsRecord.UseTransducer  = false;

            CollectionElement bodyElement = physicalRecord.Body.Collection;

            bodyElement.AddElement(new CollectionElement {
                TagOfElement = ChannelSettingsArrayTag
            });

            return(monitorSettingsRecord);
        }
Esempio n. 2
0
        private void ValidateMonitorSettingsRecord(MonitorSettingsRecord monitorSettingsRecord)
        {
            if (!monitorSettingsRecord.PhysicalRecord.Body.Collection.GetElementsByTag(MonitorSettingsRecord.EffectiveTag).Any())
            {
                m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "EffectiveTag", MonitorSettingsRecord.EffectiveTag));
            }

            if (!monitorSettingsRecord.PhysicalRecord.Body.Collection.GetElementsByTag(MonitorSettingsRecord.TimeInstalledTag).Any())
            {
                m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "TimeInstalledTag", MonitorSettingsRecord.TimeInstalledTag));
            }

            if (!monitorSettingsRecord.PhysicalRecord.Body.Collection.GetElementsByTag(MonitorSettingsRecord.UseCalibrationTag).Any())
            {
                m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "UseCalibrationTag", MonitorSettingsRecord.UseCalibrationTag));
            }

            if (!monitorSettingsRecord.PhysicalRecord.Body.Collection.GetElementsByTag(MonitorSettingsRecord.UseTransducerTag).Any())
            {
                m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "UseTransducerTag", MonitorSettingsRecord.UseTransducerTag));
            }

            if (!monitorSettingsRecord.PhysicalRecord.Body.Collection.GetElementsByTag(MonitorSettingsRecord.ChannelSettingsArrayTag).Any())
            {
                m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "ChannelSettingsArrayTag", MonitorSettingsRecord.ChannelSettingsArrayTag));
            }

            if (monitorSettingsRecord.ChannelSettings?.Count == 0)
            {
                m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "OneChannelSettingTag", MonitorSettingsRecord.OneChannelSettingTag));
            }

            foreach (ChannelSetting channelSetting in monitorSettingsRecord.ChannelSettings ?? Enumerable.Empty <ChannelSetting>())
            {
                if (!channelSetting.PhysicalStructure.GetElementsByTag(ChannelDefinition.ChannelDefinitionIndexTag).Any())
                {
                    m_missingTags.Add(new MissingTag(RecordType.MonitorSettings, "ChannelDefinitionIndexTag", ChannelDefinition.ChannelDefinitionIndexTag));
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Creates a new instance of the <see cref="ChannelSetting"/> class.
 /// </summary>
 /// <param name="physicalStructure">The collection element which is the physical structure of the channel setting.</param>
 /// <param name="monitorSettingsRecord">The monitor settings record in which the channel setting resides.</param>
 public ChannelSetting(CollectionElement physicalStructure, MonitorSettingsRecord monitorSettingsRecord)
 {
     PhysicalStructure     = physicalStructure;
     MonitorSettingsRecord = monitorSettingsRecord;
 }