示例#1
0
        public async Task <bool> Handle(DeleteQuestionCommand request, CancellationToken cancellationToken)
        {
            var questionSpecification = new QuestionByIdSpecification(request.QuestionId);

            if (!await _questionRepository.AnyAsync(questionSpecification))
            {
                _logger.LogError($"Question with id {request.QuestionId} not found");
                throw new InvalidOperationException($"Question with id {request.QuestionId} not found");
            }

            if (!await _questionRepository.DeleteAsync(questionSpecification))
            {
                _logger.LogError($"Delete question failed");
                throw new InvalidOperationException($"Delete question failed");
            }

            return(true);
        }
        public async Task <Question> Handle(GetQuestionByIdQuery request, CancellationToken cancellationToken)
        {
            var questionSpecification = new QuestionByIdSpecification(request.QuestionId);

            return(await _questionRepository.GetAsync(questionSpecification));
        }