public RegisterRangeViewModel(IModbusAdapterProvider modbusAdapterProvider, RangeModel rangeModel, SlaveViewModel parent, IDirty dirty) : base(dirty) { if (rangeModel == null) throw new ArgumentNullException(nameof(rangeModel)); _parent = parent; _dirty = dirty; _modbusAdapterProvider = modbusAdapterProvider; EditCommand = new RelayCommand(Edit, CanEdit); ReadCommand = new RelayCommand(Read, CanRead); WriteCommand = new RelayCommand(Write, CanWrite); DeleteCommand = new RelayCommand(Delete, CanDelete); PopulateFromModel(rangeModel); }
public SlaveViewModel(IModbusAdapterProvider modbusAdapterProvider, SlaveModel slaveModel, IDirty dirty) { _modbusAdapterProvider = modbusAdapterProvider; _dirty = dirty; if (slaveModel == null) throw new ArgumentNullException(nameof(slaveModel)); Name = slaveModel.Name; SlaveId = slaveModel.SlaveId; AddRegistersCommand = new RelayCommand(AddRegisters, CanAdd); if (slaveModel.Ranges != null) { foreach (var range in slaveModel.Ranges) { var rangeViewModel = new RegisterRangeViewModel(modbusAdapterProvider, range, this, _dirty); _ranges.Add(rangeViewModel); } } RenameCommand = new RelayCommand(Rename, CanRename); }