public DeviceParameterViewModel(GKDevice device) { Device = device; DeviceViewModel = new DeviceViewModel(device); AUParameterValues = new ObservableCollection<MeasureParameterViewModel>(); foreach (var measureParameter in device.Driver.MeasureParameters.Where(x => !x.IsNotVisible)) { var measureParameterViewModel = new MeasureParameterViewModel(); measureParameterViewModel.Device = device; measureParameterViewModel.Name = measureParameter.Name; measureParameterViewModel.DriverParameter = measureParameter; AUParameterValues.Add(measureParameterViewModel); } device.State.MeasureParametersChanged += new Action(OnMeasureParametersChanged); }
void StartMeasureParametersMonitoring() { MeasureParameters = new ObservableCollection<MeasureParameterViewModel>(); foreach (var measureParameter in Device.Driver.MeasureParameters) { var measureParameterViewModel = new MeasureParameterViewModel() { Name = measureParameter.Name, IsDelay = measureParameter.IsDelay }; MeasureParameters.Add(measureParameterViewModel); } BackgroundWorker = new BackgroundWorker(); BackgroundWorker.DoWork += new DoWorkEventHandler(UpdateMeasureParameters); BackgroundWorker.RunWorkerAsync(); }
public void OnNewAUParameterValue(MeasureParameterViewModel value) { Dispatcher.BeginInvoke(new Action(() => { var auParameterValue = AUParameterValues.FirstOrDefault(x => x.Name == value.Name); if (auParameterValue == null) { auParameterValue = value; AUParameterValues.Add(auParameterValue); } auParameterValue.Value = value.Value; auParameterValue.StringValue = value.StringValue; OnPropertyChanged("AUParameterValues"); })); }
void OnMeasureParametersChanged() { MeasureParameters = new ObservableCollection<MeasureParameterViewModel>(); foreach (var measureParameter in Device.State.XMeasureParameterValues) { if (Device.Driver.MeasureParameters.Any(x => x.Name == measureParameter.Name && x.IsNotVisible)) continue; var measureParameterViewModel = new MeasureParameterViewModel() { Name = measureParameter.Name, StringValue = measureParameter.StringValue }; MeasureParameters.Add(measureParameterViewModel); SelectedMeasureParameter = _measureParameters.FirstOrDefault(x => x.Name == _savedSelectedMeasureParameterName); } }
void ParameterUpdateHelper_NewAUParameterValue(MeasureParameterViewModel auParameterValue) { var deviceParameterViewModel = Devices.FirstOrDefault(x => x.Device.UID == auParameterValue.Device.UID); if (deviceParameterViewModel != null) { deviceParameterViewModel.OnNewAUParameterValue(auParameterValue); switch (auParameterValue.DriverParameter.InternalName) { case "Smokiness": deviceParameterViewModel.Smokiness = auParameterValue.StringValue; break; case "Temperature": deviceParameterViewModel.Temperature = auParameterValue.StringValue; break; case "Dustinness": deviceParameterViewModel.Dustinness = auParameterValue.StringValue; break; case "LastServiceTime": deviceParameterViewModel.LastServiceTime = auParameterValue.StringValue; break; case "Resistance": deviceParameterViewModel.Resistance = auParameterValue.StringValue; break; } } }