示例#1
0
        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));
        }
示例#2
0
        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));
        }