Пример #1
0
        public void RefreshEpisodes()
        {
            try
            {
                AnimeSeriesVM animeSeries = (AnimeSeriesVM)this.DataContext;
                if (animeSeries == null)
                {
                    CurrentEpisodes.Clear();
                    return;
                }

                //if (animeSeries.AnimeSeriesID.HasValue && lastAnimeSeriesID == animeSeries.AnimeSeriesID.Value)
                //	return;
                //else
                //	lastAnimeSeriesID = animeSeries.AnimeSeriesID.Value;


                CurrentEpisodes.Clear();

                foreach (AnimeEpisodeVM ep in animeSeries.AllEpisodes)
                {
                    if (ep.EpisodeType != (int)episodeType)
                    {
                        continue;
                    }

                    if (AppSettings.Episodes_WatchedStatus != WatchedStatus.All)
                    {
                        if (AppSettings.Episodes_WatchedStatus == WatchedStatus.Watched && ep.IsWatched == 0)
                        {
                            continue;
                        }
                        if (AppSettings.Episodes_WatchedStatus == WatchedStatus.Unwatched && ep.IsWatched == 1)
                        {
                            continue;
                        }
                    }

                    if (AppSettings.Episodes_Availability != AvailableEpisodeType.All)
                    {
                        if (AppSettings.Episodes_Availability == AvailableEpisodeType.Available && ep.LocalFileCount == 0)
                        {
                            continue;
                        }
                        if (AppSettings.Episodes_Availability == AvailableEpisodeType.NoFiles && ep.LocalFileCount > 0)
                        {
                            continue;
                        }
                    }

                    CurrentEpisodes.Add(ep);
                }

                HighlightEpisode();
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        void workerFiles_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            try
            {
                contracts = e.Result as List <JMMServerBinary.Contract_AnimeEpisode>;
                foreach (JMMServerBinary.Contract_AnimeEpisode ep in contracts)
                {
                    CurrentEpisodes.Add(new AnimeEpisodeVM(ep));
                }
                EpisodeCount = contracts.Count;

                btnRefresh.IsEnabled = true;
                IsLoading            = false;
                this.Cursor          = Cursors.Arrow;
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        void workerFiles_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            try
            {
                contracts = e.Result as List <VM_AnimeEpisode_User>;
                foreach (VM_AnimeEpisode_User ep in contracts)
                {
                    CurrentEpisodes.Add(ep);
                }

                EpisodeCount = contracts.Count;

                btnRefresh.IsEnabled = true;
                IsLoading            = false;
                Cursor = Cursors.Arrow;
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
 void cboSeason_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     // refresh episode list
     try
     {
         CurrentEpisodes.Clear();
         foreach (TvDB_EpisodeVM tvep in TvDetails.TvDBEpisodes)
         {
             if (tvep.SeasonNumber == int.Parse(cboSeason.SelectedItem.ToString()))
             {
                 CurrentEpisodes.Add(tvep);
             }
         }
     }
     catch (Exception ex)
     {
         Utils.ShowErrorMessage(ex);
     }
     finally
     {
         this.Cursor = Cursors.Arrow;
     }
 }
        public void RefreshMultipleFiles()
        {
            if (workerFiles.IsBusy)
            {
                return;
            }

            IsLoading            = true;
            btnRefresh.IsEnabled = false;
            CurrentEpisodes.Clear();
            EpisodeCount = 0;

            StatusMessage = Shoko.Commons.Properties.Resources.Loading;


            MultipleFilesRefreshOptions opt = new MultipleFilesRefreshOptions()
            {
                OnlyFinishedSeries = chkOnlyFinished.IsChecked.Value,
                IgnoreVariations   = chkIgnoreVariations.IsChecked.Value
            };

            workerFiles.RunWorkerAsync(opt);
        }
Пример #6
0
        public void RefreshEpisodes()
        {
            try
            {
                VM_AnimeSeries_User animeSeries = (VM_AnimeSeries_User)DataContext;
                if (animeSeries == null)
                {
                    CurrentEpisodes.Clear();
                    return;
                }

                //if (animeSeries.AnimeSeriesID.HasValue && lastAnimeSeriesID == animeSeries.AnimeSeriesID.Value)
                //	return;
                //else
                //	lastAnimeSeriesID = animeSeries.AnimeSeriesID.Value;


                CurrentEpisodes.Clear();

                foreach (VM_AnimeEpisode_User ep in animeSeries.AllEpisodes)
                {
                    if (ep.EpisodeType != (int)episodeType)
                    {
                        continue;
                    }

                    if (AppSettings.Episodes_WatchedStatus != WatchedStatus.All)
                    {
                        if (AppSettings.Episodes_WatchedStatus == WatchedStatus.Watched && ep.IsWatched == 0)
                        {
                            continue;
                        }
                        if (AppSettings.Episodes_WatchedStatus == WatchedStatus.Unwatched && ep.IsWatched == 1)
                        {
                            continue;
                        }
                    }

                    if (AppSettings.Episodes_Availability != AvailableEpisodeType.All)
                    {
                        if (AppSettings.Episodes_Availability == AvailableEpisodeType.Available && ep.LocalFileCount == 0)
                        {
                            continue;
                        }
                        if (AppSettings.Episodes_Availability == AvailableEpisodeType.NoFiles && ep.LocalFileCount > 0)
                        {
                            continue;
                        }
                    }

                    CurrentEpisodes.Add(ep);
                }

                HighlightEpisode();

                //kick off the property change after the episodes got refreshed
                var origUnwatchedCount = animeSeries.UnwatchedEpisodeCount;
                animeSeries.UnwatchedEpisodeCount = origUnwatchedCount + 1;
                animeSeries.UnwatchedEpisodeCount = origUnwatchedCount;
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }