private string GetFillPaperString(string strId) { string strPaperString = ""; PaperItemBLL paperItemBLL = new PaperItemBLL(); PaperSubjectBLL paperSubjectBLL = new PaperSubjectBLL(); IList <PaperSubject> paperSubjects = paperSubjectBLL.GetPaperSubjectByPaperId(int.Parse(strId)); if (paperSubjects != null) { for (int i = 0; i < paperSubjects.Count; i++) { PaperSubject paperSubject = paperSubjects[i]; IList <PaperItem> paperItems = paperItemBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId); strPaperString += " <table width='100%' border='0' cellpadding='0' cellspacing='0'>"; strPaperString += " <tr><td style='font-size:21px'>"; strPaperString += " " + GetNo(i) + "、" + paperSubject.SubjectName; strPaperString += " (共" + paperItems.Count + "题,共" + paperItems.Count * paperSubject.UnitScore + "分)</td></tr>"; if (paperItems != null) { for (int j = 0; j < paperItems.Count; j++) { PaperItem paperItem = paperItems[j]; int k = j + 1; string strij = i.ToString() + j.ToString(); strPaperString += "<tr><td > " + k + "." + paperItem.Content + " (" + paperItem.Score + "分)</td></tr >"; if (paperSubject.ItemTypeId == 2) //多选 { string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); strPaperString += "<tr><td > " + 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); strPaperString += "<tr><td > " + strN + "." + strAnswer[n] + "</td></tr>"; } } } } strPaperString += "</table>"; } } return(strPaperString); }
private void CheckAnswer(string strAnswer) { string strId = Request.QueryString.Get("id"); PaperBLL paperBLL = new PaperBLL(); RailExam.Model.Paper paper = paperBLL.GetPaper(int.Parse(strId)); PaperItemBLL paperItemBLL = new PaperItemBLL(); string[] strAnswers = strAnswer.Split(new char[] { '$' }); decimal nanswerScore = 0; decimal nScore = paper.TotalScore; for (int n = 0; n < strAnswers.Length; n++) { string str2 = strAnswers[n].ToString(); string[] str3 = str2.Split(new char[] { '|' }); string strPaperItemId = str3[0].ToString(); PaperItem paperItem = paperItemBLL.GetPaperItem(int.Parse(strPaperItemId)); string strTrueAnswer = str2.ToString().Substring(strPaperItemId.Length + 1); if (paperItem.StandardAnswer == strTrueAnswer) { nanswerScore += paperItem.Score; } } string strA = "得分为" + nanswerScore + ",正确率为" + (nanswerScore * 100 / nScore).ToString("0.00") + "%"; Response.Write("<script>alert('提交成功!" + strA + "'); top.window.close();</script>"); }
/// <summary> /// 调用举例:TestPaperModel.GetInstance().ParseXml("TestPaper/TestPaper", "Subject"); /// </summary> /// <param name="path"></param> /// <param name="findstr"></param> /// <returns></returns> public void ParseXml(string xmlStr, string findStr) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlStr); XmlNodeList courseList = xmlDoc.SelectNodes(findStr); //Debug.Log(courseList.Count); foreach (XmlNode course in courseList) { Paper paper = new Paper(); XmlNode itemRootNode = course; XmlElement bookElement = (XmlElement)itemRootNode; XmlAttribute attr = bookElement.GetAttributeNode("title"); paper.title = attr.InnerText;//大标题 XmlNodeList itemList = course.SelectNodes("item"); for (int i = 0; i < itemList.Count; i++) { PaperItem sItem = new PaperItem(); XmlElement itemElement = (XmlElement)itemList[i]; sItem.question = itemElement.GetAttributeNode("question").InnerXml; sItem.options = itemElement.GetAttributeNode("options").InnerXml.Split('|'); sItem.answer = itemElement.GetAttributeNode("answer").InnerXml; paper.itemList.Add(sItem); } paperList.Add(paper); } }
void Awake() { if (Instance == null) { Instance = this; } else { Debug.Log("Warning: multiple " + this + " in scene!"); } }
internal void Process(List <Shade> shades) { RawShades = shades; IsResultReady = false; PaperParser.Process(shades); ShadeItemKeys.Clear(); if (PaperParser.MainReady) { foreach (ItemParser itemParser in ItemParsers) { itemParser.Process(PaperParser); ShadeItemKeys.AddRange(itemParser.ItemKeys); } SetParser.Process(PaperParser); PaperItem[] keys = new PaperItem[Assessment.GetTypeLength(Assessment.AssessmentType)]; for (int i = 0; i < keys.Length; i++) { keys[i] = new PaperItem(false, false, false, false, false); } foreach (ShadeItemKey shadeItemKey in ShadeItemKeys) { switch (shadeItemKey.Key) { case Key.A: keys[shadeItemKey.ItemNumber - 1].A = true; break; case Key.B: keys[shadeItemKey.ItemNumber - 1].B = true; break; case Key.C: keys[shadeItemKey.ItemNumber - 1].C = true; break; case Key.D: keys[shadeItemKey.ItemNumber - 1].D = true; break; case Key.E: keys[shadeItemKey.ItemNumber - 1].E = true; break; } } AnswerParser = AnswerParser.Parse(Assessment, keys, SetParser.SetParserResult); IsResultReady = true; } }
public void Init(PaperItem _pItem) { pItem = _pItem; transform.Find("question").GetComponent <Text>().text = pItem.question; transform.Find("question/answer").GetComponent <Text>().text = string.Empty; togs = transform.GetComponentsInChildren <Toggle>(); for (int j = 0; j < togs.Length; j++) { togs[j].transform.Find("Label").GetComponent <Text>().text = pItem.options[j]; string answer = pItem.answer;//正确答案 string tName = togs[j].name; togs[j].onValueChanged.AddListener(delegate(bool isOn) { OnValueChanged(isOn, answer, tName); }); } }
public PaperItem GetPaperItem(int paperItemId) { PaperItem item = null; Database db = DatabaseFactory.CreateDatabase(); string sqlCommand = "USP_paper_ITEM_G"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); db.AddInParameter(dbCommand, "p_paper_item_id", DbType.Int32, paperItemId); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { item = CreateModelObject(dataReader); break; } } return(item); }
public int AddPaperItem(PaperItem paperItem) { Database db = DatabaseFactory.CreateDatabase(); string sqlCommand = "USP_paper_ITEM_I"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); db.AddOutParameter(dbCommand, "p_paper_Item_Id", DbType.Int32, 4); db.AddInParameter(dbCommand, "p_paper_Id", DbType.Int32, paperItem.PaperId); db.AddInParameter(dbCommand, "p_paper_Subject_Id", DbType.Int32, paperItem.PaperSubjectId); db.AddInParameter(dbCommand, "p_order_Index", DbType.Int32, paperItem.OrderIndex); db.AddInParameter(dbCommand, "p_item_id", DbType.Int32, paperItem.ItemId); db.AddInParameter(dbCommand, "p_book_id", DbType.Int32, paperItem.BookId); db.AddInParameter(dbCommand, "p_chapter_id", DbType.Int32, paperItem.ChapterId); db.AddInParameter(dbCommand, "p_category_id", DbType.String, paperItem.CategoryId); db.AddInParameter(dbCommand, "p_org_id", DbType.Int32, paperItem.OrganizationId); db.AddInParameter(dbCommand, "p_type_id", DbType.Int32, paperItem.TypeId); db.AddInParameter(dbCommand, "p_complete_time", DbType.Int32, paperItem.CompleteTime); db.AddInParameter(dbCommand, "p_difficulty_id", DbType.Int32, paperItem.DifficultyId); db.AddInParameter(dbCommand, "p_source", DbType.String, paperItem.Source); db.AddInParameter(dbCommand, "p_version", DbType.String, paperItem.Version); db.AddInParameter(dbCommand, "p_score", DbType.Decimal, paperItem.Score); db.AddInParameter(dbCommand, "p_content", DbType.String, paperItem.Content); db.AddInParameter(dbCommand, "p_answer_count", DbType.Int32, paperItem.AnswerCount); db.AddInParameter(dbCommand, "p_select_answer", DbType.String, paperItem.SelectAnswer); db.AddInParameter(dbCommand, "p_standard_answer", DbType.String, paperItem.StandardAnswer); db.AddInParameter(dbCommand, "p_description", DbType.String, paperItem.Description); db.AddInParameter(dbCommand, "p_outdate_date", DbType.DateTime, paperItem.OutDateDate); db.AddInParameter(dbCommand, "p_used_count", DbType.Int32, paperItem.UsedCount); db.AddInParameter(dbCommand, "p_status_id", DbType.Int32, paperItem.StatusId); db.AddInParameter(dbCommand, "p_create_person", DbType.String, paperItem.CreatePerson); db.AddInParameter(dbCommand, "p_create_time", DbType.DateTime, paperItem.CreateTime); db.AddInParameter(dbCommand, "p_memo", DbType.String, paperItem.Memo); int nRecordAffected = db.ExecuteNonQuery(dbCommand); paperItem.ItemId = (int)db.GetParameterValue(dbCommand, "p_paper_Item_Id"); return(nRecordAffected); }
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(". " + 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;'> " + k + ". " + paperItem.Content + " (" + 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'> " + "<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'> " + "<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; '> ★标准答案:" + "<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; '> ★考生答案:" + "<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) + " " + "得分 " + theTaskResultAnswer.JudgeScore.ToString() + " " + "评语 " + theTaskResultAnswer.JudgeRemark + "" + "</td></tr>"); } } Response.Write(" </table> "); } } else { SessionSet.PageMessage = "数据错误!"; return; } }
/// <summary> /// 删除试题 /// </summary> /// <returns>受影响的行数</returns> public int DeletePaperItem(PaperItem paperItem) { return(DeletePaperItem(paperItem.PaperItemId)); }
/// <summary> /// 添加试题 /// </summary> /// <returns>受影响的行数</returns> public int AddPaperItem(PaperItem paperItem) { return(dal.AddPaperItem(paperItem)); }
/// <summary> /// 修改试题 /// </summary> /// <returns>受影响的行数</returns> public int UpdatePaperItem(PaperItem paperItem) { return(dal.UpdatePaperItem(paperItem)); }
protected void FillPaper() { string strId = Request.QueryString.Get("id"); if (string.IsNullOrEmpty(strId)) { SessionSet.PageMessage = "缺少参数!"; return; } PaperItemBLL kBLL = new PaperItemBLL(); // PaperSubjectBLL psBLL = new PaperSubjectBLL(); PaperSubjectBLL kBSLL = new PaperSubjectBLL(); IList <PaperSubject> PaperSubjects = kBSLL.GetPaperSubjectByPaperId(int.Parse(strId)); if (PaperSubjects != null) { for (int i = 0; i < PaperSubjects.Count; i++) { PaperSubject paperSubject = PaperSubjects[i]; IList <PaperItem> PaperItems = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId); Response.Write("<table width='95%' class='contentTable'>"); Response.Write(" <tr> <td align='left' style='background-color:#54FF9F' >"); Response.Write(" " + GetNo(i) + ""); Response.Write("、" + paperSubject.SubjectName + ""); Response.Write(" (共" + paperSubject.ItemCount + "题,共" + paperSubject.TotalScore + "分)</td></tr >"); if (PaperItems != null) { for (int j = 0; j < PaperItems.Count; j++) { PaperItem paperItem = PaperItems[j]; int k = j + 1; Response.Write("<tr > <td align='left'> " + k + ". " + paperItem.Content + " (" + paperItem.Score + "分)</td></tr >"); //多选 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'> <input type='checkbox' id='Answer" + strij + "' name='Answer" + strName + "'> " + 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'> <input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] + "</td></tr >"); } } //string[] strRightAnswer = paperItem.StandardAnswer.Split(new char[] { '|' }); //string strNew = ""; //for (int n = 0; n < strRightAnswer.Length; n++) //{ // string strN = intToString(int.Parse(strRightAnswer[n])+1); // if (n == 0) // { // strNew += strN; // } // else // { // strNew += "," + strN; // } //} //Response.Write(" <tr ><td style='background-color:#7EC0EE' align='left'>★标准答案: " + strNew + "</td></tr >"); } } Response.Write(" </table> "); } Response.Write(" <table><tr><td align='center'><a onclick='SaveRecord()' href='#'><b>提交练习</b></a> "); Response.Write(" <a onclick='Save()' href='#'><b>关闭</b></a> </td></tr></table>"); } else { SessionSet.PageMessage = "未找到记录!"; } }
protected void FillPaper() { string strId = Request.QueryString.Get("id"); PaperItemBLL paperItemBLL = new PaperItemBLL(); PaperSubjectBLL paperSubjectBLL = new PaperSubjectBLL(); IList <PaperSubject> paperSubjects = paperSubjectBLL.GetPaperSubjectByPaperId(int.Parse(strId)); if (paperSubjects != null) { for (int i = 0; i < paperSubjects.Count; i++) { PaperSubject paperSubject = paperSubjects[i]; IList <PaperItem> paperItems = paperItemBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId); Response.Write(" <table width='95%' >"); Response.Write(" <tr><td id='PaperBigTitle' >"); Response.Write(" " + GetNo(i) + "、" + paperSubject.SubjectName + ""); Response.Write(" (共" + paperItems.Count + "题,共" + paperItems.Count * paperSubject.UnitScore + "分)</td></tr>"); if (paperItems != null) { for (int j = 0; j < paperItems.Count; j++) { PaperItem paperItem = paperItems[j]; int k = j + 1; string strij = i.ToString() + j.ToString(); Response.Write("<tr><td id='PaperItem'> " + k + ". " + paperItem.Content + " (" + paperSubject.UnitScore + "分)</td></tr >"); if (paperSubject.ItemTypeId == 2) //多选 { string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); Response.Write("<tr><td id='PaperItemAnswer'> <input type='checkbox' id='Answer" + strij + "' name='Answer" + strij + "'> " + 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); Response.Write("<tr><td id='PaperItemAnswer'> <input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strij + "'> " + strN + "." + strAnswer[n] + "</td></tr>"); } } string[] strRightAnswer = paperItem.StandardAnswer.Split(new char[] { '|' }); string strNew = string.Empty; for (int n = 0; n < strRightAnswer.Length; n++) { string strN = intToString(int.Parse(strRightAnswer[n]) + 1); if (n == 0) { strNew += strN; } else { strNew += "," + strN; } } Response.Write("<tr><td id='PaperAnswer'> ★标准答案: " + strNew + "</td></tr>"); } } Response.Write("<tr><td> </td></tr></table>"); } } }
private void SavePaperItem(IList <RailExam.Model.Item> itemList, int nDifficulty, int nPaperId, int nPaperSubjectId, decimal nUnitScore) { if (itemList.Count > 0) { PaperItemBLL paperItemBLL = new PaperItemBLL(); IList <PaperItem> paperItems = new List <PaperItem>(); if (itemList.Count > nDifficulty) { Random ObjRandom = new Random(); Hashtable hashTable = new Hashtable(); while (hashTable.Count < nDifficulty) { int i = ObjRandom.Next(itemList.Count); hashTable[itemList[i].ItemId] = itemList[i].ItemId; } ItemBLL itemBLL = new ItemBLL(); //把hashtable里的试题加到考试表 foreach (int key in hashTable.Keys) { string strItemId = hashTable[key].ToString(); RailExam.Model.Item item = itemBLL.GetItem(int.Parse(strItemId)); PaperItem paperItem = new PaperItem(); paperItem.PaperId = nPaperId; paperItem.PaperSubjectId = nPaperSubjectId; paperItem.AnswerCount = item.AnswerCount; paperItem.BookId = item.BookId; paperItem.CategoryId = item.CategoryId; paperItem.ChapterId = item.ChapterId; paperItem.CompleteTime = item.CompleteTime; paperItem.Content = item.Content; paperItem.CreatePerson = item.CreatePerson; paperItem.CreateTime = item.CreateTime; paperItem.Description = item.Description; paperItem.DifficultyId = item.DifficultyId; paperItem.ItemId = item.ItemId; paperItem.Memo = item.Memo; paperItem.OrderIndex = 0; paperItem.OrganizationId = item.OrganizationId; paperItem.OutDateDate = item.OutDateDate; paperItem.Score = nUnitScore; paperItem.SelectAnswer = item.SelectAnswer; paperItem.Source = item.Source; paperItem.StandardAnswer = item.StandardAnswer; paperItem.StatusId = item.StatusId; paperItem.TypeId = item.TypeId; paperItem.UsedCount = item.UsedCount; paperItem.Version = item.Version; paperItems.Add(paperItem); } } else //直接把这些试题加到考试表 { foreach (RailExam.Model.Item item in itemList) { PaperItem paperItem = new PaperItem(); paperItem.PaperId = nPaperId; paperItem.PaperSubjectId = nPaperSubjectId; paperItem.AnswerCount = item.AnswerCount; paperItem.BookId = item.BookId; paperItem.CategoryId = item.CategoryId; paperItem.ChapterId = item.ChapterId; paperItem.CompleteTime = item.CompleteTime; paperItem.Content = item.Content; paperItem.CreatePerson = item.CreatePerson; paperItem.CreateTime = item.CreateTime; paperItem.Description = item.Description; paperItem.DifficultyId = item.DifficultyId; paperItem.ItemId = item.ItemId; paperItem.Memo = item.Memo; paperItem.OrderIndex = 0; paperItem.OrganizationId = item.OrganizationId; paperItem.OutDateDate = item.OutDateDate; paperItem.Score = nUnitScore; paperItem.SelectAnswer = item.SelectAnswer; paperItem.Source = item.Source; paperItem.StandardAnswer = item.StandardAnswer; paperItem.StatusId = item.StatusId; paperItem.TypeId = item.TypeId; paperItem.UsedCount = item.UsedCount; paperItem.Version = item.Version; paperItems.Add(paperItem); } } if (paperItems.Count > 0) { paperItemBLL.AddPaperItem(paperItems); } } }
protected void FillPaper() { // QueryString id stands for EXAM_RESULT_ID string strId = Request.QueryString.Get("id"); // Not pass id if (string.IsNullOrEmpty(strId)) { return; } PaperItemBLL kBLL = new PaperItemBLL(); PaperSubjectBLL kBSLL = new PaperSubjectBLL(); ExamResultBLL examResultBLL = new ExamResultBLL(); ExamResultAnswerBLL examResultAnswerBLL = new ExamResultAnswerBLL(); RailExam.Model.ExamResult examResult = examResultBLL.GetExamResult(int.Parse(strId)); // Not found if (examResult == null) { return; } IList <PaperSubject> PaperSubjects = kBSLL.GetPaperSubjectByPaperId(examResult.PaperId); PaperSubject paperSubject = null; IList <PaperItem> PaperItems = null; IList <ExamResultAnswer> examResultAnswers = examResultAnswerBLL.GetExamResultAnswers(examResult.ExamResultId); if (PaperSubjects != null) { for (int i = 0; i < PaperSubjects.Count; i++) { paperSubject = PaperSubjects[i]; PaperItems = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId); Response.Write("<table width='100%'>"); Response.Write(" <tr > <td class='ExamBigTitle' >"); Response.Write(" " + GetNo(i) + ""); Response.Write(". " + paperSubject.SubjectName + ""); Response.Write(" (共" + paperSubject.ItemCount + "题,共" + paperSubject.TotalScore + "分)</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 class='ExamResultItem'> " + k + ". " + paperItem.Content + " (" + paperItem.Score + "分)</td></tr >"); // 组织用户答案 ExamResultAnswer theExamResultAnswer = null; string[] strUserAnswers = new string[0]; string strUserAnswer = string.Empty; foreach (ExamResultAnswer 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 class='ExamItemAnswer'> " + "<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 class='ExamItemAnswer'> " + "<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 class='ExamAnswer'> ★标准答案:" + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" + paperItem.PaperItemId + "'>" + strRightAnswer + "</span> 考生答案:" + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" + paperItem.PaperItemId + "'>" + strUserAnswer + "</span></td></tr>"); Response.Write(" <tr score='" + paperItem.Score + "'><td class='ExamJudge'>★评分结果:" + GetJudgeInputs(paperItem.PaperItemId, theExamResultAnswer.JudgeStatusId) + " " + "得分<input type='text' id='txtScore" + "-" + paperItem.PaperItemId + "' name='txtScore" + "-" + paperItem.PaperItemId + "' value='" + theExamResultAnswer.JudgeScore.ToString(".00") + "' size='8'></input> " + "评语<input type='text' id='txtMemo" + "-" + paperItem.PaperItemId + "' name='txtMemo" + "-" + paperItem.PaperItemId + "' size='40' value='" + theExamResultAnswer.JudgeRemark + "'></input>" + "</td></tr>"); } } Response.Write(" </table> "); } } }
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(". " + 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;'> " + k + ". " + paperItem.Content + " (" + 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'> " + "<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'> " + "<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; '> ★标准答案:" + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" + paperItem.PaperItemId + "'>" + strRightAnswer + "</span></td></tr>"); Response.Write(" <tr><td style='color:blue; text-align:left; '> ★考生答案:" + "<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> " + "评语<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>"); }