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