private void connectScaleReader(IUnitOfWork dp) { //try connect to serial port var scalePort = dp.SettingsRepository.GetSettingWithDefault(BridgeSettingKeys.SCALE_COM_PORT, ""); var stableWeightSeconds = int.Parse(dp.SettingsRepository.GetSettingWithDefault(BridgeSettingKeys.STABLE_WEIGHT_SECONDS, "5")); if (!string.IsNullOrEmpty(scalePort)) { if (_scaleReader == null) { _scaleReader = new ScalePortReader(scalePort); _scaleReader.Start(); _scaleReader.SetStableWeightSeconds(stableWeightSeconds); } else if (!_scaleReader.IsOpen) { _scaleReader.Start(); } } if (_scaleReader != null && _scaleReader.IsOpen && _lastScaleMessage == null) { ScaleStatus = "CONNECTED"; } else if (_scaleReader == null || !_scaleReader.IsOpen) { ScaleStatus = "DISCONNECTED"; } }
protected virtual void HandleSettingsSavedMessage(SettingsSavedMessage msg) { GinName = msg.GinName; if (_scaleReader != null) { _scaleReader.Stop(); _scaleReader.Dispose(); _scaleReader = null; } if (_barCodeReader != null) { _barCodeReader.Stop(); _barCodeReader.Dispose(); _barCodeReader = null; } }