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