Exemple #1
0
        private void BtnStart_Click(object sender, RoutedEventArgs e)
        {
            stopWorker      = false;
            ShowStartButton = false;
            ShowStopButton  = true;
            //ShowPauseButton = true;

            WorkerStatus = Shoko.Commons.Properties.Resources.Community_GettingData;

            TraktResults.Clear();

            TraktWorkerJob job = new TraktWorkerJob();

            job.TraktData       = TraktResults;
            job.CheckTraktLinks = chkTraktValid.IsChecked.Value;
            if (job.CheckTraktLinks)
            {
                job.FixTraktLinks = chkTraktValidCleanup.IsChecked.Value;
            }
            job.CheckCommunityLinks = chkCommRec.IsChecked.Value;
            job.MaxProblems         = int.MaxValue;
            if (chkLimitSeries.IsChecked.Value && udLimitSeries.Value.HasValue)
            {
                job.MaxProblems = udLimitSeries.Value.Value;
            }

            dataWorker.RunWorkerAsync(job);
        }
Exemple #2
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;
            }
        }
Exemple #3
0
        public void PerformTraktSearch(SearchCriteria crit)
        {
            if (!VM_ShokoServer.Instance.ServerOnline)
            {
                return;
            }

            Cursor       = Cursors.Wait;
            SearchStatus = string.Format(Shoko.Commons.Properties.Resources.Community_Searching);

            txtSearch.Text = crit.AnimeID.ToString();

            try
            {
                TraktResults.Clear();
                btnRandomAnime.IsEnabled = false;
                btnSearch.IsEnabled      = false;

                Cursor = Cursors.Wait;

                searchTraktWorker.RunWorkerAsync(crit);
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        public void PerformTraktSearch(SearchCriteria crit)
        {
            if (!JMMServerVM.Instance.ServerOnline)
            {
                return;
            }

            this.Cursor  = Cursors.Wait;
            SearchStatus = string.Format("Searching...");

            txtSearch.Text = crit.AnimeID.ToString();

            try
            {
                TraktResults.Clear();
                btnRandomAnime.IsEnabled = false;
                btnSearch.IsEnabled      = false;

                this.Cursor = Cursors.Wait;

                searchTraktWorker.RunWorkerAsync(crit);
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
Exemple #5
0
        void btnRandomAnime_Click(object sender, RoutedEventArgs e)
        {
            if (!JMMServerVM.Instance.ServerOnline)
            {
                return;
            }

            SearchStatus = Properties.Resources.Community_Searching;

            btnRandomAnime.IsEnabled = false;
            btnSearch.IsEnabled      = false;

            this.Cursor = Cursors.Wait;
            try
            {
                if (tabResults.SelectedIndex == 0)
                {
                    TVDBResults.Clear();

                    JMMServerBinary.Contract_Azure_AnimeLink contract = JMMServerVM.Instance.clientBinaryHTTP.Admin_GetRandomLinkForApproval((int)AzureLinkType.TvDB);
                    if (contract != null)
                    {
                        AzureAnimeLink link = new AzureAnimeLink(contract);
                        SearchCriteria crit = new SearchCriteria();
                        crit.AnimeID   = link.RandomAnimeID;
                        crit.ExtraInfo = string.Format(Properties.Resources.Community_TvDBApproval, link.AnimeNeedingApproval);

                        PerformTvDBSearch(crit);
                    }
                }
                else if (tabResults.SelectedIndex == 1)
                {
                    TraktResults.Clear();

                    JMMServerBinary.Contract_Azure_AnimeLink contract = JMMServerVM.Instance.clientBinaryHTTP.Admin_GetRandomLinkForApproval((int)AzureLinkType.Trakt);
                    if (contract != null)
                    {
                        AzureAnimeLink link = new AzureAnimeLink(contract);
                        SearchCriteria crit = new SearchCriteria();
                        crit.AnimeID   = link.RandomAnimeID;
                        crit.ExtraInfo = string.Format(Properties.Resources.Community_TraktApproval, link.AnimeNeedingApproval);

                        PerformTraktSearch(crit);
                    }
                }
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Arrow;
                btnRandomAnime.IsEnabled = true;
                btnSearch.IsEnabled      = true;
                Utils.ShowErrorMessage(ex);
            }
        }
Exemple #6
0
        void btnRandomAnime_Click(object sender, RoutedEventArgs e)
        {
            if (!VM_ShokoServer.Instance.ServerOnline)
            {
                return;
            }

            SearchStatus = Shoko.Commons.Properties.Resources.Community_Searching;

            btnRandomAnime.IsEnabled = false;
            btnSearch.IsEnabled      = false;

            Cursor = Cursors.Wait;
            try
            {
                if (tabResults.SelectedIndex == 0)
                {
                    TVDBResults.Clear();

                    Azure_AnimeLink link = VM_ShokoServer.Instance.ShokoServices.Admin_GetRandomLinkForApproval((int)AzureLinkType.TvDB);
                    if (link != null)
                    {
                        SearchCriteria crit = new SearchCriteria();
                        crit.AnimeID   = link.RandomAnimeID;
                        crit.ExtraInfo = string.Format(Shoko.Commons.Properties.Resources.Community_TvDBApproval, link.AnimeNeedingApproval);

                        PerformTvDBSearch(crit);
                    }
                }
                else if (tabResults.SelectedIndex == 1)
                {
                    TraktResults.Clear();

                    Azure_AnimeLink link = VM_ShokoServer.Instance.ShokoServices.Admin_GetRandomLinkForApproval((int)AzureLinkType.Trakt);
                    if (link != null)
                    {
                        SearchCriteria crit = new SearchCriteria();
                        crit.AnimeID   = link.RandomAnimeID;
                        crit.ExtraInfo = string.Format(Shoko.Commons.Properties.Resources.Community_TraktApproval, link.AnimeNeedingApproval);

                        PerformTraktSearch(crit);
                    }
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Arrow;
                btnRandomAnime.IsEnabled = true;
                btnSearch.IsEnabled      = true;
                Utils.ShowErrorMessage(ex);
            }
        }