コード例 #1
0
        private void AddRule(PossibleMergedEpisode selected, ShowConfiguration si, ListViewItem lastClicked)
        {
            ShowRule sr = selected.GenerateRule();

            si.AddSeasonRule(selected.SeasonNumber, sr);

            lvMergedEpisodes.Items.Remove(lastClicked);
            dupEps.Remove(selected);
        }
コード例 #2
0
        private void olvDuplicates_CellRightClick(object sender, CellRightClickEventArgs e)
        {
            if (e.Model is null)
            {
                return;
            }

            possibleMergedEpisodeRightClickMenu.Items.Clear();
            if (olvDuplicates.SelectedObjects.Count == 1)
            {
                SettingsCheck mlastSelected = (SettingsCheck)e.Model;

                if (mlastSelected is MovieCheck mcheck)
                {
                    MovieConfiguration si = mcheck.Movie;
                    AddRcMenuItem("Force Refresh",
                                  (o, args) => mainUi.ForceMovieRefresh(new List <MovieConfiguration> {
                        si
                    }, false));

                    AddRcMenuItem("Edit Movie", (o, args) => mainUi.EditMovie(si));

                    possibleMergedEpisodeRightClickMenu.Items.Add(new ToolStripSeparator());
                    foreach (string?f in si.Locations)
                    {
                        AddRcMenuItem("Visit " + f, (o, args) => Helpers.OpenFolder(f));
                    }
                }
                else if (mlastSelected is TvShowCheck tcheck)
                {
                    ShowConfiguration si = tcheck.Show;
                    AddRcMenuItem("Force Refresh",
                                  (o, args) => mainUi.ForceRefresh(new List <ShowConfiguration> {
                        si
                    }, false));

                    AddRcMenuItem("Edit TV Show", (o, args) => mainUi.EditShow(si));
                }

                possibleMergedEpisodeRightClickMenu.Items.Add(new ToolStripSeparator());
                AddRcMenuItem("Fix Issue", (o, args) => Remedy(mlastSelected));
            }
            else
            {
                AddRcMenuItem("Fix Issues", (o, args) =>
                {
                    foreach (SettingsCheck?selected in olvDuplicates.SelectedObjects.OfType <SettingsCheck>())
                    {
                        Remedy(selected);
                    }
                    mDoc.SetDirty();
                });
            }
        }
コード例 #3
0
        private void AddToLibrary(int mlastSelectedKey, TVDoc tvDoc)
        {
            switch (media)
            {
            case MediaConfiguration.MediaType.tv:
                ShowConfiguration show = new ShowConfiguration(mlastSelectedKey, TVDoc.ProviderType.TMDB);
                tvDoc.Add(show);
                break;

            case MediaConfiguration.MediaType.movie:
                MovieConfiguration newMovie = new MovieConfiguration(mlastSelectedKey, TVDoc.ProviderType.TMDB);
                tvDoc.Add(newMovie);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
        private void AddRecommendationsFrom(ShowConfiguration arg, Recomendations returnValue)
        {
            if (arg.TmdbCode == 0)
            {
                string?imdb = arg.CachedShow?.Imdb;
                if (!imdb.HasValue())
                {
                    return;
                }

                int?tmdbcode = LookupTvbdIdByImdb(imdb !, false);
                if (!tmdbcode.HasValue)
                {
                    return;
                }

                arg.TmdbCode = tmdbcode.Value;
            }

            Task <SearchContainer <SearchTv> >?related = Client.GetTvShowRecommendationsAsync(arg.TmdbCode);
            Task <SearchContainer <SearchTv> >?similar = Client.GetTvShowSimilarAsync(arg.TmdbCode);

            Task.WaitAll(related, similar);
            if (related.Result != null)
            {
                foreach (var s in related.Result.Results)
                {
                    File(s);
                    returnValue.AddRelated(s.Id, arg);
                }
            }

            if (similar.Result != null)
            {
                foreach (var s in similar.Result.Results)
                {
                    File(s);
                    returnValue.AddSimilar(s.Id, arg);
                }
            }
        }
コード例 #5
0
        public static string WebsiteShowUrl([NotNull] ShowConfiguration si)
        {
            string?value = si.CachedShow?.Slug;

            return(string.IsNullOrWhiteSpace(value) ? WebsiteShowUrl(si.TvdbCode) : WebsiteShowUrl(value));
        }
コード例 #6
0
 protected TvShowCheck(ShowConfiguration show, TVDoc doc) : base(doc)
 {
     Show = show;
 }
コード例 #7
0
 protected TvShowCheck(ShowConfiguration show)
 {
     Show = show;
 }