Exemple #1
0
        public async Task <Quiz> Handle(GetQuizByIdQuery request, CancellationToken cancellationToken)
        {
            var quizSpecification = new QuizByIdSpecification(request.QuizId);
            var quiz = await _quizRepository.GetAsync(quizSpecification);

            return(quiz);
        }
Exemple #2
0
        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);
        }