public async Task <CommandResult> Execute(IEnumerable <string> parameters) { _log.Verbose("Received play command."); if (parameters.Any() && Int32.TryParse(parameters.First(), out int id)) { var station = await _stationProvider.Search(id); if (station == null) { _output("No station with provided ID"); _log.Error("There is no station with selected ID."); return(CommandResult.Error); } var link = station.Uri.First().ToString(); _radio.Stop(); _radio.Play(link); await UpdateConfiguration(link); } else { var configuration = await _configurationProvider.Load(); _radio.Play(configuration.DefaultLink); } return(CommandResult.OK); }
public Task <CommandResult> Execute(IEnumerable <string> parameters) { _log.Verbose("Received stop command."); _radio.Stop(); return(Task.FromResult(CommandResult.Exit)); }