void searchTraktWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { SearchTraktResults res = e.Result as SearchTraktResults; if (!string.IsNullOrEmpty(res.ErrorMessage)) { //MessageBox.Show() SearchStatus = res.ErrorMessage; return; } foreach (VM_CrossRef_AniDB_TraktV2 tvxref in res.TraktLinks) { TraktResults.Add(tvxref); } SearchStatus = string.Empty; if (!string.IsNullOrEmpty(res.ExtraInfo)) { SearchStatus = res.ExtraInfo; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; btnRandomAnime.IsEnabled = true; btnSearch.IsEnabled = true; } }
void searchTraktWorker_DoWork(object sender, DoWorkEventArgs e) { SearchTraktResults res = new SearchTraktResults(); res.ErrorMessage = string.Empty; res.TraktLinks = new List <VM_CrossRef_AniDB_TraktV2>(); res.ExtraInfo = string.Empty; try { SearchCriteria crit = e.Argument as SearchCriteria; if (!string.IsNullOrEmpty(crit.ExtraInfo)) { res.ExtraInfo = crit.ExtraInfo; } try { List <Azure_CrossRef_AniDB_Trakt> xrefs = VM_ShokoServer.Instance.ShokoServices.GetTraktCrossRefWebCache(crit.AnimeID, true); if (xrefs != null && xrefs.Count > 0) { foreach (Azure_CrossRef_AniDB_Trakt xref in xrefs) { res.TraktLinks.Add((VM_CrossRef_AniDB_TraktV2)xref); } } } catch (Exception ex) { res.ErrorMessage = ex.Message; } e.Result = res; } catch (Exception ex) { res.ErrorMessage = ex.Message; e.Result = res; } }