public async Task <bool> DeleteQuestionnaireAsync(QuestionnaireHideModel questionnaireHideModel, QuestionnaireResultModel questionnaireResultModel) { return(await MySqlHelper.TransactionAsync(async (conn, trans) => { //新增删除标记表 questionnaireHideModel.Insert(conn); if (questionnaireResultModel != null) { //删除主表用户数据 await conn.DeleteAsync(questionnaireResultModel); //删除明细 await conn.DeleteListAsync <QuestionnaireResultDetailModel>("where result_guid=@id", new { id = questionnaireResultModel.ResultGuid }); } return true; })); }
public async Task <IActionResult> DeleteQuestionnaireAsync(string questionnaireGuid) { //判断问卷是否存在 var questionnaireModel = await new QuestionnaireBiz().GetAsync(questionnaireGuid); if (questionnaireModel == null || !questionnaireModel.Enable) { return(Success(false, "问卷不存在")); } var checkQuestionnaireHide = await new QuestionnaireHideBiz().GetQuestionnaireHideModelAsync(UserID, questionnaireModel.QuestionnaireGuid); if (checkQuestionnaireHide != null) { return(Failed(ErrorCode.DataBaseError, "已被删除,请勿重复操作")); } //判断问卷状态 var questionnaireResultModel = await new QuestionnaireResultBiz().GetQuestionnaireResultModelAsync(UserID, questionnaireGuid); List <QuestionnaireResultDetailModel> questionnaireResultDetailList = null; if (questionnaireResultModel != null) { //用户问卷明细答案 questionnaireResultDetailList = await new QuestionnaireResultDetailBiz().GetModelsByResultGuidAsync(questionnaireResultModel.ResultGuid); } //删除问卷标记数据 QuestionnaireHideModel questionnaireHideModel = new QuestionnaireHideModel() { HideGuid = Guid.NewGuid().ToString("N"), UserGuid = UserID, QuestionnaireGuid = questionnaireModel.QuestionnaireGuid, CreatedBy = UserID, CreationDate = DateTime.Now, LastUpdatedBy = UserID, LastUpdatedDate = DateTime.Now }; var result = await new QuestionnaireResultBiz().DeleteQuestionnaireAsync(questionnaireHideModel, questionnaireResultModel); return(result ? Success() : Failed(ErrorCode.DataBaseError, "删除失败")); }