public async Task <IActionResult> OnGetMovieSelection(string id, string providerMovieId) { // Bereits bekannten Film laden Movie = await MovieService.GetWithGenresAndSourcesAsync(id); // Falls nicht bekannt, neuen Film anlegen if (Movie == null) { Movie = MovieService.CreateMovie(); } // Übernahme der Daten aus MovieDb IMovieProvider movieProvider = MovieProviderFactory.CreateMovieProvider(MovieProviders.MovieDb); var movieDto = await movieProvider.GetMovieAsync(providerMovieId); Movie = await MovieService.ApplyDtoData(Movie, movieDto); await Init(); // Speichern des Films nach der Auswahl: Eigentlich nicht nötig, aber wegen des "falschen" Cover-Handlings notwendig, // damit das ausgewählte Cover nicht verloren geht (es ist nicht gebunden, da byte-Array) // Siehe auch Kommentar bei SetCover await SaveChanesAsync(); return(Page()); }
public async Task <IActionResult> OnGetAsync(string id, string title, MovieProviders provider) { MovieId = id; IMovieProvider movieProvider = MovieProviderFactory.CreateMovieProvider(provider); try { var movies = await movieProvider.SearchMovieAsync(title); Movies = new List <MovieDbMovie>(); await Task.Run(() => { foreach (MovieDbMovie movieDto in movies) { movieDto.Cover = movieProvider.GetMovieCover(movieDto); Movies.Add(movieDto); } }); } catch (Exception ex) { //TODO: Logging im WebProject //LogManager.GetCurrentClassLogger().Error(ex); } return(Page()); }