/// <summary> /// 修改题目 /// </summary> /// <param name="Question">题目对象</param> /// <returns></returns> public bool UpdateQuestion(QuestionDTO questionDTO) { using (var transaction = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { try { using (var db = base.GDDSVSPDb) { Question question = db.Question.SingleOrDefault(p => p.QuestionID == questionDTO.QuestionID); question.QuestionnaireTypeID = questionDTO.QuestionnaireTypeID; question.QuestionWarehouseID = questionDTO.QuestionWarehouseID; question.QuestionTitle = questionDTO.QuestionTitle; question.QuestionNumber = questionDTO.QuestionNumber; question.QuestionTypeID = questionDTO.QuestionTypeID; question.OptionTypeID = questionDTO.OptionTypeID; question.MaxOptionNumber = questionDTO.MaxOptionNumber; question.MinOptionNumber = questionDTO.MinOptionNumber; question.IsAnswer = questionDTO.IsAnswer; question.QuestionState = questionDTO.QuestionState; db.SaveChanges(); var delList = db.QuestionOptionMapping.Where(p => p.QuestionID == questionDTO.QuestionID); db.QuestionOptionMapping.RemoveRange(delList); db.SaveChanges(); List <QuestionOptionMapping> questionOptionMappings = new List <QuestionOptionMapping>(); for (int i = 0; i < questionDTO.Options.Count; i++) { QuestionOptionMapping obj = new QuestionOptionMapping(); obj.QuestionOptionID = Guid.NewGuid(); obj.QuestionID = questionDTO.QuestionID; obj.QuestionWarehouseID = questionDTO.QuestionWarehouseID; obj.OptionID = questionDTO.Options[i].OptionID; questionOptionMappings.Add(obj); } db.QuestionOptionMapping.AddRange(questionOptionMappings); db.SaveChanges(); transaction.Complete(); } } catch (Exception ex) { throw ex; } } return(true); }
/// <summary> /// 添加题目 /// </summary> /// <param name="questionDTO">题目对象</param> /// <returns></returns> public bool InsertQuestion(QuestionDTO questionDTO) { using (var transaction = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { try { using (var db = base.GDDSVSPDb) { Guid questionID = Guid.NewGuid(); Question question = Mapper.Map <Question>(questionDTO); question.QuestionID = questionID; db.Question.Add(question); db.SaveChanges(); List <QuestionOptionMapping> questionOptionMappings = new List <QuestionOptionMapping>(); for (int i = 0; i < questionDTO.Options.Count; i++) { QuestionOptionMapping obj = new QuestionOptionMapping(); obj.QuestionOptionID = Guid.NewGuid(); obj.QuestionWarehouseID = questionDTO.QuestionWarehouseID; obj.QuestionID = questionID; obj.OptionID = questionDTO.Options[i].OptionID; questionOptionMappings.Add(obj); } db.QuestionOptionMapping.AddRange(questionOptionMappings); db.SaveChanges(); transaction.Complete(); } } catch (Exception ex) { throw ex; } } return(true); }