Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }