// 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); }
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)); } } }
/// <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; }