public async Task <IActionResult> ShowList() { ViewData["Message"] = "Create a new list for shows"; var dbGenres = await _traktShowRepository.GetGenres(); var dbStatus = await _traktShowRepository.GetStatuses(); var dbNetworks = await _traktShowRepository.GetNetworks(); var dbCertifications = await _traktShowRepository.GetCertifications(); var dbCountryCodes = await _traktCodesRepository.GetCountryCodes(); var dbLanguageCodes = await _traktCodesRepository.GetLanguageCodes(); var model = new CreateShowListViewModel { Genres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)), Certifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.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)), Networks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)), Status = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)), ReverseGenres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)), ReverseCertifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.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)), ReverseNetworks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)), ReverseStatus = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)), }; return(View(model)); }
public async Task <IActionResult> ShowList() { ViewData["Message"] = "Create a new list for shows"; var dbGenres = await _appDbContext.TraktShowGenres.ToListAsync(); var dbCertifications = await _appDbContext.TraktShowCertifications.OrderBy(x => x.Description).ToListAsync(); var dbCountryCodes = await _appDbContext.CountryCodes.OrderBy(x => x.Name).ToListAsync(); var dbLanguageCodes = await _appDbContext.LanguageCodes.OrderBy(x => x.Code).ToListAsync(); var dbNetworks = await _appDbContext.TraktShowNetworks.OrderBy(x => x.Name).ToListAsync(); var dbStatus = await _appDbContext.TraktShowStatuses.OrderBy(x => x.Name).ToListAsync(); var model = new CreateShowListViewModel() { Genres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)), Certifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.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)), Networks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)), Status = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)), ReverseGenres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)), ReverseCertifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.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)), ReverseNetworks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)), ReverseStatus = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)), }; return(View(model)); }
public async Task <IActionResult> ShowList(CreateShowListViewModel model) { var user = await _userManager.GetUserAsync(User); var lists = await _traktRepository.Get(user); if (lists.Count >= _limitConfigurationList.LimitConfigurations.First(x => x.Level == user.Level).ListLimit) { return(View("Error")); } var dbGenres = await _traktShowRepository.GetGenres(); var dbStatus = await _traktShowRepository.GetStatuses(); var dbNetworks = await _traktShowRepository.GetNetworks(); var dbCertifications = await _traktShowRepository.GetCertifications(); var dbCountryCodes = await _traktCodesRepository.GetCountryCodes(); var dbLanguageCodes = await _traktCodesRepository.GetLanguageCodes(); model.Genres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)); model.Certifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.Description)); model.Countries = new MultiSelectList(dbCountryCodes, nameof(CountryCode.Code), nameof(CountryCode.Name)); model.Languages = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.Translations = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.Networks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)); model.Status = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)); model.ReverseGenres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)); model.ReverseCertifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.Description)); model.ReverseCountries = new MultiSelectList(dbCountryCodes, nameof(CountryCode.Code), nameof(CountryCode.Name)); model.ReverseLanguages = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.ReverseTranslations = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.ReverseNetworks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)); model.ReverseStatus = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)); if (!ModelState.IsValid) { return(View(model)); } var result = await _traktService.Create(new TraktList { Name = model.Name, Query = model.Query ?? "", Type = ListType.Show, Filter_Years = model.Filter_Years, Filter_Ratings = model.Filter_Ratings, Filter_Runtimes = model.Filter_Runtimes, SearchByAlias = model.SearchByAlias, SearchByBiography = model.SearchByBiography, SearchByDescription = model.SearchByDescription, SearchByName = model.SearchByName, SearchByOverview = model.SearchByOverview, SearchByPeople = model.SearchByPeople, SearchByTitle = model.SearchByTitle, SearchByTranslations = model.SearchByTranslations, Filter_Genres = new GenresCommonFilter(model.Filter_Genres), Filter_Languages = new LanguagesCommonFilter(model.Filter_Languages), Filter_Translations = new TranslationsBasicFilter(model.Filter_Translations), Filter_Certifications_Show = new CertificationsShowFilter(model.Filter_Certifications), Filter_Countries = new CountriesCommonFilter(model.Filter_Countries), Filter_Networks = new NetworksShowFilter(model.Filter_Networks), Filter_Status = new StatusShowFilter(model.Filter_Status), Owner = user }); if (user.IsDonor) { result.ReverseFilter_Status = new StatusShowFilter(model.ReverseFilter_Status); result.ReverseFilter_Genres = new GenresCommonFilter(model.ReverseFilter_Genres); result.ReverseFilter_Networks = new NetworksShowFilter(model.ReverseFilter_Networks); result.ReverseFilter_Countries = new CountriesCommonFilter(model.ReverseFilter_Countries); result.ReverseFilter_Languages = new LanguagesCommonFilter(model.ReverseFilter_Languages); result.ReverseFilter_Translations = new TranslationsBasicFilter(model.ReverseFilter_Translations); result.ReverseFilter_Certifications_Show = new CertificationsShowFilter(model.ReverseFilter_Certifications); } await _traktRepository.Create(result); _backgroundJobQueueService.Queue(result); return(RedirectToAction(nameof(ShowList))); }
public async Task <IActionResult> ShowList(CreateShowListViewModel model) { ViewData["Message"] = "Create a new list for shows"; var dbGenres = await _appDbContext.TraktShowGenres.ToListAsync(); var dbCertifications = await _appDbContext.TraktShowCertifications.ToListAsync(); var dbCountryCodes = await _appDbContext.CountryCodes.OrderBy(x => x.Name).ToListAsync(); var dbLanguageCodes = await _appDbContext.LanguageCodes.OrderBy(x => x.Code).ToListAsync(); var dbNetworks = await _appDbContext.TraktShowNetworks.ToListAsync(); var dbStatus = await _appDbContext.TraktShowStatuses.ToListAsync(); model.Genres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)); model.Certifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.Description)); model.Countries = new MultiSelectList(dbCountryCodes, nameof(CountryCode.Code), nameof(CountryCode.Name)); model.Languages = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.Translations = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.Networks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)); model.Status = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)); model.ReverseGenres = new MultiSelectList(dbGenres, nameof(TraktShowGenre.Slug), nameof(TraktShowGenre.Name)); model.ReverseCertifications = new MultiSelectList(dbCertifications, nameof(TraktShowCertification.Slug), nameof(TraktShowCertification.Description)); model.ReverseCountries = new MultiSelectList(dbCountryCodes, nameof(CountryCode.Code), nameof(CountryCode.Name)); model.ReverseLanguages = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.ReverseTranslations = new MultiSelectList(dbLanguageCodes, nameof(LanguageCode.Code), nameof(LanguageCode.Description)); model.ReverseNetworks = new MultiSelectList(dbNetworks, nameof(TraktShowNetwork.Name), nameof(TraktShowNetwork.Name)); model.ReverseStatus = new MultiSelectList(dbStatus, nameof(TraktShowStatus.Name), nameof(TraktShowStatus.Name)); if (!ModelState.IsValid) { return(View(model)); } var result = await _traktService.Create(new TraktList() { Name = model.Name, Query = model.Query ?? "", Type = ListType.Show, Filter_Years = model.Filter_Years, Filter_Ratings = model.Filter_Ratings, Filter_Runtimes = model.Filter_Runtimes, SearchByAlias = model.SearchByAlias, SearchByBiography = model.SearchByBiography, SearchByDescription = model.SearchByDescription, SearchByName = model.SearchByName, SearchByOverview = model.SearchByOverview, SearchByPeople = model.SearchByPeople, SearchByTitle = model.SearchByTitle, SearchByTranslations = model.SearchByTranslations, Filter_Genres = new GenresCommonFilter(model.Filter_Genres), Filter_Languages = new LanguagesCommonFilter(model.Filter_Languages), Filter_Translations = new TranslationsBasicFilter(model.Filter_Translations), Filter_Certifications_Show = new CertificationsShowFilter(model.Filter_Certifications), Filter_Countries = new CountriesCommonFilter(model.Filter_Countries), Filter_Networks = new NetworksShowFilter(model.Filter_Networks), Filter_Status = new StatusShowFilter(model.Filter_Status), ReverseFilter_Genres = new GenresCommonFilter(model.ReverseFilter_Genres), ReverseFilter_Languages = new LanguagesCommonFilter(model.ReverseFilter_Languages), ReverseFilter_Translations = new TranslationsBasicFilter(model.ReverseFilter_Translations), ReverseFilter_Certifications_Show = new CertificationsShowFilter(model.ReverseFilter_Certifications), ReverseFilter_Countries = new CountriesCommonFilter(model.ReverseFilter_Countries), ReverseFilter_Networks = new NetworksShowFilter(model.ReverseFilter_Networks), ReverseFilter_Status = new StatusShowFilter(model.ReverseFilter_Status), Owner = await _userManager.GetUserAsync(User) }); Hangfire.BackgroundJob.Enqueue <ProcessShowListBackgroundJob>(x => x.Execute(result.Id)); return(RedirectToAction(nameof(ShowList))); }