public async Task <IActionResult> Create(int?movieId) { if (movieId == null) { return(NotFound()); } var movieDetails = await _mediator.Send(new GetMovieByIdQuery(movieId.Value)); var movieCastViewModel = new MovieActorCreateViewModel() { MovieId = movieId.Value, MovieTitle = movieDetails.Title, MovieImageUrl = movieDetails.Image.ImageUrl }; return(View(movieCastViewModel)); }
public async Task <IActionResult> Create(int?movieId, MovieActorCreateViewModel movieCastCreateViewModel) { if (movieId == null) { return(NotFound()); } if (!ModelState.IsValid) { return(View(movieCastCreateViewModel)); } var castDetails = await _mediator.Send(new GetMovieActorDetailsQuery(movieId.Value, movieCastCreateViewModel.ActorId)); if (castDetails != null) { ModelState.AddModelError("ActorId", "Actor is already present as cast.So please select other actor"); return(View(movieCastCreateViewModel)); } var movieCast = _mapper.Map <MovieActor>(movieCastCreateViewModel); var movie = await _mediator.Send(new CreateMovieActorCommand(movieCast)); return(RedirectToAction(nameof(Index), new { movieId = movieId })); }