示例#1
0
        public static bool AddFillinQuestion(Question question, FillQuestion detail)
        {
            context.Questions.Add(question);

            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                log.Error(e.Message);
                return(false);
            }

            detail.qid = question.qid;
            context.FillQuestions.Add(detail);

            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                log.Error(e.Message);
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// 添加试题
        /// </summary>
        /// <param name="id">试题id</param>
        /// <param name="testpaperid">试卷id</param>
        /// <param name="testType">跳转前的试卷类型</param>
        /// <param name="subject">跳转前的试题科目</param>
        /// <param name="section">跳转前的试题章节</param>
        /// <param name="diffcult">跳转前的试题难易程度</param>
        /// <returns></returns>
        public ActionResult Add(Guid?id, int?testpaperid, string type, string subject, string section, string diffcult)
        {
            TestPaperInfo testPaperInfo = db.TestPaperInfoes.Find(testpaperid);

            switch (type)
            {
            case "选择题":
                ChoiceQuestion choicequestion = db.ChoiceQuestions.Find(id);
                testPaperInfo.ChoiceQuestions.Add(choicequestion);
                break;

            case "填空题":
                FillQuestion fillquestion = db.FillQuestions.Find(id);
                testPaperInfo.FillQuestions.Add(fillquestion);
                break;

            case "判断题":
                CheckQuestion checkquestion = db.CheckQuestions.Find(id);
                testPaperInfo.CheckQuestions.Add(checkquestion);
                break;

            case "计算题":
                CalculateQuestion calculatate = db.CalculateQuestion.Find(id);
                testPaperInfo.CalculateQuestions.Add(calculatate);
                break;
            }
            db.SaveChanges();//保存数据
            //返回到添加试题页面
            return(RedirectToAction("AddQuestions", new { id = testpaperid, testType = type, subject = subject, section = section, diffcult = diffcult }));
        }
        public ActionResult DeleteConfirmed(Guid id)
        {
            FillQuestion fillQuestion = db.FillQuestions.Find(id);

            db.FillQuestions.Remove(fillQuestion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Title,Options,Answer,Score,Subject,Section,Difficulty")] FillQuestion fillQuestion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(fillQuestion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(fillQuestion));
 }
        public ActionResult Create([Bind(Include = "Id,Title,Options,Answer,Score,Subject,Section,Difficulty")] FillQuestion fillQuestion)
        {
            if (ModelState.IsValid)
            {
                fillQuestion.Id = Guid.NewGuid();
                db.FillQuestions.Add(fillQuestion);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(fillQuestion));
        }
        // GET: FillQuestions/Delete/5
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FillQuestion fillQuestion = db.FillQuestions.Find(id);

            if (fillQuestion == null)
            {
                return(HttpNotFound());
            }
            return(View(fillQuestion));
        }
示例#7
0
        public static bool DeleteQuestion(Question question)
        {
            switch (question.type)
            {
            case (int)QuestionType.SINGLECHOICE:
            case (int)QuestionType.MULTICHOICE:
                ChoiceQuestion cdetail = GetChoiceQuestionByQid(question.qid);
                context.ChoiceQuestions.Remove(cdetail);
                break;

            case (int)QuestionType.FILLIN:
                FillQuestion fdetail = GetFillQuestionByQid(question.qid);
                context.FillQuestions.Remove(fdetail);
                break;

            case (int)QuestionType.DISCUSS:
                DiscussQuestion ddetail = GetDiscussQuestionByQid(question.qid);
                context.DiscussQuestions.Remove(ddetail);
                break;

            default:
                return(false);
            }

            context.Questions.Remove(question);

            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                log.Error(e.Message);
                return(false);
            }
            return(true);
        }
示例#8
0
        public JsonResult SubmitQuestion()
        {
            if (!Permission.PremissionNeed(Request, Response, Session, UserRank.ADMINISTATOR))
            {
                return(Json(false));
            }

            User   user       = (User)Session["user"];
            string text       = Request["text"];
            int    section    = Convert.ToInt32(Request["section"]);
            int    type       = Convert.ToInt32(Request["type"]);
            double difficulty = Convert.ToDouble(Request["difficulty"]);
            int    number     = Convert.ToInt32(Request["number"]);
            string choicea    = Request["choicea"];
            string choiceb    = Request["choiceb"];
            string choicec    = Request["choicec"];
            string choiced    = Request["choiced"];
            string answer     = Request["answer"];
            bool   result     = false;

            Question question = new Question
            {
                type = type,
                kid  = section,
                suggest_difficulty = difficulty,
                difficulty         = 0,
                number             = 0
            };

            switch (type)
            {
            case (int)QuestionType.SINGLECHOICE:
                ChoiceQuestion sc = new ChoiceQuestion
                {
                    content    = text,
                    choice_num = number,
                    choice_1   = choicea,
                    choice_2   = choiceb,
                    choice_3   = choicec,
                    choice_4   = choiced,
                    answer     = Convert.ToInt32(answer)
                };
                result = ExamView.AddChoiceQuestion(question, sc);
                break;

            case (int)QuestionType.MULTICHOICE:
                ChoiceQuestion mc = new ChoiceQuestion
                {
                    content    = text,
                    choice_num = number,
                    choice_1   = choicea,
                    choice_2   = choiceb,
                    choice_3   = choicec,
                    choice_4   = choiced,
                    answer     = Convert.ToInt32(answer.Replace(",", ""))
                };
                result = ExamView.AddChoiceQuestion(question, mc);
                break;

            case (int)QuestionType.FILLIN:
                FillQuestion fq = new FillQuestion
                {
                    content = text,
                    answer  = answer
                };
                result = ExamView.AddFillinQuestion(question, fq);
                break;

            case (int)QuestionType.DISCUSS:
                DiscussQuestion dq = new DiscussQuestion
                {
                    content = text,
                    answer  = answer
                };
                result = ExamView.AddDiscussQuestion(question, dq);
                break;

            default:
                break;
            }

            return(Json(result));
        }