using DTS.Common.Enums; using DTS.Common.Enums.Sensors; using DTS.Common.Interface.Sensors; namespace DTS.SensorDB { /// /// this class handles the updating the default squib settings /// public sealed class DigitalOutputDefaults : DTS.Common.Base.BasePropertyChanged, IDigitalOutDefaults { private ISensorData _defaultOut; public DigitalOutputModes OutputMode { get => _defaultOut.DigitalOutputMode; set => _defaultOut.DigitalOutputMode = value; } private static DigitalOutputModes[] _outputModes = new DigitalOutputModes[] { DigitalOutputModes.CCNC, DigitalOutputModes.CCNO, DigitalOutputModes.FVHL, DigitalOutputModes.FVLH }; public DigitalOutputModes[] AvailableModes { get => _outputModes; } public double DelayMS { get => _defaultOut.DigitalOutputDelayMS; set => _defaultOut.DigitalOutputDelayMS = value; } public bool LimitDuration { get => _defaultOut.DigitalOutputLimitDuration; set { _defaultOut.DigitalOutputLimitDuration = value; OnPropertyChanged("LimitDuration"); } } public double DurationMS { get => _defaultOut.DigitalOutputDurationMS; set => _defaultOut.DigitalOutputDurationMS = value; } public static void CommitChange(DigitalOutputDefaults settingDefaults, string user) { DTS.SensorDB.SensorsCollection.SensorsList.Commit(user, (DTS.SensorDB.SensorData)settingDefaults._defaultOut, false); } public static DigitalOutputDefaults GetDigitalOutDefault(string user) { var sd = DTS.SensorDB.SensorsCollection.SensorsList.GetSensorBySerialNumber(SensorConstants.TEST_SPECIFIC_DIGITAL_OUT_SERIAL); return new DigitalOutputDefaults(sd); } private DigitalOutputDefaults(ISensorData defaultOut) { _defaultOut = defaultOut; } } }