public async Task <IActionResult> Edit(long id, [Bind("MovieId,ActorFilmMemberId,CharacterName,Sequence")] MovieCastMember movieCastMember)
        {
            if (id != movieCastMember.MovieId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(movieCastMember);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MovieCastMemberExists(movieCastMember.MovieId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ActorFilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", movieCastMember.ActorFilmMemberId);
            ViewData["MovieId"]           = new SelectList(_context.Movie, "Id", "Title", movieCastMember.MovieId);
            return(View(movieCastMember));
        }
        public async Task GetCreditsAsync_ReturnsCastMembers()
        {
            const int movieIdRunLolaRun = 104;

            ApiQueryResponse <MovieCredit> response = await _api.GetCreditsAsync(movieIdRunLolaRun);

            ApiResponseUtil.AssertErrorIsNull(response);

            MovieCredit credit = response.Item;

            MovieCastMember lola = credit.CastMembers.Single(x => x.Character == "Lola");

            Assert.AreEqual(679, lola.PersonId);
            Assert.AreEqual(11, lola.CastId);
            Assert.AreEqual("52fe4218c3a36847f80038df", lola.CreditId);
            Assert.AreEqual("Franka Potente", lola.Name);

            foreach (MovieCastMember castMember in credit.CastMembers)
            {
                Assert.IsTrue(castMember.PersonId > 0);
                Assert.IsTrue(castMember.CastId > 0);
                Assert.IsFalse(string.IsNullOrWhiteSpace(castMember.CreditId));
                Assert.IsFalse(string.IsNullOrWhiteSpace(castMember.Name));
                Assert.IsFalse(string.IsNullOrWhiteSpace(castMember.Character));
            }
        }
        public async Task <IActionResult> Create([Bind("MovieId,ActorFilmMemberId,CharacterName,Sequence")] MovieCastMember movieCastMember)
        {
            if (ModelState.IsValid)
            {
                _context.Add(movieCastMember);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ActorFilmMemberId"] = new SelectList(_context.FilmMember, "Id", "FirstName", movieCastMember.ActorFilmMemberId);
            ViewData["MovieId"]           = new SelectList(_context.Movie, "Id", "Title", movieCastMember.MovieId);
            return(View(movieCastMember));
        }