Example #1
0
        public SearchForm(MovieBrowserController controller)
        {
            _controller = controller;
            InitializeComponent();

            listKeywords.DataSource = _controller.Db.Keywords;
            listGenres.DataSource = _controller.Db.Genres;
            listStars.DataSource = _controller.Db.Stars.Select(o => o.Person).Distinct();
            listDirectors.DataSource = _controller.Db.Directors.Select(o => o.Person).Distinct();
        }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            var controller = new MovieBrowserController();

            FireText("Starting Background 1 ...");
            int count = _movies.Count;
            int i = 1;
            foreach (var movie in _movies)
            {

                FireText("#" + i++ + "/" + count + " Searching " + movie.Title);

                if (movie.IsValidMovie)
                {
                    FireText("Found Exact Match: ImdbId= " + movie.ImdbId);
                    //var src = HttpHelper.FetchWebPage(MovieBrowserController.ImdbTitle + movie.ImdbId);

                    var dbMovie = controller.Db.Movies.Where(o => o.ImdbId == movie.ImdbId).FirstOrDefault();

                    if (dbMovie == null || !dbMovie.IsUpdated)
                    {
                        controller.CollectAndAddMovieToDb(movie);
                    }
                    else
                    {
                        FireText("Movie: " + movie.Title + " is marked as updated. Skipping.");
                    }
                    FireText("Finished: ImdbId= " + movie.ImdbId);
                }
                else
                {
                    FireText("Trying ... to Guess...");
                    var src = HttpHelper.FetchWebPage(MovieBrowserController.ImdbSearch + HttpHelper.UrlEncode(movie.Title));
                    var m = MovieBrowserController.GuessMovie(src);

                    var item = new ListViewItem(movie.Title);
                    item.SubItems.Add(m.Title);
                    item.SubItems.Add(m.ImdbId);
                    item.SubItems.Add(m.Year + "");
                    item.SubItems.Add(movie.FilePath);

                    if (!string.IsNullOrEmpty(m.ImdbId))
                    {
                        FireText("I guess it is '" + m.Title + "' with ImdbId=" + m.ImdbId);
                        item.Checked = true;
                    }

                    AddItem(item);
                }
            }
            FireText("DONE.... I am FINISHED...");
        }
        private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
        {
            FireText("Starting Background 2 ...");
            var controller = new MovieBrowserController();
            int count = _update.Count;
            int i = 1;
            foreach (var movie in _update)
            {
                FireText("#" + i++ + "/" + count + " Found Exact Match: ImdbId= " + movie.ImdbId);
                //String src = HttpHelper.FetchWebPage(MovieBrowserController.ImdbTitle + movie.ImdbId);
                var m = controller.CollectAndAddMovieToDb(movie);
                FireText("Finished: ImdbId= " + movie.ImdbId);

                m.FilePath = movie.FilePath;
                MovieBrowserController.ChangeFolderName(m);
            }

            FireText("DONE.... I am FINISHED...");
        }