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 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); }
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); } }