public Int32 CreatePaperTemplateOfExercise(ExaminationTask et, List<Question> readyQs) { Int32 eptId, eptqId; String eptQs; Int32[] eptQsAry; ExaminationPaperTemplate ept; ExaminationPaperTemplateQuestion eptq; ExaminationQuestionDone eqd; eptId = GetEPTId(); eptQsAry = readyQs.Select(m => m.Q_Id).ToArray(); eptQs = JsonConvert.SerializeObject(eptQsAry); ept = new ExaminationPaperTemplate { EPT_Id = eptId, ET_Id = et.ET_Id, ET_Type = et.ET_Type, EPT_PaperTemplateStatus = (Byte)PaperTemplateStatus.Undone, EPT_StartDate = et.ET_StartTime.Date, EPT_StartTime = et.ET_StartTime, // 练习试卷模板,无需开启,故“开始时间”设置为任务定义的“开始时间”。 EPT_EndTime = et.ET_StartTime, // 同上 EPT_TimeSpan = et.ET_TimeSpan, EPT_Questions = eptQs, EPT_Remark = "本试卷模板由系统于" + now.ToString("yyyy年MM月dd日") + "自动生成。", EPT_AddTime = now, EPT_Status = 1 }; olsEni.Entry(ept).State = EntityState.Added; if (0 == olsEni.SaveChanges()) { throw new Exception(ResponseMessage.SaveChangesError); } eptqId = GetEPTQId(); foreach (var q in readyQs) { eptq = new ExaminationPaperTemplateQuestion { EPTQ_Id = eptqId, EPT_Id = eptId, EPTQ_Type = q.Q_Type, EPTQ_Classify = q.QC_Id, EPTQ_Score = q.Q_Score, EPTQ_Content = q.Q_Content, EPTQ_OptionalAnswer = q.Q_OptionalAnswer, EPTQ_ModelAnswer = q.Q_ModelAnswer, EPTQ_Remark = q.Q_Remark, EPTQ_AddTime = now, EPTQ_Status = 1 }; olsEni.Entry(eptq).State = EntityState.Added; // 添加已出题记录 eqd = new ExaminationQuestionDone { ET_Id = et.ET_Id, EPT_Id = ept.EPT_Id, U_Id = uId, Q_Id = q.Q_Id }; olsEni.Entry(eqd).State = EntityState.Added; eptqId += 1; } if (0 == olsEni.SaveChanges()) { throw new Exception(ResponseMessage.SaveChangesError); } return eptId; }
private Boolean CreatePaperTemplate(ExaminationTask et, List<Question> readyQs) { Int32 eptId, eptqId; String eptQs; DateTime startTime, endTime; Int32[] eptQsAry; ExaminationPaperTemplate ept; ExaminationPaperTemplateQuestion eptq; ExaminationQuestionDone eqd; List<ExaminationPaperTemplateQuestion> tmpEPTQ = new List<ExaminationPaperTemplateQuestion>(); eptId = GetEPTId(); eptQsAry = readyQs.Select(m => m.Q_Id).ToArray(); eptQs = JsonConvert.SerializeObject(eptQsAry); startTime = et.ET_StartTime; startTime = new DateTime(nowDate.Year, nowDate.Month, nowDate.Day, startTime.Hour, startTime.Minute, startTime.Second); endTime = et.ET_EndTime; endTime = new DateTime(nowDate.Year, nowDate.Month, nowDate.Day, endTime.Hour, endTime.Minute, endTime.Second); ept = new ExaminationPaperTemplate { EPT_Id = eptId, ET_Id = et.ET_Id, ET_Type = et.ET_Type, EPT_PaperTemplateStatus = (Byte)PaperTemplateStatus.Undone, EPT_StartDate = nowDate, EPT_StartTime = startTime, EPT_EndTime = endTime, EPT_TimeSpan = et.ET_TimeSpan, EPT_Questions = eptQs, EPT_Remark = "本试卷模板由系统于" + now.ToString("yyyy年MM月dd日") + "自动生成。", EPT_AddTime = now, EPT_Status = 1 }; olsEni.Entry(ept).State = EntityState.Added; if (0 == olsEni.SaveChanges()) { throw new Exception(ResponseMessage.SaveChangesError); } eptqId = GetEPTQId(); foreach (var q in readyQs) { eptq = new ExaminationPaperTemplateQuestion { EPTQ_Id = eptqId, EPT_Id = eptId, EPTQ_Type = q.Q_Type, EPTQ_Classify = q.QC_Id, EPTQ_Score = q.Q_Score, EPTQ_Content = q.Q_Content, EPTQ_OptionalAnswer = q.Q_OptionalAnswer, EPTQ_ModelAnswer = q.Q_ModelAnswer, EPTQ_Remark = q.Q_Remark, EPTQ_AddTime = now, EPTQ_Status = 1 }; tmpEPTQ.Add(eptq); olsEni.Entry(eptq).State = EntityState.Added; // 添加已出题记录 eqd = new ExaminationQuestionDone { ET_Id = et.ET_Id, EPT_Id = ept.EPT_Id, Q_Id = q.Q_Id }; olsEni.Entry(eqd).State = EntityState.Added; eptqId += 1; } if (0 == olsEni.SaveChanges()) { throw new Exception(ResponseMessage.SaveChangesError); } return true; }