public DeviceCommandsViewModel(GKDevice device) { Device = device; DeviceState.StateChanged -= new System.Action(OnStateChanged); DeviceState.StateChanged += new System.Action(OnStateChanged); SetAutomaticStateCommand = new RelayCommand(OnSetAutomaticState, CanSetAutomaticState); SetManualStateCommand = new RelayCommand(OnSetManualState, CanSetManualState); SetIgnoreStateCommand = new RelayCommand(OnSetIgnoreState, CanSetIgnoreState); On2Command = new RelayCommand(OnOn2); ResetCommand = new RelayCommand(OnReset, CanReset); DeviceExecutableCommands = new ObservableCollection<DeviceExecutableCommandViewModel>(); foreach (var availableCommand in Device.Driver.AvailableCommandBits) { var deviceExecutableCommandViewModel = new DeviceExecutableCommandViewModel(Device, availableCommand); DeviceExecutableCommands.Add(deviceExecutableCommandViewModel); } if (Device.DriverType == GKDriverType.RSR2_Valve_DU || Device.DriverType == GKDriverType.RSR2_Valve_KV || Device.DriverType == GKDriverType.RSR2_Valve_KVMV) { Device.State.MeasureParametersChanged += new Action(() => { OnPropertyChanged(() => IsControlRegime); }); } }
public DeviceCommandsViewModel(XDevice device) { Device = device; DeviceState.StateChanged -= new System.Action(OnStateChanged); DeviceState.StateChanged += new System.Action(OnStateChanged); SetAutomaticStateCommand = new RelayCommand(OnSetAutomaticState, CanSetAutomaticState); SetManualStateCommand = new RelayCommand(OnSetManualState, CanSetManualState); SetIgnoreStateCommand = new RelayCommand(OnSetIgnoreState, CanSetIgnoreState); ResetCommand = new RelayCommand(OnReset, CanReset); ExecuteMROCommand = new RelayCommand(OnExecuteMRO); DeviceExecutableCommands = new ObservableCollection<DeviceExecutableCommandViewModel>(); foreach (var availableCommand in Device.Driver.AvailableCommandBits) { var deviceExecutableCommandViewModel = new DeviceExecutableCommandViewModel(Device, availableCommand); DeviceExecutableCommands.Add(deviceExecutableCommandViewModel); } if (Device.DriverType == XDriverType.JockeyPump) { var deviceExecutableCommandViewModel = new DeviceExecutableCommandViewModel(Device, XStateBit.ForbidStart_InManual); DeviceExecutableCommands.Add(deviceExecutableCommandViewModel); } }