public void Run() { _soundEngine.Play(StationManager.PlayingStation); AvailableActions.PlayerAction playerAction = AvailableActions.PlayerAction.None; do { _displayEngine.Draw(StationManager.Stations); playerAction = Console.ReadKey().ToPlayerAction(); switch (playerAction) { case AvailableActions.PlayerAction.None: break; case AvailableActions.PlayerAction.Quit: break; case AvailableActions.PlayerAction.Add: if (!StationManager.AddStation(_displayEngine.AddStation())) { _displayEngine.ShowMessage(new Message("This station could not be added. Check URL", MessageType.Critical)); } break; case AvailableActions.PlayerAction.VolumeDown: _soundEngine.VolumeDown(); break; case AvailableActions.PlayerAction.VolumeUp: _soundEngine.VolumeUp(); break; case AvailableActions.PlayerAction.Next: _soundEngine.Play(StationManager.Next()); break; case AvailableActions.PlayerAction.Previous: _soundEngine.Play(StationManager.Previous()); break; case AvailableActions.PlayerAction.Pause: _soundEngine.Pause(StationManager.PlayingStation); break; case AvailableActions.PlayerAction.Delete: StationManager.DeleteStation(_displayEngine.DeleteStation(StationManager.Stations)); break; default: break; } } while (playerAction != AvailableActions.PlayerAction.Quit); ApplicationDataHandler.Save(StationManager); }