public async Task Delete(string id) { if (string.IsNullOrEmpty(id)) { throw new AppException("Bad Request! Invalid question id"); } var questionnaire = _questionnaireRepository.Get(x => x.ID == id); if (questionnaire != null) { var detail = _questionnaireRepository.GetQuestionnaireDetail(questionnaire.ID).Result; _questionnaireRepository.Remove(questionnaire); if (detail != null) { await _questionnaireRepository.DeleteQuestionnaireDetail(detail); } await _unitOfWork.CommitAsync(); } }