public ComPortInterrogationViewModel(Func <IDeviceDefinitionViewModel> deviceDefinitionCreator, IDevicesContainerService devicesContainerService, IModbusRtuConnection modbusRtuConnection, IComConnectionManager comConnectionManager, IConnectionService connectionService, IFlyoutService flyoutService) { _deviceDefinitionCreator = deviceDefinitionCreator; _devicesContainerService = devicesContainerService; _modbusRtuConnection = modbusRtuConnection; _comConnectionManager = comConnectionManager; this._connectionService = connectionService; _flyoutService = flyoutService; InterrogateCommand = new RelayCommand(OnInterrogateExecute); DeviceDefinitionViewModels = new ObservableCollection <IDeviceDefinitionViewModel>(); SlaveId = 1; IsInterrogationNotInProcess = true; AddDeviceCommand = new RelayCommand <object>(OnAddDeviceExecute, (b) => { if (b is IDeviceDefinitionViewModel deviceDefinitionViewModel) { if (deviceDefinitionViewModel.IsAddedToProject) { return(false); } } return(IsInterrogationNotInProcess); }); StopInterrogationCommand = new RelayCommand(OnStopInterrogationExecute, (() => !_isInterrogationStopped)); }
public object Clone() { IModbusRtuConnection modbusRtuConnection = _container.Resolve <IModbusRtuConnection>(); modbusRtuConnection.ComPortConfiguration = ComPortConfiguration.Clone() as IComPortConfiguration; modbusRtuConnection.PortName = PortName; modbusRtuConnection.SlaveId = SlaveId; return(modbusRtuConnection); }