Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * {@inheritDoc}
- */
- @Override
- public void createMovie(
- @NotNull @Valid final MovieDTO movieDTO,
- @Min(1) final Long userId
- ) throws ResourceNotFoundException {
- this.editionRepository.save(this.movieDtoToEditionEntity(movieDTO, userId));
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void accept(
- @Min(1) final Long editionID
- ) throws ResourceNotFoundException {
- final EditionEntity editionEntity
- = this.editionRepository
- .findByIdAndStatus(editionID, EditStatus.WAITING)
- .orElseThrow(
- () -> new ResourceNotFoundException("No edition found with id " + editionID)
- );
- final MovieEntity movie = new MovieEntity();
- editionEntity.getTitle().ifPresent(movie::setTitle);
- editionEntity.getType().ifPresent(movie::setType);
- editionEntity.getDescription().ifPresent(movie::setDescription);
- editionEntity.getBudget().ifPresent(movie::setBudget);
- editionEntity.getBoxOffice().ifPresent(movie::setBoxOffice);
- editionEntity.getOfficialSite().ifPresent(movie::setOfficialSite);
- editionEntity.getReleaseDate().ifPresent(movie::setReleaseDate);
- editionEntity.getStoryline().ifPresent(movie::setStoryline);
- editionEntity.setStatus(EditStatus.ACCEPTED);
- this.editionRepository.save(editionEntity);
- this.movieRepository.save(movie);
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void reject(
- @Min(1) final Long editionID
- ) throws ResourceNotFoundException {
- final EditionEntity editionEntity
- = this.editionRepository
- .findByIdAndStatus(editionID, EditStatus.WAITING)
- .orElseThrow(
- () -> new ResourceNotFoundException("No edition found with id " + editionID)
- );
- editionEntity.setStatus(EditStatus.REJECTED);
- this.editionRepository.save(editionEntity);
- }
- /**
- * Converter MovieDTO to EditionEntity.
- *
- * @param movieDTO MovieDTO object
- * @return The edition entity
- * @throws ResourceNotFoundException if no user found
- */
- private EditionEntity movieDtoToEditionEntity(
- final MovieDTO movieDTO,
- final Long userId
- ) throws ResourceNotFoundException {
- final EditionEntity editionEntity = new EditionEntity();
- editionEntity.setUserId(this.userRepository
- .findByIdAndEnabledTrue(userId)
- .orElseThrow(() -> new ResourceNotFoundException("No user found with id " + userId)));
- editionEntity.setEditType(movieDTO.getType().toEditType());
- editionEntity.setStatus(EditStatus.WAITING);
- editionEntity.setTitle(movieDTO.getTitle());
- editionEntity.setType(movieDTO.getType());
- movieDTO.getDescription().ifPresent(editionEntity::setDescription);
- movieDTO.getBudget().ifPresent(editionEntity::setBudget);
- if(movieDTO.getType() == MovieType.CINEMA) {
- movieDTO.getBoxOffice().ifPresent(editionEntity::setBoxOffice);
- }
- movieDTO.getOfficialSite().ifPresent(editionEntity::setOfficialSite);
- movieDTO.getStoryline().ifPresent(editionEntity::setStoryline);
- return editionEntity;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement