Example #1
0
        public async Task <IReadOnlyList <SearchedTvShow> > SearchTvShowAsync(string tvShowName)
        {
            IReadOnlyList <SearchedTvShow> searchedTvShows = Array.Empty <SearchedTvShow>();

            if (tvShowName.Trim().ToLower().StartsWith("tvdb"))
            {
                var tvDbIdTextValue = tvShowName.ToLower().Split("tvdb")[1]?.Trim();

                if (int.TryParse(tvDbIdTextValue, out var tvDbId))
                {
                    try
                    {
                        var searchedTvShow = await _searcher.SearchTvShowAsync(tvDbId);

                        searchedTvShows = new List <SearchedTvShow> {
                            searchedTvShow
                        }.Where(x => x != null).ToArray();
                    }
                    catch
                    {
                        searchedTvShows = new List <SearchedTvShow>();
                    }

                    if (!searchedTvShows.Any())
                    {
                        await _userInterface.WarnNoTvShowFoundByTvDbIdAsync(tvDbIdTextValue);
                    }
                }
                else
                {
                    await _userInterface.WarnNoTvShowFoundByTvDbIdAsync(tvDbIdTextValue);
                }
            }
            else
            {
                tvShowName      = tvShowName.Replace(".", " ");
                searchedTvShows = await _searcher.SearchTvShowAsync(tvShowName);

                if (!searchedTvShows.Any())
                {
                    await _userInterface.WarnNoTvShowFoundAsync(tvShowName);
                }
            }

            return(searchedTvShows);
        }
 public async Task SearchTvShowAsync(int tvDbId)
 {
     try
     {
         var searchedTvShow = await _searcher.SearchTvShowAsync(new TvShowRequest(_user, _categoryId), tvDbId);
         await HandleTvShowSelectionAsync(tvDbId);
     }
     catch
     {
         await _userInterface.WarnNoTvShowFoundByTvDbIdAsync(tvDbId);
     }
 }