Example #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // QueryString id stands for EXAM_RESULT_ID
                string strId = Request.QueryString.Get("id");
                if (!string.IsNullOrEmpty(strId))
                {
                    FillHeading(strId);
                }
            }

            string strJudgeData = hfJudgeData.Value;

            if (!string.IsNullOrEmpty(strJudgeData))
            {
                string                   strTaskResultId = Request.QueryString.Get("id");
                string[]                 strItmes        = strJudgeData.Split('$');
                string[]                 strJudges       = new string[3];
                TaskResultBLL            bll             = new TaskResultBLL();
                TaskResultAnswer         answer          = null;
                IList <TaskResultAnswer> answers         = new List <TaskResultAnswer>();

                foreach (string item in strItmes)
                {
                    strJudges            = item.Split('|');
                    answer               = new TaskResultAnswer();
                    answer.TaskResultId  = int.Parse(strTaskResultId);
                    answer.PaperItemId   = int.Parse(strJudges[0]);
                    answer.JudgeStatusId = int.Parse(strJudges[1]);
                    answer.JudgeScore    = decimal.Parse(strJudges[2]);
                    answer.JudgeRemark   = strJudges[3];

                    answers.Add(answer);
                }

                bll.UpdateTaskResultAnswers(int.Parse(strTaskResultId), answers);
            }
        }
Example #2
0
        protected void FillPaper()
        {
            // QueryString id stands for EXAM_RESULT_ID
            string strId = Request.QueryString.Get("id");

            // Not pass id
            if (string.IsNullOrEmpty(strId))
            {
                SessionSet.PageMessage = "参数错误!";

                return;
            }

            PaperItemBLL        kBLL                = new PaperItemBLL();
            PaperSubjectBLL     kBSLL               = new PaperSubjectBLL();
            TaskResultBLL       taskResultBLL       = new TaskResultBLL();
            TaskResultAnswerBLL taskResultAnswerBLL = new TaskResultAnswerBLL();

            RailExam.Model.TaskResult taskResult = taskResultBLL.GetTaskResult(int.Parse(strId));
            // Not found
            if (taskResult == null)
            {
                SessionSet.PageMessage = "数据错误!";

                return;
            }

            IList <PaperSubject>     PaperSubjects     = kBSLL.GetPaperSubjectByPaperId(taskResult.PaperId);
            PaperSubject             paperSubject      = null;
            IList <PaperItem>        PaperItems        = null;
            IList <TaskResultAnswer> taskResultAnswers = taskResultAnswerBLL.GetTaskResultAnswers(taskResult.TaskResultId);

            if (PaperSubjects != null)
            {
                for (int i = 0; i < PaperSubjects.Count; i++)
                {
                    paperSubject = PaperSubjects[i];
                    PaperItems   = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId);
                    Response.Write("<table style='width:100%;'>");
                    Response.Write(
                        " <tr class=\"tableFont\" > <td colspan='3' align='left' style='background-color:#54FF9F' >");
                    Response.Write(" " + CommonTool.GetChineseNumber(i + 1) + "");
                    Response.Write(".&nbsp;" + paperSubject.SubjectName + "");
                    Response.Write("  (共" + paperSubject.ItemCount + "题,共" + paperSubject.ItemCount * paperSubject.UnitScore + "分)</td></tr >");

                    if (PaperItems != null)
                    {
                        for (int j = 0; j < PaperItems.Count; j++)
                        {
                            PaperItem paperItem = PaperItems[j];
                            int       k         = j + 1;

                            Response.Write("<tr class=\"tableFont\" > <td colspan='3' style='text-align:left; background-color:gainsboro;'>&nbsp;&nbsp;&nbsp;"
                                           + k + ".&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" + paperSubject.UnitScore +
                                           "分)</td></tr >");

                            // 组织用户答案
                            TaskResultAnswer theTaskResultAnswer = null;
                            string[]         strUserAnswers      = new string[0];
                            string           strUserAnswer       = string.Empty;

                            foreach (TaskResultAnswer resultAnswer in taskResultAnswers)
                            {
                                if (resultAnswer.PaperItemId == paperItem.PaperItemId)
                                {
                                    theTaskResultAnswer = resultAnswer;
                                    break;
                                }
                            }

                            // 若子表无记录,结束页面输出



                            if (theTaskResultAnswer == null)
                            {
                                SessionSet.PageMessage = "数据错误!";

                                return;
                            }

                            // 否则组织考生答案
                            if (theTaskResultAnswer.Answer != null)
                            {
                                strUserAnswers = theTaskResultAnswer.Answer.Split(new char[] { '|' });
                            }
                            for (int n = 0; n < strUserAnswers.Length; n++)
                            {
                                if (n == 0)
                                {
                                    strUserAnswer += CommonTool.GetSelectLetter(int.Parse(strUserAnswers[n]) + 1);
                                }
                                else
                                {
                                    strUserAnswer += "," + CommonTool.GetSelectLetter(int.Parse(strUserAnswers[n]) + 1);
                                }
                            }

                            //多选



                            if (paperSubject.ItemTypeId == 2)
                            {
                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-"
                                                   + j.ToString() + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write(" <tr class=\"tableFont\" ><td colspan='3' align='left'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + "<input type='checkbox' id='Answer" + strij + "' name='Answer" +
                                                   strName
                                                   + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "")
                                                   + " disabled/> " + CommonTool.GetSelectLetter(n + 1)
                                                   + "." + strAnswer[n] + "</td></tr >");
                                }
                            }
                            else
                            {
                                //单选



                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString()
                                                   + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write("<tr class=\"tableFont\" > <td colspan='3' align='left'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + "<input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName
                                                   + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "")
                                                   + " disabled/> " + CommonTool.GetSelectLetter(n + 1)
                                                   + "." + strAnswer[n] + "</td></tr >");
                                }
                            }

                            // 组织正确答案
                            string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' });
                            string   strRightAnswer  = "";
                            for (int n = 0; n < strRightAnswers.Length; n++)
                            {
                                if (n == 0)
                                {
                                    strRightAnswer += CommonTool.GetSelectLetter(n + 1);
                                }
                                else
                                {
                                    strRightAnswer += "," + CommonTool.GetSelectLetter(n + 1);
                                }
                            }

                            Response.Write(" <tr class=\"tableFont\"><td colspan='3' style='color:green; text-align:left; '>&nbsp;&nbsp;&nbsp;★标准答案:"
                                           + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" +
                                           paperItem.PaperItemId
                                           + "'>" + strRightAnswer + "</span></td></tr>");
                            Response.Write(" <tr class=\"tableFont\"><td colspan='3' style='color:blue; text-align:left; '>&nbsp;&nbsp;&nbsp;★考生答案:"
                                           + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" +
                                           paperItem.PaperItemId
                                           + "'>" + strUserAnswer + "</span></td></tr>");
                            Response.Write(" <tr class=\"tableFont\" score='" + paperItem.Score
                                           + "'><td style='color:purple; text-align:left; width:20%; '>★评分结果:"
                                           //+ "<input type='radio' id='rbnCorrect" + "-" + paperItem.PaperItemId
                                           //+ "' name='rbnJudge" + "-" + paperItem.PaperItemId
                                           //+ "' " + (strRightAnswer.Equals(strUserAnswer) ? "checked" : "")
                                           //+ "><font color='green'>对</font></input>"
                                           //+ "<input type='radio' id='rbnIncorrect" + "-" + paperItem.PaperItemId
                                           //+ "' name='rbnJudge" + "-" + paperItem.PaperItemId
                                           //+ "' " + (strRightAnswer.Equals(strUserAnswer) ? "" : "checked")
                                           //+ "><font color='red'>错</font></input>"
                                           //+ "<input type='radio' id='rbnPartlyCorrect" + "-" + paperItem.PaperItemId
                                           //+ "' name='rbnJudge" + "-" + paperItem.PaperItemId + "'>半对</input>"
                                           + GetJudgeInputs(paperItem.PaperItemId, theTaskResultAnswer.JudgeStatusId)
                                           + "&nbsp;&nbsp;&nbsp;&nbsp;"
                                           + "得分&nbsp;" + theTaskResultAnswer.JudgeScore.ToString()
                                           + "&nbsp;&nbsp;&nbsp;"
                                           + "评语&nbsp;" + theTaskResultAnswer.JudgeRemark + ""
                                           + "</td></tr>");
                        }
                    }
                    Response.Write(" </table> ");
                }
            }
            else
            {
                SessionSet.PageMessage = "数据错误!";

                return;
            }
        }
Example #3
0
        protected void FillResultPaper(string strTaskResultId)
        {
            string strId = strTaskResultId;

            // Not pass id
            if (string.IsNullOrEmpty(strId))
            {
                return;
            }

            PaperItemBLL        kBLL                = new PaperItemBLL();
            PaperSubjectBLL     kBSLL               = new PaperSubjectBLL();
            TaskResultBLL       examResultBLL       = new TaskResultBLL();
            TaskResultAnswerBLL examResultAnswerBLL = new TaskResultAnswerBLL();
            TaskResult          examResult          = examResultBLL.GetTaskResult(int.Parse(strId));

            // Not found
            if (examResult == null)
            {
                return;
            }

            IList <PaperSubject>     PaperSubjects     = kBSLL.GetPaperSubjectByPaperId(examResult.PaperId);
            PaperSubject             paperSubject      = null;
            IList <PaperItem>        PaperItems        = null;
            IList <TaskResultAnswer> examResultAnswers = examResultAnswerBLL.GetTaskResultAnswers(examResult.TaskResultId);

            if (PaperSubjects != null)
            {
                for (int i = 0; i < PaperSubjects.Count; i++)
                {
                    paperSubject = PaperSubjects[i];
                    PaperItems   = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId);
                    Response.Write("<table width='100%' class='contentTable'>");
                    Response.Write(" <tr > <td align='left' style='background-color:#54FF9F' >");
                    Response.Write(" " + GetNo(i) + "");
                    Response.Write(".&nbsp;" + paperSubject.SubjectName + "");
                    Response.Write("  (共" + paperSubject.ItemCount + "题,共" + paperSubject.ItemCount * paperSubject.UnitScore + "分)</td></tr >");

                    // 用于前台JS判断是否完成全部试题
                    hfPaperItemsCount.Value = paperSubject.ItemCount.ToString();

                    if (PaperItems != null)
                    {
                        for (int j = 0; j < PaperItems.Count; j++)
                        {
                            PaperItem paperItem = PaperItems[j];
                            int       k         = j + 1;

                            Response.Write("<tr > <td style='text-align:left; background-color:gainsboro;'>&nbsp;&nbsp;&nbsp;"
                                           + k + ".&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" + paperSubject.UnitScore + "分)</td></tr >");

                            // 组织用户答案
                            TaskResultAnswer theExamResultAnswer = null;
                            string[]         strUserAnswers      = new string[0];
                            string           strUserAnswer       = string.Empty;

                            foreach (TaskResultAnswer resultAnswer in examResultAnswers)
                            {
                                if (resultAnswer.PaperItemId == paperItem.PaperItemId)
                                {
                                    theExamResultAnswer = resultAnswer;
                                    break;
                                }
                            }

                            // 若子表无记录,结束页面输出



                            if (theExamResultAnswer == null)
                            {
                                SessionSet.PageMessage = "数据错误!";

                                return;
                            }

                            // 否则组织考生答案
                            if (theExamResultAnswer.Answer != null)
                            {
                                strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' });
                            }
                            for (int n = 0; n < strUserAnswers.Length; n++)
                            {
                                string strN = intToString(int.Parse(strUserAnswers[n]) + 1);
                                if (n == 0)
                                {
                                    strUserAnswer += strN;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN;
                                }
                            }

                            //多选



                            if (paperSubject.ItemTypeId == 2)
                            {
                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN  = intToString(n + 1);
                                    string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-"
                                                   + j.ToString() + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write(" <tr ><td align='left'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + "<input type='checkbox' id='Answer" + strij + "' name='Answer" + strName
                                                   + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "")
                                                   + " disabled/> " + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }
                            else
                            {
                                //单选



                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN  = intToString(n + 1);
                                    string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString()
                                                   + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write("<tr > <td align='left'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + "<input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName
                                                   + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "")
                                                   + " disabled/> " + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }

                            // 组织正确答案
                            string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' });
                            string   strRightAnswer  = "";
                            for (int n = 0; n < strRightAnswers.Length; n++)
                            {
                                string strN = intToString(int.Parse(strRightAnswers[n]) + 1);
                                if (n == 0)
                                {
                                    strRightAnswer += strN;
                                }
                                else
                                {
                                    strRightAnswer += "," + strN;
                                }
                            }

                            Response.Write(" <tr><td style='color:green; text-align:left; '>&nbsp;&nbsp;&nbsp;★标准答案:"
                                           + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" + paperItem.PaperItemId
                                           + "'>" + strRightAnswer + "</span></td></tr>");

                            Response.Write(" <tr><td style='color:blue; text-align:left; '>&nbsp;&nbsp;&nbsp;★考生答案:"
                                           + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" + paperItem.PaperItemId
                                           + "'>" + strUserAnswer + "</span></td></tr>");

                            Response.Write(" <tr score='" + paperItem.Score
                                           + "'><td style='color:purple; text-align:left; '>★"//

                                           + "得分<input type='text'  readonly id='txtScore" + "-" + paperItem.PaperItemId
                                           + "' name='txtScore" + "-" + paperItem.PaperItemId
                                           + "' value='" + theExamResultAnswer.JudgeScore.ToString(".00")
                                           + "' size='8'  style='width:20%'></input>&nbsp;&nbsp;&nbsp;&nbsp;"
                                           + "评语<input type='text' readonly id='txtMemo" + "-" + paperItem.PaperItemId
                                           + "' name='txtMemo" + "-" + paperItem.PaperItemId + "' size='40' value='"
                                           + theExamResultAnswer.JudgeRemark + "'  style='width:70%'></input>"
                                           + "</td></tr>");
                        }
                    }

                    Response.Write(" </table> ");
                }
            }

            Response.Write("<table width='100%'> <tr></tr><tr><td style='color:purple;text-align:left; '> ★★★该作业最终得分:" + examResult.Score + "分 </td></tr></table>");

            Response.Write("<table width='100%'> <tr><td style='text-align:center; '><a onclick='Close()' href='#'><b>关闭</b></a> </td></tr></table>");
        }