public async Task <IActionResult> Edit(long id, [Bind("Id,Prefix,FirstName,MiddleName,LastName,Suffix,PreferredFullName,Gender,DateOfBirth,DateOfDeath,Biography")] FilmMember filmMember) { if (id != filmMember.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(filmMember); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FilmMemberExists(filmMember.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(filmMember)); }
public async Task <IActionResult> Create([Bind("Id,Prefix,FirstName,MiddleName,LastName,Suffix,PreferredFullName,Gender,DateOfBirth,DateOfDeath,Biography")] FilmMember filmMember) { if (ModelState.IsValid) { _context.Add(filmMember); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(filmMember)); }
private static List <FilmMemberCredits> GetAllCredits(FilmMember filmMember) { var movieCastCredits = filmMember.MovieCastMember.Select(m => new FilmMemberCredits() { MovieId = m.MovieId, MovieTitle = m.Movie !.Title, FilmRoleId = (short)DbEnum.FilmRole.Actor, RoleName = "Actor", // not a great way of doing this. CharacterName = m.CharacterName, Year = (short?)m.Movie.ReleaseDate?.Year });
// GET: FilmMemberDetails/5 public async Task <IActionResult> Index(long?id) { FilmMember filmMember = await _context.FilmMember .Include(f => f.MovieCastMember) .ThenInclude(mcm => mcm.Movie) .Include(f => f.MovieCrewMember) .ThenInclude(mcm => mcm.Movie) .Include(f => f.MovieCrewMember) .ThenInclude(mcm => mcm.FilmRole) .Include(f => f.DirectorMovies) .FirstAsync(f => f.Id == id); List <VwAwardWinnerInfo> awardWinners = await _context.VwAwardWinnerInfo .Where(aw => aw.FilmMemberId == filmMember.Id).ToListAsync(); List <FilmMemberCredits> allCredits = GetAllCredits(filmMember); var filmMemberDetailsViewModel = new FilmMemberDetailsViewModel() { Prefix = filmMember.Prefix, FirstName = filmMember.FirstName, MiddleName = filmMember.MiddleName, LastName = filmMember.LastName, Suffix = filmMember.Suffix, PreferredFullName = filmMember.PreferredFullName, Gender = filmMember.Gender, DateOfBirth = filmMember.DateOfBirth, DateOfDeath = filmMember.DateOfDeath, Biography = filmMember.Biography, Credits = allCredits.ToList(), Awards = awardWinners.Select(w => new FilmMemberAwardInfo() { AwardName = w.AwardName, MovieTitle = w.Title, ShowName = w.ShowName, Year = w.Year }).ToList() }; return(View(filmMemberDetailsViewModel)); }