public async Task <IActionResult> MovieList() { var dbGenres = await _traktMovieRepository.GetGenres(); var dbCertifications = await _traktMovieRepository.GetCertifications(); var dbCountryCodes = await _traktCodesRepository.GetCountryCodes(); var dbLanguageCodes = await _traktCodesRepository.GetLanguageCodes(); var model = new CreateMovieListViewModel { Genres = new MultiSelectList(dbGenres, nameof(TraktMovieGenre.Slug), nameof(TraktMovieGenre.Slug)), Certifications = new MultiSelectList(dbCertifications, nameof(TraktMovieCertification.Slug), nameof(TraktMovieCertification.Description)), Countries = new MultiSelectList(dbCountryCodes, nameof(CountryCode.Code), nameof(CountryCode.Name)), Languages = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)), Translations = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)), ReverseGenres = new MultiSelectList(dbGenres, nameof(TraktMovieGenre.Slug), nameof(TraktMovieGenre.Name)), ReverseCertifications = new MultiSelectList(dbCertifications, nameof(TraktMovieCertification.Slug), nameof(TraktMovieCertification.Description)), ReverseCountries = new MultiSelectList(dbCountryCodes, nameof(CountryCode.Code), nameof(CountryCode.Name)), ReverseLanguages = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)), ReverseTranslations = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)) }; return(View(model)); }
public async Task Execute() { var result = await _traktClient.Genres.GetMovieGenresAsync(); if (result.IsSuccess) { var currentGenres = await _traktMovieRepository.GetGenres(); foreach (var traktGenre in result.Value) { var currentGenre = currentGenres.FirstOrDefault(x => x.Slug == traktGenre.Slug); if (currentGenre == null) { await _traktMovieRepository.CreateGenre(new TraktMovieGenre() { Name = traktGenre.Name, Slug = traktGenre.Slug }); } } } }