public async Task <Quiz> Handle(GetQuizByIdQuery request, CancellationToken cancellationToken) { var quizSpecification = new QuizByIdSpecification(request.QuizId); var quiz = await _quizRepository.GetAsync(quizSpecification); return(quiz); }
public async Task <bool> Handle(DeleteQuizCommand request, CancellationToken cancellationToken) { var quizSpecification = new QuizByIdSpecification(request.QuizId); if (!await _quizRepository.AnyAsync(quizSpecification)) { _logger.LogError($"Quiz with id {request.QuizId} not found"); throw new InvalidOperationException($"Chapter with id {request.QuizId} not found"); } if (!await _quizRepository.DeleteAsync(quizSpecification)) { _logger.LogError($"Delete chapter failed"); throw new InvalidOperationException($"Delete chapter failed"); } var message = _mapper.Map <DeleteQuizMessage>(request); await _sendEndpointProvider.Send(message, cancellationToken); return(true); }