void ActivateCommandExecute(object sender) { if (_pedal != null && _pedal.IsConnected) { PortModels.ForEach(pm => pm.Connected = false); _pedal.Disconnect(); IsConnected = false; } try { _pedal.Connect(sender.ToString()); var model = PortModels.FirstOrDefault(pm => pm.Name.Equals(sender.ToString(), StringComparison.OrdinalIgnoreCase)); if (model != null) { model.Connected = true; } IsConnected = true; } catch (PedalException ex) { _dialogService.ShowError(ex.InnerException.Message); PortModels.ForEach(pm => pm.Connected = false); IsConnected = false; } }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _pedal?.Disconnect(); } disposedValue = true; } }