public async Task <IActionResult> Edit(long id, [Bind("MovieId,FilmMemberId,FilmRoleId")] MovieCrewMember movieCrewMember) { if (id != movieCrewMember.MovieId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(movieCrewMember); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MovieCrewMemberExists(movieCrewMember.MovieId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["FilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", movieCrewMember.FilmMemberId); ViewData["FilmRoleId"] = new SelectList(_context.FilmRole, "Id", "RoleName", movieCrewMember.FilmRoleId); ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Title", movieCrewMember.MovieId); return(View(movieCrewMember)); }
public async Task GetCreditsAsync_ReturnsCrewMembers() { const int movieIdRunLolaRun = 104; ApiQueryResponse <MovieCredit> response = await _api.GetCreditsAsync(movieIdRunLolaRun); ApiResponseUtil.AssertErrorIsNull(response); MovieCredit credit = response.Item; MovieCrewMember director = credit.CrewMembers.Single(x => x.Job == "Director"); Assert.AreEqual(1071, director.PersonId); Assert.AreEqual("52fe4218c3a36847f80038ab", director.CreditId); Assert.AreEqual("Directing", director.Department); Assert.AreEqual("Tom Tykwer", director.Name); foreach (MovieCrewMember crewMember in credit.CrewMembers) { Assert.IsTrue(crewMember.PersonId > 0); Assert.IsFalse(string.IsNullOrWhiteSpace(crewMember.CreditId)); Assert.IsFalse(string.IsNullOrWhiteSpace(crewMember.Department)); Assert.IsFalse(string.IsNullOrWhiteSpace(crewMember.Job)); Assert.IsFalse(string.IsNullOrWhiteSpace(crewMember.Name)); } }
public async Task <IActionResult> Create([Bind("MovieId,FilmMemberId,FilmRoleId")] MovieCrewMember movieCrewMember) { if (ModelState.IsValid) { _context.Add(movieCrewMember); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["FilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", movieCrewMember.FilmMemberId); ViewData["FilmRoleId"] = new SelectList(_context.FilmRole, "Id", "RoleName", movieCrewMember.FilmRoleId); ViewData["MovieId"] = new SelectList(_context.Movie, "Id", "Title", movieCrewMember.MovieId); return(View(movieCrewMember)); }
public IActionResult EditDirectors(int id, MovieViewViewModel model) { Movie movie = _database.Movies.FirstOrDefault(a => a.Id == id); List <MovieCrewMember> DirectorsFromDatabase = _database.MovieCrewMember.Where(a => a.MovieId == id && a.MemberRole == MovieCrewMember.Role.Director).ToList(); _database.MovieCrewMember.RemoveRange(DirectorsFromDatabase); List <MovieCrewMember> BothFromDatabase = _database.MovieCrewMember.Where(a => a.MovieId == id && a.MemberRole == MovieCrewMember.Role.Both).ToList(); foreach (var both in BothFromDatabase) { both.MemberRole = MovieCrewMember.Role.Actor; } _database.SaveChanges(); if (model.ActorsString != null) { string[] directors = model.DirectorsString.Split(", "); foreach (var directorString in directors) { CrewMember crewMember = new CrewMember(); if (!_database.CrewMembers.Any(a => a.Name == directorString)) { crewMember.Name = directorString; _database.CrewMembers.Add(crewMember); _database.SaveChanges(); } else { crewMember = _database.CrewMembers.FirstOrDefault(a => a.Name == directorString); } _database.SaveChanges(); MovieCrewMember movieCrewMember = new MovieCrewMember(); if (!_database.MovieCrewMember.Any(a => a.MovieId == movie.Id && a.CrewMemberId == crewMember.Id)) { movieCrewMember.MovieId = movie.Id; movieCrewMember.CrewMemberId = crewMember.Id; movieCrewMember.MemberRole = MovieCrewMember.Role.Director; } else { movieCrewMember.MemberRole = MovieCrewMember.Role.Both; } _database.MovieCrewMember.Add(movieCrewMember); } } _database.SaveChanges(); return(RedirectToAction("View", "Movie", new { Id = id })); }
public async Task <IActionResult> Create(MovieCreateViewModel model) { if (!TryValidateModel(model)) { return(View(model)); } Movie movie = new Movie() { Title = model.Title, Description = model.Description, PlayTime = new TimeSpan(model.PlayTimeHours, model.PlayTimeMinutes, 0), ReleaseDate = model.ReleaseDate }; using (var memoryStream = new MemoryStream()) { try { await model.Photo.CopyToAsync(memoryStream); } catch { } movie.Photo = memoryStream.ToArray(); _database.Movies.Add(movie); _database.SaveChanges(); } if (model.Genre != null) { string[] genres = model.Genre.Split(","); foreach (var genre in genres) { MovieGenre movieGenre = _database.MovieGenres.FirstOrDefault(a => a.Name == genre); _database.MovieGenreMovies.Add(new MovieGenreMovie { MovieGenreId = movieGenre.Id, MovieId = movie.Id }); } } _database.SaveChanges(); if (model.Actors != null) { string[] actors = model.Actors.Split(","); foreach (var Actor in actors) { CrewMember crewMember = new CrewMember(); if (!_database.CrewMembers.Any(a => a.Name == Actor)) { crewMember.Name = Actor; _database.CrewMembers.Add(crewMember); _database.SaveChanges(); } else { crewMember = _database.CrewMembers.FirstOrDefault(a => a.Name == Actor); } _database.SaveChanges(); MovieCrewMember movieCrewMember = new MovieCrewMember() { MovieId = movie.Id, CrewMemberId = crewMember.Id, MemberRole = MovieCrewMember.Role.Actor }; _database.MovieCrewMember.Add(movieCrewMember); } } _database.SaveChanges(); if (model.Directors != null) { string[] directors = model.Directors.Split(","); foreach (var Director in directors) { CrewMember crewMember = new CrewMember(); if (!_database.CrewMembers.Any(a => a.Name == Director)) { crewMember.Name = Director; _database.CrewMembers.Add(crewMember); _database.SaveChanges(); } else { crewMember = _database.CrewMembers.FirstOrDefault(a => a.Name == Director); } MovieCrewMember movieCrewMember = new MovieCrewMember(); if (!_database.MovieCrewMember.Any(a => a.MovieId == movie.Id && a.CrewMemberId == crewMember.Id)) { movieCrewMember.MovieId = movie.Id; movieCrewMember.CrewMemberId = crewMember.Id; movieCrewMember.MemberRole = MovieCrewMember.Role.Director; _database.MovieCrewMember.Add(movieCrewMember); } else { movieCrewMember = _database.MovieCrewMember.First(a => a.MovieId == movie.Id && a.CrewMemberId == crewMember.Id); movieCrewMember.MemberRole = MovieCrewMember.Role.Both; } } } _database.SaveChanges(); return(RedirectToAction("Index")); }