public async Task <IActionResult> UpdateQuestionnaireAsync(string questionnaireGuid) { //判断问卷是否存在 var questionnaireModel = await new QuestionnaireBiz().GetAsync(questionnaireGuid); if (questionnaireModel == null || !questionnaireModel.Enable) { return(Success(false, "问卷不存在")); } //判断问卷状态 var questionnaireResultModel = await new QuestionnaireResultBiz().GetQuestionnaireResultModelAsync(UserID, questionnaireGuid); if (questionnaireResultModel != null) { return(Success(questionnaireResultModel.ResultGuid)); } questionnaireResultModel = new QuestionnaireResultModel() { ResultGuid = Guid.NewGuid().ToString("N"), QuestionnaireGuid = questionnaireGuid, UserGuid = UserID, FillStatus = false, Commented = false, CreationDate = DateTime.Now, CreatedBy = UserID, LastUpdatedBy = UserID, LastUpdatedDate = DateTime.Now }; var result = await new QuestionnaireResultBiz().InsertAsync(questionnaireResultModel); return(result ? Success(questionnaireResultModel.ResultGuid) : Failed(ErrorCode.DataBaseError, "更新问卷状态失败")); }
/// <summary> /// 给返回对象赋值 /// </summary> /// <param name="questionnaireQuestionResponse"></param> /// <param name="i"></param> /// <param name="qestionnaireQestion"></param> /// <returns></returns> private static async Task Assignment(GetQuestionnaireQuestionResponseDto questionnaireQuestionResponse, int i, QuestionnaireQuestionModel qestionnaireQestion, QuestionnaireResultModel questionnaireResultModel = null) { questionnaireQuestionResponse.QuestionnaireQuestionDto = new GetQuestionnaireQuestionDto { QuestionGuid = qestionnaireQestion.QuestionGuid, QuestionNumber = i, QuestionnaireGuid = qestionnaireQestion.QuestionnaireGuid, QuestionName = qestionnaireQestion.QuestionName, QuestionType = qestionnaireQestion.QuestionType, Unit = qestionnaireQestion.Unit, PromptText = qestionnaireQestion.PromptText }; //查找答案列表 questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionnaireAnswerDtoList = await new QuestionnaireAnswerBiz().GetQuestionnaireAnswerModelAsync(questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionnaireGuid, questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionGuid); ////获取问卷指定问题 //var nextQestionnaireQestion = await new QestionnaireQestionBiz().AppointQuestionnaireQuestionModelAsync(qestionnaireQestion.QuestionnaireGuid, i + 1); ////若下一题不为空 //if (nextQestionnaireQestion != null) //{ // //下一题存在依赖 // if (nextQestionnaireQestion.IsDepend) // { // //如果下一题依赖的是当前题目,则需要遍历当前题目的选择项 // if (nextQestionnaireQestion.DependQuestion == questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionGuid) // { // questionnaireQuestionResponse.QuestionnaireQuestionDto.HasNext = true; // questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionnaireAnswerDtoList.ForEach(a => a.HasNext = nextQestionnaireQestion.DependAnswer == a.AnswerGuid); // } // else//如果依赖的不是当前题目,则需要检测之前的答卷结果有没有选择被依赖的选择项 // { // var theAnswer = await new QuestionnaireResultDetailBiz().AppointQuestionnaireResultDetailModelAsync(questionnaireResultModel.ResultGuid, nextQestionnaireQestion.QuestionGuid); // if (theAnswer.AnswerGuids.Contains(nextQestionnaireQestion.DependAnswer)) // { // questionnaireQuestionResponse.QuestionnaireQuestionDto.HasNext = true; // questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionnaireAnswerDtoList.ForEach(a => a.HasNext = true); // } // } // } // else // { // questionnaireQuestionResponse.QuestionnaireQuestionDto.HasNext = true; // questionnaireQuestionResponse.QuestionnaireQuestionDto.QuestionnaireAnswerDtoList.ForEach(a => a.HasNext = true); // } //} }