public Task <IdentityResult> CreateAsync(AppUser user, CancellationToken cancellationToken) { _context.Add(user); _context.SaveChanges(); return(Task.FromResult(IdentityResult.Success)); }
public async Task <IActionResult> AddSeries(AddSeriesViewModel addSeries) { Media media = _context.Medias.SingleOrDefault(m => m.ImdbId == addSeries.ImdbId); if (media == null) { MediaType mediaType = _context.MediaTypes.SingleOrDefault(m => m.Name == SpinningFilmHelper.SeriesType); string responseBody = await _apiService.GetWithCreditsAsync(addSeries.TmdbId, SpinningFilmHelper.SeriesType); TmdbTVResult tvResult = JsonConvert.DeserializeObject <TmdbTVResult>(responseBody); responseBody = await _apiService.GetOmdbResult(addSeries.ImdbId); RatingResult ratingResult = JsonConvert.DeserializeObject <RatingResult>(responseBody); media = new Media(tvResult, mediaType, ratingResult, addSeries.ImdbId); _context.Add(media); Series series = new Series(tvResult, media.MediaId); _context.Add(series); List <Genre> dbGenres = _context.Genres.ToList(); foreach (var item in tvResult.Genres) { var genre = dbGenres.SingleOrDefault(g => g.GenreId == item.GenreId) ?? _context.Genres.Add(item).Entity; MediaGenre mediaGenre = new MediaGenre(media.MediaId, genre); _context.Add(mediaGenre); } tvResult.Credits.Cast.ForEach(c => c.MediaId = media.MediaId); _context.Casts.AddRange(tvResult.Credits.Cast); tvResult.Credits.Crew.ForEach(c => c.MediaId = media.MediaId); _context.Crews.AddRange(tvResult.Credits.Crew); _context.SaveChanges(); } if (!_context.PhysicalMedias.Any(m => m.AppUserId == User.Identity.GetNameIdGuid() && m.MediaId == media.MediaId)) { foreach (var number in addSeries.SeasonNumbers) { var physicalMedia = addSeries.PhysicalMedias[number - 1]; physicalMedia.MediaId = media.MediaId; physicalMedia.AppUserId = User.Identity.GetNameIdGuid(); _context.PhysicalMedias.Add(physicalMedia); PhysicalSeason physicalSeason = new PhysicalSeason(physicalMedia.PhysicalMediaId, number); _context.PhysicalSeasons.Add(physicalSeason); } _context.SaveChanges(); return(View("AddMedia", media)); } return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> EditMedia(EditMediaViewModel editMedia) { PhysicalMedia physicalMedia = await _physicalMediaService.Get(editMedia.PhysicalMediaId); var authorizationResult = await _authorizationService.AuthorizeAsync(User, physicalMedia, new SameUserRequirement()); if (!authorizationResult.Succeeded) { return(new ForbidResult()); } //PhysicalMedia physicalMedia = _context.PhysicalMedias.SingleOrDefault(p => p.MediaId == editMedia.PhysicalMediaId && p.AppUserId == User.Identity.GetNameIdGuid()); physicalMedia.DiscTypeId = editMedia.DiscTypeId; physicalMedia.DigitalCopy = editMedia.DigitalCopy; await _physicalMediaService.Update(physicalMedia); List <Genre> genres = _context.Genres.Where(g => g.Extra).ToList(); List <MediaGenre> mediaGenres = _context.MediaGenres.Where(m => m.MediaId == editMedia.PhysicalMediaId && genres.Select(g => g.GenreId).Contains(m.GenreId)).ToList(); if (mediaGenres != null) { _context.RemoveRange(mediaGenres); } foreach (var extraGenreId in editMedia.ExtraGenreIds) { var genre = genres.SingleOrDefault(g => g.GenreId == extraGenreId); _context.Add(new ExtraGenre(physicalMedia.PhysicalMediaId, genre)); } _context.SaveChanges(); return(RedirectToAction("Index", new { type = SpinningFilmHelper.MovieType })); }
public async Task <IActionResult> DiscType() { string key = _apiService.GetTmdbKey(); string url = string.Format("https://api.themoviedb.org/3/genre/tv/list?api_key={0}", key); string responseBody = await _apiService.HttpGet(url); TmdbMovieResult result = JsonConvert.DeserializeObject <TmdbMovieResult>(responseBody); //foreach (var item in result.Genres) //{ // item.MediaType = "tv"; // _context.Add(item); //} _context.SaveChanges(); List <DiscType> discTypes = _context.DiscTypes.ToList(); return(View(discTypes)); }