예제 #1
0
        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());
        }
예제 #2
0
        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());
        }