Пример #1
0
        public async Task <IActionResult> RemoveQuestionnaireQuestionAsync(string questionGuid)
        {
            var questionBiz = new QuestionnaireQuestionBiz();
            var model       = await questionBiz.GetAsync(questionGuid);

            if (model == null)
            {
                return(Failed(ErrorCode.UserData, "未找到此问题"));
            }
            var questionnaireModel = await new QuestionnaireBiz().GetAsync(model.QuestionnaireGuid);

            if (questionnaireModel.IssuingStatus)
            {
                return(Failed(ErrorCode.UserData, "问卷已发放不能修改"));
            }
            var dependModels = await questionBiz.GetModelsByDependQuestionGuidAsync(model.QuestionGuid);

            if (dependModels.Any())
            {
                return(Failed(ErrorCode.UserData, $"该问题被第{string.Join("、", dependModels.OrderBy(a => a.Sort).Select(a => a.Sort))}题依赖,无法删除"));
            }
            var result = await questionBiz.RemoveQuestionAsync(model);

            return(result ? Success() : Failed(ErrorCode.DataBaseError, "移除问题失败"));
        }