void shoutsWorker_DoWork(object sender, DoWorkEventArgs e) { AnimeSeriesVM ser = e.Argument as AnimeSeriesVM; List<Trakt_ShoutUserVM> tempShouts = new List<Trakt_ShoutUserVM>(); try { System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate() { Shouts.Clear(); }); // get shouts from trakt List<JMMServerBinary.Contract_Trakt_ShoutUser> rawShouts = JMMServerVM.Instance.clientBinaryHTTP.GetTraktShoutsForAnime(ser.AniDB_ID); foreach (JMMServerBinary.Contract_Trakt_ShoutUser contract in rawShouts) { Trakt_ShoutUserVM shout = new Trakt_ShoutUserVM(contract); shout.DelayedUserImage = @"/Images/blankposter.png"; System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate() { Shouts.Add(shout); }); imagesToDownload.Add(shout); } // get recommendations from AniDB List<JMMServerBinary.Contract_AniDB_Recommendation> rawRecs = JMMServerVM.Instance.clientBinaryHTTP.GetAniDBRecommendations(ser.AniDB_ID); foreach (JMMServerBinary.Contract_AniDB_Recommendation contract in rawRecs) { AniDB_RecommendationVM rec = new AniDB_RecommendationVM(contract); rec.DelayedUserImage = @"/Images/blankposter.png"; System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate() { Shouts.Add(rec); }); imagesToDownload.Add(rec); } } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); } }
void commentsWorker_DoWork(object sender, DoWorkEventArgs e) { AnimeSeriesVM ser = e.Argument as AnimeSeriesVM; List<Trakt_CommentUserVM> tempComments = new List<Trakt_CommentUserVM>(); try { System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate () { Comments.Clear(); }); // get comments from trakt List<JMMServerBinary.Contract_Trakt_CommentUser> rawComments = JMMServerVM.Instance.clientBinaryHTTP.GetTraktCommentsForAnime(ser.AniDB_ID); foreach (JMMServerBinary.Contract_Trakt_CommentUser contract in rawComments) { Trakt_CommentUserVM comment = new Trakt_CommentUserVM(contract); System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate () { Comments.Add(comment); }); } // get recommendations from AniDB List<JMMServerBinary.Contract_AniDB_Recommendation> rawRecs = JMMServerVM.Instance.clientBinaryHTTP.GetAniDBRecommendations(ser.AniDB_ID); foreach (JMMServerBinary.Contract_AniDB_Recommendation contract in rawRecs) { AniDB_RecommendationVM rec = new AniDB_RecommendationVM(contract); System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate () { Comments.Add(rec); }); } } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); } }
void refreshDataWorker_DoWork(object sender, DoWorkEventArgs e) { List<object> tempComments = new List<object>(); try { AnimeSeriesVM animeSeries = (AnimeSeriesVM)e.Argument; if (animeSeries == null) return; // get comments from Trakt List<JMMServerBinary.Contract_Trakt_CommentUser> rawComments = JMMServerVM.Instance.clientBinaryHTTP.GetTraktCommentsForAnime(animeSeries.AniDB_ID); foreach (JMMServerBinary.Contract_Trakt_CommentUser contract in rawComments) { Trakt_CommentUserVM traktComment = new Trakt_CommentUserVM(contract); tempComments.Add(traktComment); } // get comments from AniDB // get recommendations from AniDB List<JMMServerBinary.Contract_AniDB_Recommendation> rawRecs = JMMServerVM.Instance.clientBinaryHTTP.GetAniDBRecommendations(animeSeries.AniDB_ID); foreach (JMMServerBinary.Contract_AniDB_Recommendation contract in rawRecs) { AniDB_RecommendationVM rec = new AniDB_RecommendationVM(contract); tempComments.Add(rec); } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } e.Result = tempComments; }