public async Task <IActionResult> Detail(int id) { Director director = await _directors.GetById(id); if (director != null) { ICollection <Movie> movies = await _directors.GetMovies(id); var detailModel = new DirectorDetailModel { Id = director.Id, Name = director.Name, Birthday = director.Birthday.Equals(DateTime.MinValue) ? "" : director.Birthday.ToString("MMMM dd yyyy"), Birthplace = director.Birthplace, Bio = director.Bio, Movies = movies .Select(movie => new KeyValuePair <int, string>(movie.Id, movie.Title)) .ToDictionary(kvp => kvp.Key, kvp => kvp.Value) }; return(View(detailModel)); } return(NotFound()); }
public async Task <IActionResult> Add(MovieAddModel viewModel) { Director foundDirector = await _directors.GetById(viewModel.DirectorId); if (ModelState.IsValid) { Movie newMovie = new Movie { Title = viewModel.Title, Director = foundDirector, Description = viewModel.Description, Year = viewModel.Year, Runtime = viewModel.Runtime, Revenue = viewModel.Revenue }; newMovie.Title = viewModel.Title; _movies.Add(newMovie); ModelState.Clear(); return(RedirectToAction($"Detail/{newMovie.Id}")); } return(NotFound()); }