bool HandleMeasurementValuesChange(MeasurementValuesChanged msg) { measurements.Update(msg); NetworkModel model = this.Model; foreach (KeyValuePair <long, int> dInput in msg.DiscreteInputs) { IdentifiedObject io = model.Get(dInput.Key); Discrete d = io as Discrete; if (d == null) { continue; } if (d.MeasurementType == MeasurementType.SwitchState) { Notify(new ObservableMessage(EObservableMessageType.SwitchStatusChanged)); break; } } Notify(new ObservableMessage(EObservableMessageType.MeasurementValuesChanged)); return(true); }
public void Update(MeasurementValuesChanged message) { foreach (KeyValuePair <long, float> a in message.AnalogInputs) { analogInputs[a.Key] = a.Value; } foreach (KeyValuePair <long, float> a in message.AnalogOutputs) { analogOutputs[a.Key] = a.Value; } foreach (KeyValuePair <long, int> d in message.DiscreteInputs) { discreteInputs[d.Key] = d.Value; } foreach (KeyValuePair <long, int> d in message.DiscreteOutputs) { discreteOutputs[d.Key] = d.Value; } }