Example #1
0
        public static bool AddDiscussQuestion(Question question, DiscussQuestion detail)
        {
            context.Questions.Add(question);

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

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

            try
            {
                context.SaveChanges();
            }
            catch (Exception e)
            {
                log.Error(e.Message);
                return(false);
            }
            return(true);
        }
Example #2
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);
        }
Example #3
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));
        }