public async override Task <CommandResult> ProcessAsync(DeleteQuestion command) { var isQuestionPresent = await _reader.ExistsAsync(command.QuestionId); if (!isQuestionPresent) { throw new DomainValidationException(command.Id, "Question doesn't exist", 15); } var question = new Question(); await _writer.DeleteAsync(command.QuestionId); return(new VoidResult(command.Id, true)); }