public async Task HandleTvShowRequestAsync(string tvShowName) { var searchedTvShows = await _searcher.SearchTvShowAsync(tvShowName); if (!searchedTvShows.Any()) { await _userInterface.WarnNoTvShowFoundAsync(tvShowName); } else if (searchedTvShows.Count > 1) { var tvShowSelection = await _userInterface.GetTvShowSelectionAsync(searchedTvShows); if (!tvShowSelection.IsCancelled && tvShowSelection.SelectedTvShow.IsSpecified) { var selection = tvShowSelection.SelectedTvShow.Value; await HandleTvShowSelection(selection); } else if (!tvShowSelection.IsCancelled) { await _userInterface.WarnInvalidTvShowSelectionAsync(); } } else if (searchedTvShows.Count == 1) { var selection = searchedTvShows.Single(); await HandleTvShowSelection(selection); } }