示例#1
0
 protected virtual void OnMovieSearchCompleted(MovieSearchCompletedEventArgs e)
 {
     if (MovieSearchCompleted != null)
     {
         MovieSearchCompleted(this, e);
     }
 }
示例#2
0
文件: Add.cs 项目: ccitelli/smm
        void tmdb_MovieSearchCompleted(object sender, TMDB.MovieSearchCompletedEventArgs e)
        {
            SearchResults = e.Movies;
            foreach (TMDB.Movie movie in e.Movies)
            {
                listViewResults.Items.Add(new ListViewItem(new string[] { movie.Name, movie.Released.Value.Year.ToString() }));
            }

            Program.Tmdb.MovieSearchCompleted -= new TMDB.Api.MovieSearchAsyncCompletedEventHandler(tmdb_MovieSearchCompleted);

            if (listViewResults.Items.Count > 0)
            {
                buttonOk.Enabled = true;
            }
            buttonCancel.Enabled     = true;
            buttonSearch.Enabled     = true;
            pictureBoxLoader.Visible = false;
        }
示例#3
0
        private void MovieSearchWorker(string title, object userState, AsyncOperation asyncOp)
        {
            Exception exception = null;

            Movie[] movies = null;

            try
            {
                movies = MovieSearch(title);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            MovieSearchCompletedEventArgs args = new MovieSearchCompletedEventArgs(movies, exception, false, userState);

            asyncOp.PostOperationCompleted(delegate(object e) { OnMovieSearchCompleted((MovieSearchCompletedEventArgs)e); }, args);
        }
示例#4
0
文件: BulkAdd.cs 项目: ccitelli/smm
        //---------------------------------------------------------------

        void tmdb_MovieSearchCompleted(object sender, TMDB.MovieSearchCompletedEventArgs e)
        {
            threadCount -= 1;

            if (e.Error == null)
            {
                if (e.Movies.Length > 0)
                {
                    MovieTag movietag = (MovieTag)listViewResults.Items[(int)e.UserState].Tag;

                    movietag.Results = e.Movies;
                    listViewResults.Items[(int)e.UserState].Tag = movietag;

                    listViewResults.Items[(int)e.UserState].ForeColor        = Color.Blue;
                    listViewResults.Items[(int)e.UserState].SubItems[3].Text = "Match found, downloading info...";
                    listViewResults.Items[(int)e.UserState].SubItems[1].Text = e.Movies[0].Name;

                    if (e.Movies[0].Released.HasValue)
                    {
                        listViewResults.Items[(int)e.UserState].SubItems[2].Text = e.Movies[0].Released.Value.Year.ToString();
                    }

                    threadCount += 1;

                    EnsureVisibleScroll((int)e.UserState);

                    Program.Tmdb.GetMovieInfoAsync(e.Movies[0].Id, (int)e.UserState);
                }
                else
                {
                    listViewResults.Items[(int)e.UserState].ForeColor        = Color.Red;
                    listViewResults.Items[(int)e.UserState].SubItems[3].Text = "Unable to find match";
                    progressBarResults.Value += 1;

                    if (searchPos < listViewResults.Items.Count)
                    {
                        MovieTag movietag = (MovieTag)listViewResults.Items[searchPos].Tag;
                        threadCount += 1;
                        EnsureVisibleScroll(searchPos);
                        Program.Tmdb.MovieSearchAsync(movietag.Search, searchPos);
                        searchPos += 1;
                    }
                }
            }
            else
            {
                listViewResults.Items[(int)e.UserState].ForeColor        = Color.Red;
                listViewResults.Items[(int)e.UserState].SubItems[3].Text = "Remote server error";
                progressBarResults.Value += 1;
            }

            progressBarResults.Value += 1;
            int    current = progressBarResults.Value;
            int    max     = progressBarResults.Maximum;
            double percent = ((double)current / (double)max) * 100;

            if (progressBarResults.Value == progressBarResults.Maximum)
            {
                scanning = false;

                percent     = 100;
                threadCount = 0;
            }

            labelProgress.Text = percent.ToString("0.0") + "% (" + completedMatches + " / " + listViewResults.Items.Count + ")";

            if (!scanning && threadCount == 0 && percent != 100)
            {
                labelProgress.Text = "Aborted (" + completedMatches + " / " + listViewResults.Items.Count + ")";
                Program.Tmdb.MovieSearchCompleted -= new TMDB.Api.MovieSearchAsyncCompletedEventHandler(tmdb_MovieSearchCompleted);
            }
            else if ((scanning && threadCount == 0) || percent == 100)
            {
                buttonResultsAbort.Enabled         = true;
                Program.Tmdb.MovieSearchCompleted -= new TMDB.Api.MovieSearchAsyncCompletedEventHandler(tmdb_MovieSearchCompleted);
            }

            if (threadCount == 0)
            {
                buttonResultsBack.Enabled   = true;
                buttonResultsAutoId.Enabled = true;
                buttonResultsAbort.Text     = "Close";

                foreach (ListViewItem lvi in listViewResults.Items)
                {
                    if (lvi.ForeColor == Color.Green)
                    {
                        buttonResultsAdd.Enabled = true;
                        break;
                    }
                }
            }
        }