Exemplo n.º 1
0
        public void ToggleSelectionOnMovie(Movie movie)
        {
            var selectedMovie = FilmDatabase.Where(m => m == movie).First();

            if (selectedMovie.isSelected == Visibility.Collapsed)
            {
                selectedMovie.isSelected = Visibility.Visible;
            }
            else
            {
                selectedMovie.isSelected = Visibility.Collapsed;
            }
        }
Exemplo n.º 2
0
        public async Task <bool> ScanAllMovies(string rootDirectory, IProgress <int> progress)
        {
            await Task.Run(() =>
            {
                FilmDatabase.Clear();
                RootDirectory  = rootDirectory;
                var directorys = new DirectoryInfo(RootDirectory).EnumerateDirectories();
                int actualDir  = 1;
                int maxDir     = directorys.Count();

                foreach (var directory in directorys)
                {
                    var movie = SetAllFilesInMovie(directory);
                    movie     = SetAllFieldsInMovie(directory, movie);
                    FilmDatabase.Add(movie);
                    progress.Report(actualDir++ *100 / maxDir);
                }
                FilmDatabase.RemoveAll(m => m.MkvFile == null);
            });

            return(FilmDatabase.Count != 0 ? true : false);
        }
Exemplo n.º 3
0
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            _cont = new Default();
            splitContainer1.Panel2.Controls.Clear();
            switch (e.Node.Tag.ToString())
            {
            case "GeneralSettings":
                break;

            case "ClockSettings":
                _cont = new ClockSettings();
                break;

            case "FilmSettings":
                break;

            case "FilmDatabaseSettings":
                if (_fd == null)
                {
                    _fd = new FilmDatabase();
                }
                _cont = _fd;
                break;

            case "FilmFileSettings":
                break;

            case "TVSettings":
                break;

            default:
                _cont = new Default();
                treeView1.SelectedNode = treeView1.TopNode;
                break;
            }
            splitContainer1.Panel2.Controls.Add(_cont);
            _cont.Dock = DockStyle.Fill;
        }
Exemplo n.º 4
0
        public async Task GetDetailsFromTMDbAsync(Movie movie)
        {
            var index = FilmDatabase.IndexOf(movie);

            if (index != -1)
            {
                var movieInDB = FilmDatabase[index];
                try
                {
                    var tmdbSearchResult = await tmdbWrapper.SearchMovieAsync(movie);

                    var fskTask     = Altersfreigaben.getFskAsync(tmdbSearchResult.Id);
                    var tmdbDetails = await tmdbWrapper.GetMovieDetailsAsync(tmdbSearchResult.Id);

                    //TODO: Fill Details into movie
                    movieInDB.Poster = tmdbWrapper.GetImageFromTMDb(tmdbDetails.PosterPath, "w500");
                    //for (int i = 0; i < 6; i++)
                    //{
                    //    var cast = new Cast();
                    //    cast.Image = tmdbWrapper.GetImageFromTMDb(tmdbDetails.Credits.Cast.ElementAt(i).ProfilePath, "w185");
                    //    cast.Name = tmdbDetails.Credits.Cast.ElementAt(i).Name;
                    //    cast.Character = tmdbDetails.Credits.Cast.ElementAt(i).Character;
                    //    movieInDB.CastList.Add(cast);

                    //}
                    foreach (var item in tmdbDetails.Credits.Cast.Take(6))
                    {
                        var cast = new Cast();
                        cast.Image     = tmdbWrapper.GetImageFromTMDb(item.ProfilePath, "w185");
                        cast.Name      = item.Name;
                        cast.Character = item.Character;
                        movieInDB.CastList.Add(cast);
                    }
                    movieInDB.Description   = tmdbDetails.Overview;
                    movieInDB.OriginalTitle = tmdbDetails.OriginalTitle;
                    movieInDB.Runtime       = tmdbDetails.Runtime != null ? tmdbDetails.Runtime.Value : 0;
                    movieInDB.Genres        = new List <string>();
                    foreach (var genre in tmdbDetails.Genres)
                    {
                        movieInDB.Genres.Add(genre.Name);
                    }
                    movieInDB.Rating      = tmdbDetails.VoteAverage;
                    movieInDB.RatingCount = tmdbDetails.VoteCount;

                    var releaseDateItem = tmdbDetails
                                          .ReleaseDates.Results
                                          .Where(r => r.Iso_3166_1 == "DE")
                                          .SelectMany(r => r.ReleaseDates)
                                          .FirstOrDefault();
                    if (releaseDateItem != null)
                    {
                        movie.ReleaseDate = releaseDateItem.ReleaseDate;
                    }
                    if (releaseDateItem != null && releaseDateItem.Certification != "" && int.TryParse(releaseDateItem.Certification, out int fsk))
                    {
                        movieInDB.Fsk = fsk;
                    }
                    else
                    {
                        movieInDB.Fsk = await fskTask;
                    }
                }
                catch (MovieNotFoundException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }