public void Execute(ScorePhotoDto request) { _validator.ValidateAndThrow(request); if (_context.Photos.Find(request.PhotoId) == null) { throw new EntityNotFoundException(request.PhotoId, typeof(Photo)); } if (_context.UserPhotoScores.Any(s => s.PhotoId == request.PhotoId && s.UserId == _actor.Id)) { throw new ActionNotRepeatableException(UseCase.getUseCase(this.Id), _actor); } var userPhotoScore = _mapper.Map <UserPhotoScore>(request); userPhotoScore.UserId = _actor.Id; _context.UserPhotoScores.Add(userPhotoScore); _context.SaveChanges(); }
public IActionResult ScorePhoto(int photoId, [FromBody] ScorePhotoDto dto, [FromServices] IScorePhotoCommand command) { dto.PhotoId = photoId; _executor.ExecuteCommand(command, dto); return(NoContent()); }