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)); }