예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }