public IActionResult Update(int id, [FromBody] UpdateMovieModel model) { if (!ModelState.IsValid) { ModelState.AddModelError("error", "invalid request body"); return(BadRequest(ModelState)); } // map model to entity and set id var movie = _mapper.Map <Movie>(model); movie.ID = id; try { // update movie _movieService.Update(movie); var updatedMovie = _movieService.GetById(id); return(Ok(updatedMovie)); } catch (AppException ex) { // return error message if there was an exception return(NotFound(new { message = ex.Message })); } }
public IActionResult Update(UpdateMovieModel movieModel) { try { if (ModelState.IsValid) { var userId = int.Parse(User.FindFirst("Id").Value); var response = _moviesService.Update(movieModel.ToModel(), userId); if (response.Success) { return(RedirectToAction("ManageOverview", new { SuccessMessage = response.Message })); } else { return(RedirectToAction("ManageOverview", new { ErrorMessage = response.Message })); } } return(View(movieModel)); } catch (Exception) { return(RedirectToAction("ErrorNotFound", "Info")); } }
public async Task <ActionResult> UpdateMovie(Guid id, [FromBody] UpdateMovieModel movieModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } MovieDomainModel movieToUpdate; movieToUpdate = await _movieService.GetMovieByIdAsync(id); if (movieToUpdate == null) { ErrorResponseModel errorResponse = new ErrorResponseModel { ErrorMessage = Messages.MOVIE_DOES_NOT_EXIST, StatusCode = System.Net.HttpStatusCode.NotFound }; return(NotFound(errorResponse)); } movieToUpdate.Title = movieModel.Title; movieToUpdate.Current = movieModel.Current; movieToUpdate.Year = movieModel.Year; movieToUpdate.Rating = movieModel.Rating; CreateMovieResultModel movieDomainModel; try { movieDomainModel = await _movieService.UpdateMovie(movieToUpdate); } catch (DbUpdateException e) { ErrorResponseModel errorResponse = new ErrorResponseModel { ErrorMessage = e.InnerException.Message ?? e.Message, StatusCode = System.Net.HttpStatusCode.BadRequest }; return(BadRequest(errorResponse)); } if (!movieDomainModel.IsSuccessful) { ErrorResponseModel errorResponse = new ErrorResponseModel { ErrorMessage = movieDomainModel.ErrorMessage, StatusCode = System.Net.HttpStatusCode.InternalServerError }; return(StatusCode((int)System.Net.HttpStatusCode.InternalServerError, errorResponse)); } return(Accepted("movies//" + movieDomainModel.Movie.Id, movieDomainModel)); }
public static Movie ToModel(this UpdateMovieModel movie) { return(new Movie() { Id = movie.Id, Title = movie.Title, Description = movie.Description, MovieGenreId = movie.MovieGenreId, ImageURL = movie.ImageURL, Duration = movie.Duration }); }