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; } }
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); }
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; }
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); } } }