Ejemplo n.º 1
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Add(Survey_QuestionAnswer model)
        {
            using (var connection = OpenConnection())
            {
                const string sql   = @"INSERT INTO dbo.Survey_QuestionAnswer
	                                (
	                                QuestionID,
	                                AnswerContent,
	                                Score,
	                                Status,
	                                ShowOrder
	                                )
                                VALUES 
	                                (
	                                @questionid,
	                                @answercontent,
	                                @score,
	                                0,
	                                @showorder
	                                )
                                  ;SELECT @@IDENTITY ID";
                var          param = new
                {
                    questionid    = model.QuestionID,
                    answercontent = model.AnswerContent,
                    score         = model.Score,
                    showorder     = model.ShowOrder
                };
                dynamic item = connection.Query <dynamic>(sql, param).FirstOrDefault();
                model.QuestionID = decimal.ToInt32(item.ID);
            }
        }
Ejemplo n.º 2
0
        public JsonResult SubmitImportQuestion(int order)
        {
            string folder     = ConfigurationManager.AppSettings["SurveyUrl"];
            string filename   = "";
            string resultName = "";
            string result     = "0";

            try
            {
                HttpFileCollectionBase FileData = Request.Files;
                filename = Path.GetFileName(FileData[0].FileName);    //获得文件名
                string fullPathname = Path.Combine(folder, filename); //文件后缀名
                string suffix       = FileData[0].FileName.Substring(FileData[0].FileName.LastIndexOf(".") + 1).ToLower();
                resultName = Guid.NewGuid() + "." + suffix;
                saveFile(FileData, folder, resultName);
                List <DataTable> dtList = new Spreadsheet().LoadExcel(HttpContext.Server.MapPath(folder) + resultName, 1);
                var questionlist        = new List <Survey_Question>();
                var answerList          = new Survey_QuestionAnswer();
                var newQuestionList     = new List <Survey_Question>();

                //题型数
                var single  = 0;
                var Multi   = 0;
                var subject = 0;
                var xingp   = 0;

                var flag     = true;
                int rowcount = 0;
                var message  = "";

                if (IsTrueTemplate(dtList[0]))
                {
                    foreach (DataRow row in dtList[0].Rows)
                    {
                        rowcount++;
                        var question = new Survey_Question();
                        //不为空的时候是题目,否则是选项
                        if (row[0].ToString() != "")
                        {
                            if (row[1].ToString() != "")
                            {
                                order = order + 1;
                                question.QuestionType = (int)((Enums.QuestionType)Enum.Parse(typeof(Enums.QuestionType), row[0].ToString()));
                                switch (question.QuestionType)
                                {
                                case 0:
                                    single++;
                                    break;

                                case 1:
                                    Multi++;
                                    break;

                                case 2:
                                    subject++;
                                    break;

                                case 3:
                                    xingp++;
                                    break;
                                }
                                question.QuestionContent = row[1].ToString();
                                question.QuestionOrder   = order;
                                questionlist.Add(question);
                            }
                            else
                            {
                                flag    = false;
                                message = message + "," + rowcount;
                            }
                        }
                        else
                        {
                            if (questionlist[questionlist.Count - 1].QuestionType != 2)
                            {
                                var ordr = questionlist[questionlist.Count - 1].Answers.Count == 0 ? 64 : (int)(System.Text.Encoding.ASCII.GetBytes(questionlist[questionlist.Count - 1].Answers.LastOrDefault().ShowOrder)[0]);
                                questionlist[questionlist.Count - 1].Answers.Add(new Survey_QuestionAnswer()
                                {
                                    AnswerContent = row[1].ToString(),
                                    ShowOrder     = ((char)(ordr + 1)).ToString()
                                });
                            }
                        }
                    }
                    message = message == "" ? "" : message.TrimStart(',') + "行,题目为空";

                    foreach (var item in questionlist)
                    {
                        if (item.QuestionType == 0 || item.QuestionType == 1)
                        {
                            if (item.Answers.Count != 0 && item.Answers.Count(p => p.AnswerContent != "") > 2)
                            {
                                newQuestionList.Add(item);
                            }
                            else
                            {
                                flag = false;
                                var mess = "题目:" + item.QuestionContent + "导入失败,客观题至少需要2个答案";
                                message = message == "" ? mess : message + ";" + mess;
                            }
                        }
                        else
                        {
                            newQuestionList.Add(item);
                        }
                    }
                    //questionlist = questionlist.OrderBy(p => p.QuestionOrder).ToList();
                    message = " 导入成功" + newQuestionList.Count + "题" + message;
                }
                else
                {
                    return(Json(new
                    {
                        result = 0,
                        content = "请使用正确的模板"
                    }, "text/html", JsonRequestBehavior.AllowGet));
                }
                return(Json(new
                {
                    questionlist = newQuestionList,
                    single = single,
                    Multi = Multi,
                    subject = subject,
                    xingp = xingp,
                    result = 1,
                    content = message
                }, "text/html", JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(new
                {
                    questionlist = new List <Survey_Question>(),
                    result = 0,
                    content = "导入失败"
                }, "text/html", JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 3
0
        public JsonResult SaveExampaper()
        {
            try
            {
                string           data     = Request.Form["exampaper"];
                dynamic          examdata = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
                Survey_Exampaper exampaper;
                int examId = examdata.examId;
                if (examId > 0)
                {
                    exampaper = SeBl.GetSurveyExampaper(examId);
                }

                exampaper = new Survey_Exampaper
                {
                    ExamDescription = examdata.examDesc,
                    ExamTitle       = examdata.examTitle,
                    ExamType        = examdata.examType,
                    ExampaperID     = examdata.examId,
                    SortID          = examdata.sortID,
                    LastUpdateTime  = DateTime.Now,
                    Questions       = new List <Survey_Question>()
                };

                if (exampaper.ExampaperID == 0)
                {
                    exampaper.UserID = CurrentUser.UserId;
                }
                for (int i = 0; i < examdata.questions.Count; i++)
                {
                    var question = new Survey_Question
                    {
                        QuestionContent  = examdata.questions[i].title,
                        QuestionOrder    = examdata.questions[i].order,
                        QuestionType     = examdata.questions[i].type,
                        Status           = 0,
                        UpdateTime       = DateTime.Now,
                        UserID           = CurrentUser.UserId,
                        LinkSortPayGrade = examdata.questions[i].sortpayGrade,
                        Answers          = new List <Survey_QuestionAnswer>()
                    };

                    question.QuestionContent = question.QuestionContent.HtmlDecode();
                    foreach (var answer in examdata.questions[i].answers)
                    {
                        var a = new Survey_QuestionAnswer
                        {
                            AnswerContent = answer.content,
                            ShowOrder     = answer.order
                        };
                        question.Answers.Add(a);
                    }
                    exampaper.Questions.Add(question);
                }
                SeBl.AddExampaper(exampaper);
                return(Json(new
                {
                    result = 1
                }, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(new
                {
                    result = 0
                }, JsonRequestBehavior.AllowGet));
            }
        }