コード例 #1
0
        public bool UpdateMovie(UpdateMovieDTO updateMovieDTO)
        {
            Movie movie = movieRepository.GetByID(updateMovieDTO.Id);

            movie.Title       = updateMovieDTO.Title;
            movie.Category    = Enum.Parse <Category>(updateMovieDTO.Category);
            movie.Description = updateMovieDTO.Description;
            movie.Duration    = updateMovieDTO.Duration;
            movie.PosterUrl   = updateMovieDTO.PosterUrl;

            movie.ScreeningTimes.Clear();


            foreach (var screening in updateMovieDTO.ScreeningTimes)
            {
                ScreeningTime screeningTime = ScreeningTimeBuilder.Init(hallRepository)
                                              .SetDate(screening.Date)
                                              .SetSeatsFromHall(screening.HallId)
                                              .Build();

                movie.ScreeningTimes.Add(screeningTime);
            }

            return(movieRepository.SaveChanges() > 0);
        }
コード例 #2
0
        public void ShouldUpdateMovie()
        {
            //Arrange
            List <Row> rows = CreateRows();
            Hall       hall = CreateAndSaveHall(rows);

            CreateAndSaveHall(rows);
            CreateMovieDTO createMovieDto = CreateMovieDTODefault(hall.Id);

            movieService.CreateMovie(createMovieDto);

            UpdateMovieDTO updateMovieDTO = CreaUpdateMovieDTO();

            //Act
            movieService.UpdateMovie(updateMovieDTO);

            //Assert
            Movie updatedMovie = movieRepository.GetByID(1);

            Assert.Single(movieRepository.GetAll());
            Assert.Equal("UpdatedTitle", updatedMovie.Title);
            Assert.Equal("UpdatedPoster", updatedMovie.PosterUrl);
            Assert.Equal(100, updatedMovie.Duration);
            Assert.Equal(Category.SciFi, updatedMovie.Category);
            Assert.Equal("UpdatedDescription", updatedMovie.Description);
            Assert.Equal(1, updatedMovie.Id);
            Assert.Equal(2, updatedMovie.ScreeningTimes.Count);
        }
コード例 #3
0
ファイル: MovieService.cs プロジェクト: Madaist/Moviepedia
        public bool Update(UpdateMovieDTO movieDTO)
        {
            bool  isUpdated = true;
            Movie movie     = _movieRepository.FindById(movieDTO.Id);

            if (movie != null)
            {
                movie.Picture = movieDTO.Picture;
                movie.Title   = movieDTO.Title;

                var movieInfo = _movieInfoRepository.FindByMovieId(movie.Id);
                movieInfo.BoxOffice   = movieDTO.BoxOffice;
                movieInfo.Category    = movieDTO.Category;
                movieInfo.ReleaseYear = movieDTO.ReleaseYear;

                _movieRepository.Update(movie);
                _movieInfoRepository.Update(movieInfo);
                return(isUpdated);
            }
            else
            {
                isUpdated = false;
                return(isUpdated);
            }
        }
コード例 #4
0
 public void Update(UpdateMovieDTO model)
 {
     if (model != null)
     {
         var movie = _mapper.Map <UpdateMovieCommand>(model);
         _bus.SendCommand(movie);
     }
 }
コード例 #5
0
ファイル: MovieController.cs プロジェクト: Madaist/Moviepedia
 public IActionResult UpdateMovie(UpdateMovieDTO movieDTO)
 {
     if (_movieService.Update(movieDTO))
     {
         return(Ok());
     }
     return(NotFound(new { message = "Movie not found" }));
 }
コード例 #6
0
 public ActionResult Put([FromBody] UpdateMovieDTO updateMovieDTO)
 {
     try
     {
         _movieService.Update(updateMovieDTO);
         return(Ok());
     }
     catch (Exception e)
     {
         string errors = e.Message;
         return(ValidationProblem(new ValidationProblemDetails()
         {
             Type = "Model Validation Error",
             Detail = errors
         }));
     }
 }
コード例 #7
0
        public async Task <IActionResult> UpdateMovie(int id, [FromBody] UpdateMovieDTO MovieDto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (id != MovieDto.Id || MovieDto == null)
                {
                    return(BadRequest(ModelState));
                }

                var exists = await _movieRepo.Exists(id);

                if (!exists)
                {
                    return(NotFound());
                }

                var movie   = _mapper.Map <Movie>(MovieDto);
                var success = await _movieRepo.Update(movie);

                if (!success)
                {
                    ModelState.AddModelError("", "Something went wrong when updating the record");
                    return(StatusCode(500, ModelState));
                }

                return(NoContent());
            }
            catch (Exception e)
            {
                return(StatusCode(500, "Something went wrong.Please contact your admin"));
            }
        }
コード例 #8
0
 public ActionResult <bool> UpdateMovie(UpdateMovieDTO updateMovieDTO)
 {
     return(Created("", movieService.UpdateMovie(updateMovieDTO)));
 }