private void ResultForm_Load(object sender, EventArgs e) { lResultID.Text = user.UserID.ToString(); lResultName.Text = user.LastName + " " + user.FirstName; lResultPhone.Text = user.Mobile; lResultBirth.Text = user.Birthday.ToShortDateString(); lResultAdress.Text = user.Address; Result result = QuestionBLL.getResult(this.listQ, this.listAns); chart1.Series["Result"].Points.AddXY("Correct", result.numberOfCorrect); chart1.Series["Result"].Points.AddXY("InCorrect", (result.totalOfQuestion - result.numberOfCorrect)); chart1.Series["Result"].Points[0].Color = Color.LightGreen; chart1.Series["Result"].Points[1].Color = Color.Red; lCorrect.Text = result.numberOfCorrect.ToString(); lIncorrect.Text = (result.totalOfQuestion - result.numberOfCorrect).ToString(); labelResult.Text = result.totalOfQuestion.ToString(); float mark = (float)result.numberOfCorrect; Exam_UserBLL.setMark((int)mark, user.UserID, exam.ExamID); if (mark >= exam.ExamMark) { labelStatus.Text = "Đã Qua"; labelStatus.BackColor = Color.LightGreen; } else { labelStatus.Text = "Chưa Qua"; labelStatus.BackColor = Color.Red; } //chart1.Series["inCorrect"].Points.AddXY("Incorrect", 1000); }
protected void QuestionOk_Click(object sender, EventArgs e) { if (ErrQuestionList.Count == 0) { if (QuestionList.Count > 0) { QuestionOk.Enabled = false; int QuestionNum = 0; foreach (QuestionInfo Item in QuestionList) { Item.CateId = CateId; Item.CompanyId = 0; if (Item.Style != "0" && !string.IsNullOrEmpty(Item.Style)) { QuestionBLL.AddQuestion(Item); QuestionNum++; } } ScriptHelper.Alert("成功导入" + QuestionNum.ToString() + "道试题!"); } else { ScriptHelper.Alert("异常错误,请重新导入!"); } } else { ScriptHelper.Alert("请修正完错误后,再入库!"); } }
/// <summary> /// 取出考试题目 /// <para value=CateId></para> /// </summary> private QuestionJsonInfo GetQuestions() { int id = RequestHelper.GetForm <int>("ID"); XmlNodeList nodeList = QuestionBLL.ReadQuestionXmlList(base.UserID, RequestHelper.GetForm <int>("CateID"), RequestHelper.GetForm <string>("StyleID"), id); return(this.GetQuestions(nodeList, id)); }
private void TestForm_Load(object sender, EventArgs e) { Hide(); labelName.Text = user.FirstName + " " + user.LastName; labelInforName.Text = user.FirstName + " " + user.LastName; labelInforID.Text = user.UserID.ToString(); labelInforPhone.Text = user.Mobile; labelInforBirth.Text = user.Birthday.ToShortDateString(); labelInforAdress.Text = user.Address; labelTitle.Text = exam.ExamTitle; min = exam.ExamTime.Minutes; lTime.Text = min.ToString(); min *= 60; listQ = QuestionBLL.getRandomListQ(exam.ExamID); totalDone = listQ.Count; labelNotSelected.Text = totalDone.ToString(); listAns = new List <string>(); iSImageQuestion.CurrentImageIndexChanged += iSImageQuestion_CurrentImageIndexChanged; foreach (Question item in listQ) { try { iSImageQuestion.Images.Add(QuestionBLL.getImage(item.QuestionImage)); } catch (Exception) { MessageBox.Show("internet is not connected"); System.Threading.Thread.Sleep(3000); this.Close(); } listAns.Add(string.Empty); } listButton = new List <Button>(); for (var i = 1; i <= listQ.Count; i++) { var b = new Button(); b.Text = i + string.Empty; b.Size = new Size(60, 60); b.BackColor = Color.WhiteSmoke; listButton.Add(b); b.Click += selectQuestion_Click; fLpListNumber.Controls.Add(b); } listCheckButton = new List <CheckButton>(); listCheckButton.Add(cbAnsA); listCheckButton.Add(cbAnsB); listCheckButton.Add(cbAnsC); listCheckButton.Add(cbAnsD); label17.Text = listQ.Count.ToString(); Show(); }
protected void DeleteButton_Click(object sender, EventArgs e) { base.CheckAdminPower("DeleteQuestion", PowerCheckType.Single); string intsForm = RequestHelper.GetIntsForm("SelectID"); if (intsForm != string.Empty) { QuestionBLL.DeleteQuestion(intsForm); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("Question"), intsForm); ScriptHelper.Alert(ShopLanguage.ReadLanguage("DeleteOK"), RequestHelper.RawUrl); } }
protected void Button2_Click(object sender, EventArgs e) { base.CheckAdminPower("DeleteCourse", PowerCheckType.Single); string ID = RequestHelper.GetIntsForm("SelectID"); string[] Arr = ID.Split(','); for (int i = 0; i < Arr.Length; i++) { CourseBLL.DeleteCourse(int.Parse(Arr[i])); QuestionBLL.DeleteQuestionByCateId(int.Parse(Arr[i])); } AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("Course"), ID); ScriptHelper.Alert(ShopLanguage.ReadLanguage("DeleteOK"), RequestHelper.RawUrl); }
protected void Page_Load(object sender, EventArgs e) { int id = RequestHelper.GetQueryString <int>("ID"); string Action = RequestHelper.GetQueryString <string>("Action"); if (Action == "Delete") { if (id != int.MinValue) { base.CheckAdminPower("DeleteQuestion", PowerCheckType.Single); QuestionBLL.DeleteQuestion(id); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("Question"), id); } } if (!IsPostBack) { base.CheckAdminPower("ReadQuestion", PowerCheckType.Single); updateQuestionPower = base.CompareAdminPower("UpdateQuestion", PowerCheckType.Single); deleteQuestionPower = base.CompareAdminPower("DeleteQuestion", PowerCheckType.Single); //在此处加载搜索框的信息 //题型下拉框 SearchQuestionStyle.DataSource = EnumHelper.ReadEnumList <QuestionType>(); SearchQuestionStyle.DataValueField = "Value"; SearchQuestionStyle.DataTextField = "ChineseName"; SearchQuestionStyle.DataBind(); SearchQuestionStyle.Items.Insert(0, new ListItem("选择题型", string.Empty)); CourseCateInfo CourseCateModel = new CourseCateInfo(); CourseCateModel.Condition = systemCompanyId.ToString(); SearchCategory.DataSource = CourseCateBLL.ReadCourseCateNamedList(CourseCateModel); SearchCategory.DataTextField = "CateName"; SearchCategory.DataValueField = "CateId"; SearchCategory.DataBind(); SearchCategory.Items.Insert(0, new ListItem("可以指定类别", int.MinValue.ToString())); QuestionInfo Model = new QuestionInfo(); Model.Style = RequestHelper.GetQueryString <string>("Style"); Model.Question = RequestHelper.GetQueryString <string>("QuestionName"); Model.IdCondition = RequestHelper.GetQueryString <string>("IdCondition"); Model.Field = "CompanyId"; Model.Condition = systemCompanyId.ToString(); base.BindControl(QuestionBLL.ReadList(Model, base.CurrentPage, base.PageSize, ref this.Count), this.RecordList, this.MyPager);// SearchQuestionName.Text = Model.Question; SearchQuestionStyle.SelectedValue = Model.Style; } }
public ResultForm() { DataClasses1DataContext db = new DataClasses1DataContext(); this.listQ = QuestionBLL.getRandomListQ(1); exam = ExamsBLL.getExamsByID(1); List <String> list = new List <string>(); list.Add("12"); //q1 list.Add("1"); //q2 list.Add("1"); //q3 list.Add("2"); //q4 list.Add("1"); //q5 list.Add("1"); //q6 list.Add("12"); //q7 for (int i = 0; i < 23; i++) { list.Add("1234"); } this.listAns = list; this.user = db.Users.Where(x => x.UserID == 3).FirstOrDefault(); InitializeComponent(); }
protected void ExcelOut(string CateId, string TestName, int Num, int Type) { //生成Excel开始 string FilePath = "~/xml/Demo.xls"; string NewTestName = "Sheet2"; if (Type == 2) { NewTestName = TestName + "答案"; } XlsDocument xls = new XlsDocument(); //创建空xls文档 xls.FileName = Server.MapPath(FilePath); //保存路径,如果直接发送到客户端的话只需要名称 生成名称 Worksheet sheet = xls.Workbook.Worksheets.AddNamed(TestName); //创建一个工作页为Dome Worksheet sheet2 = xls.Workbook.Worksheets.AddNamed(NewTestName); //设置文档列属性 //ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性 //cinfo.Collapsed = true; ////设置列的范围 如 0列-10列 //cinfo.ColumnIndexStart = 0;//列开始 //cinfo.ColumnIndexEnd = 10;//列结束 //cinfo.Collapsed = true; //cinfo.Width = 90 * 60;//列宽度 //sheet.AddColumnInfo(cinfo); //设置文档列属性结束 //设置指定工作页跨行跨列 MergeArea ma = new MergeArea(1, 1, 1, 2);//从第1行跨到第二行,从第一列跨到第5列 sheet.AddMergeArea(ma); ma = new MergeArea(1, 1, 1, 3); sheet2.AddMergeArea(ma); //设置指定工作页跨行跨列结束 //创建列样式创建列时引用 XF cellXF = xls.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; cellXF.Font.Height = 24 * 12; cellXF.Font.Bold = true; //cellXF.Pattern = 1;//设定单元格填充风格。如果设定为0,则是纯色填充 //cellXF.PatternBackgroundColor = Colors.Red;//填充的背景底色 //cellXF.PatternColor = Colors.Red;//设定填充线条的颜色 //创建列样式结束 //创建列 Cells cells = sheet.Cells; //获得指定工作页列集合 Cells cells2 = sheet2.Cells; //获得指定工作页列集合 //列操作基本 //Cell cell = cells.Add(1, 1, TestName, cellXF);//添加标题列返回一个列 参数:行 列 名称 样式对象 Cell cell = cells.Add(1, 1, TestName, cellXF); if (Type == 2) { cells2.Add(1, 1, NewTestName); } //设置XY居中 cell.HorizontalAlignment = HorizontalAlignments.Centered; cell.VerticalAlignment = VerticalAlignments.Centered; //设置字体 cell.Font.Bold = true; //设置粗体 cell.Font.ColorIndex = 0; //设置颜色码 cell.Font.FontFamily = FontFamilies.Roman; //设置字体 默认为宋体 //创建列结束 //创建数据 QuestionInfo QuestionModel = new QuestionInfo(); QuestionModel.IdCondition = CateId; if (Num != 0) { QuestionModel.QuestionNum = " Top " + Num.ToString() + " * "; } List <QuestionInfo> QuestionList = QuestionBLL.ReadList(QuestionModel); int LineNum = 1; int LineNum2 = 1; //题型的题号 int StyleNum = 1; //题型号转为中文 string StyleCNNum = string.Empty; //题型的中文名称 string StyleName = string.Empty; for (int j = 1; j <= 3; j++) { List <QuestionInfo> StyleList = QuestionList.FindAll(delegate(QuestionInfo TempModel) { return(TempModel.Style == j.ToString()); }); if (StyleList.Count > 0) { switch (StyleNum) { case 1: StyleCNNum = "一"; break; case 2: StyleCNNum = "二"; break; case 3: StyleCNNum = "三"; break; } switch (j) { case 1: StyleName = "单项选择题"; break; case 2: StyleName = "多项选择题"; break; case 3: StyleName = "判断题"; break; } if (Type == 2) { cells2.Add(LineNum2 + 1, 1, StyleCNNum + "、"); cells2.Add(LineNum2 + 1, 2, StyleName); LineNum2 = LineNum2 + 2; } cells.Add(LineNum + 1, 1, StyleCNNum + "、"); cells.Add(LineNum + 1, 2, StyleName); StyleNum++; LineNum = LineNum + 2; for (int i = 0; i < StyleList.Count; i++) { cells.Add(LineNum + 1, 1, i + 1 + "、");//添加列,不设置列属性就不用返回列对象 if (Type == 2) { cells2.Add(LineNum2 + 1, 2, i + 1 + "、"); } if (Type == 1) { cells.Add(LineNum + 1, 2, StyleList[i].Question);//添加列,不设置列属性就不用返回列对象 if (j != 3) { cells.Add(LineNum + 2, 1, "A、"); cells.Add(LineNum + 2, 2, StyleList[i].A); cells.Add(LineNum + 3, 1, "B、"); cells.Add(LineNum + 3, 2, StyleList[i].B); cells.Add(LineNum + 4, 1, "C、"); cells.Add(LineNum + 4, 2, StyleList[i].C); cells.Add(LineNum + 5, 1, "D、"); cells.Add(LineNum + 5, 2, StyleList[i].D); cells.Add(LineNum + 6, 1, "答案:"); cells.Add(LineNum + 6, 2, StyleList[i].Answer.ToUpper()); LineNum = LineNum + 7; } else { cells.Add(LineNum + 2, 1, "改错:"); cells.Add(LineNum + 2, 2, StyleList[i].A); LineNum = LineNum + 3; } } else if (Type == 2) { cells.Add(LineNum + 1, 2, StyleList[i].Question.Replace("~", ""));//添加列,不设置列属性就不用返回列对象 if (j != 3) { cells.Add(LineNum + 2, 2, "A、" + StyleList[i].A); cells.Add(LineNum + 3, 2, "B、" + StyleList[i].B); cells.Add(LineNum + 4, 2, "C、" + StyleList[i].C); cells.Add(LineNum + 5, 2, "D、" + StyleList[i].D); LineNum = LineNum + 6; cells2.Add(LineNum2 + 1, 3, StyleList[i].Answer); } else { cells.Add(LineNum + 2, 2, "改错:"); LineNum = LineNum + 3; if (StyleList[i].Answer == "0") { cells2.Add(LineNum2 + 1, 3, StyleList[i].A); } else { cells2.Add(LineNum2 + 1, 3, "√"); } } LineNum2 = LineNum2 + 1; } } } } // //生成保存到服务器如果存在不会覆盖并且报异常所以先删除在保存新的 //ScriptHelper.Alert(Server.MapPath("~/Demo.xls")); if (File.Exists(Server.MapPath(FilePath))) { File.Delete(Server.MapPath(FilePath));//删除 } //保存文档 xls.Save(Server.MapPath(FilePath)); //保存到服务器 xls.Send(); //发送到客户端 }
protected void ExcelOut(XlsDocument xls, string CateId, string TestName, int Num, int Type) { Worksheet sheet = xls.Workbook.Worksheets.AddNamed(TestName); //创建一个工作页为Dome //设置文档列属性 //ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性 //cinfo.Collapsed = true; ////设置列的范围 如 0列-10列 //cinfo.ColumnIndexStart = 0;//列开始 //cinfo.ColumnIndexEnd = 10;//列结束 //cinfo.Collapsed = true; //cinfo.Width = 90 * 60;//列宽度 //sheet.AddColumnInfo(cinfo); //设置文档列属性结束 //设置指定工作页跨行跨列 MergeArea ma = new MergeArea(1, 1, 1, 2);//从第1行跨到第二行,从第一列跨到第5列 sheet.AddMergeArea(ma); ma = new MergeArea(1, 1, 1, 3); //设置指定工作页跨行跨列结束 //创建列样式创建列时引用 XF cellXF = xls.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; cellXF.Font.Height = 24 * 12; cellXF.Font.Bold = true; //cellXF.Pattern = 1;//设定单元格填充风格。如果设定为0,则是纯色填充 //cellXF.PatternBackgroundColor = Colors.Red;//填充的背景底色 //cellXF.PatternColor = Colors.Red;//设定填充线条的颜色 //创建列样式结束 //创建列 Cells cells = sheet.Cells; //获得指定工作页列集合 //列操作基本 //Cell cell = cells.Add(1, 1, TestName, cellXF);//添加标题列返回一个列 参数:行 列 名称 样式对象 Cell cell = cells.Add(1, 1, TestName, cellXF); //设置XY居中 cell.HorizontalAlignment = HorizontalAlignments.Centered; cell.VerticalAlignment = VerticalAlignments.Centered; //设置字体 cell.Font.Bold = true; //设置粗体 cell.Font.ColorIndex = 0; //设置颜色码 cell.Font.FontFamily = FontFamilies.Roman; //设置字体 默认为宋体 //创建列结束 //创建数据 QuestionInfo QuestionModel = new QuestionInfo(); QuestionModel.IdCondition = CateId; if (Num != 0) { QuestionModel.QuestionNum = " Top " + Num.ToString() + " * "; } List <QuestionInfo> QuestionList = QuestionBLL.ReadList(QuestionModel); int LineNum = 1; int LineNum2 = 1; //题型的题号 int StyleNum = 1; //题型号转为中文 string StyleCNNum = string.Empty; //题型的中文名称 string StyleName = string.Empty; for (int j = 1; j <= 3; j++) { List <QuestionInfo> StyleList = QuestionList.FindAll(delegate(QuestionInfo TempModel) { return(TempModel.Style == j.ToString()); }); if (StyleList.Count > 0) { switch (StyleNum) { case 1: StyleCNNum = "一"; break; case 2: StyleCNNum = "二"; break; case 3: StyleCNNum = "三"; break; } switch (j) { case 1: StyleName = "单项选择题"; break; case 2: StyleName = "多项选择题"; break; case 3: StyleName = "判断题"; break; } if (Type == 2) { LineNum2 = LineNum2 + 2; } cells.Add(LineNum + 1, 1, StyleCNNum + "、"); cells.Add(LineNum + 1, 2, StyleName); StyleNum++; LineNum = LineNum + 2; for (int i = 0; i < StyleList.Count; i++) { cells.Add(LineNum + 1, 1, i + 1 + "、");//添加列,不设置列属性就不用返回列对象 if (Type == 1) { cells.Add(LineNum + 1, 2, StyleList[i].Question);//添加列,不设置列属性就不用返回列对象 if (j != 3) { cells.Add(LineNum + 2, 1, "A、"); cells.Add(LineNum + 2, 2, StyleList[i].A); cells.Add(LineNum + 3, 1, "B、"); cells.Add(LineNum + 3, 2, StyleList[i].B); cells.Add(LineNum + 4, 1, "C、"); cells.Add(LineNum + 4, 2, StyleList[i].C); cells.Add(LineNum + 5, 1, "D、"); cells.Add(LineNum + 5, 2, StyleList[i].D); cells.Add(LineNum + 6, 1, "答案:"); cells.Add(LineNum + 6, 2, StyleList[i].Answer.ToUpper()); LineNum = LineNum + 7; } else { cells.Add(LineNum + 2, 1, "改错:"); cells.Add(LineNum + 2, 2, StyleList[i].A); LineNum = LineNum + 3; } } } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Action == "CourseFileOut") { filein.Style["display"] = "none"; ListShow.Style["display"] = "none"; FileInButton.Visible = false; CourseName.Text = CourseBLL.ReadCourse(CateId).CourseName; } else if (Action == "CourseFileIn") { filein.Style["display"] = ""; fileout.Style["display"] = "none"; ListShow.Style["display"] = ""; FileOutButton.Visible = false; QuestionOutButton.Visible = false; CourseName.Text = CourseBLL.ReadCourse(CateId).CourseName + "【现有题目数量:" + QuestionBLL.ReadList(CateId).Count.ToString() + "】"; } else if (Action == "TestCateFileOut") { filein.Style["display"] = "none"; ListShow.Style["display"] = "none"; FileInButton.Visible = false; CourseName.Text = ProductBLL.ReadProduct(CateId).Name; } else if (Action == "BatchFileOut") { filein.Style["display"] = "none"; ListShow.Style["display"] = "none"; FileInButton.Visible = false; QuestionOutButton.Visible = false; CourseName.Text = "批量导出"; } } }
protected override void PageLoad() { int companyID = base.UserCompanyID; int userID = base.UserID; string filePath = TestPaperBLL.ReadTestPaperPath(userID, productID); base.PageLoad(); base.ClearCache(); base.Title = "考试中心"; if (productID == int.MinValue) { ScriptHelper.Alert("请在“课程列表”中选择课程后,进行考试!"); } TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(companyID, productID); ProductInfo product = ProductBLL.ReadProduct(productID); //if (!CompanyBLL.IsTest) //{ // Response.Write("<script>alert('该公司不允许考试,请联系管理员!');var DG = frameElement.lhgDG;DG.cancel();</script>"); // Response.End(); //} RenZhengCateInfo renZhengProduct = RenZhengCateBLL.ReadTestCateByID(product.ID); if (renZhengProduct != null) { PostApprover postApprover = new PostApprover(PostPassBLL.ReadPostPassList(new PostPassInfo() { UserId = userID, IsRZ = 1 })); if (!postApprover.IsTest(renZhengProduct.PostId)) { Response.Write("<script>alert('请先完成 " + PostBLL.ReadPost(postApprover.NextPostID).PostName + " 的岗位综合认证!');window.close();</script>"); Response.End(); } } if (testSetting.TestStartTime.HasValue && testSetting.TestEndTime.HasValue) { //if (product.ClassID != 4387) //{ // if (Convert.ToDateTime(testSetting.TestStartTime) > DateTime.Now || Convert.ToDateTime(testSetting.TestEndTime) < DateTime.Now) // { // Response.Write("<script>alert('不在 该门课程 设定的考试时间内!');var DG = frameElement.lhgDG;DG.cancel();</script>"); // Response.End(); // } //} //else //{ if (testSetting.TestStartTime > DateTime.Now || testSetting.TestEndTime < DateTime.Now) //&& Convert.ToDateTime(testSetting.TestStartTime).Minute <= DateTime.Now.Minute && Convert.ToDateTime(testSetting.TestEndTime).Minute >= DateTime.Now.Minute { Response.Write("<script>alert('不在 该门课程 设定的考试时间内!');window.close();</script>"); Response.End(); } //} } TestPaperInfo PaperModel = new TestPaperInfo(); PaperModel.CateIdCondition = productID.ToString(); PaperModel.UserIdCondition = userID.ToString(); List <TestPaperInfo> PaperList = TestPaperBLL.NewReadList(PaperModel); if (PaperList.Count > 0) { foreach (TestPaperInfo Item in PaperList) { if (Item.IsPass == 1)// && Item.CateId != 5368孟特销售工具应用与说明 需要多次考试 { Response.Write("<script>alert('您已通过,请选择其它课程!');</script>"); Response.End(); } if ((DateTime.Now - Item.TestDate).TotalHours < testSetting.TestInterval) { if (testSetting.TestStartTime.HasValue || testSetting.TestEndTime.HasValue) { Response.Write("<script>alert('您已经参加过考试,暂不能重考!');window.close();</script>"); } else { Response.Write("<script>alert('考完" + testSetting.TestInterval + "小时后才能重考,请选择其它课程!');window.close();</script>"); } Response.End(); } } } if ((File.Exists(filePath) && (DateTime.Now - File.GetLastWriteTime(filePath)).TotalHours < testSetting.TestInterval))//TempPaperInfo != null && (DateTime.Now - TempPaperInfo.TestDate).TotalHours < 72 { bool HaveTest = false; XmlHelper XmlDoc1 = new XmlHelper(filePath); for (int StyleId = 1; StyleId <= 3; StyleId++) { string NodeName = "TestPaper"; if (StyleId == 1) { NodeName = NodeName + "/Single"; } else if (StyleId == 2) { NodeName = NodeName + "/Multi"; } else if (StyleId == 3) { NodeName = NodeName + "/PanDuan"; } //判断题型库里是否有考题 XmlNode Node = XmlDoc1.ReadNode(NodeName); if (Node != null && Node.HasChildNodes) { XmlNodeList NodeList = XmlDoc1.ReadChildNodes(NodeName); //遍历节点 foreach (XmlNode node in NodeList) { if (!string.IsNullOrEmpty(node.ChildNodes[6].InnerText)) { HaveTest = true; } } } } if (HaveTest) { AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("TestPaperRecord"), ShopLanguage.ReadLanguage("TestPaper"), productID); TestPaperInfo testpaper = TestPaperBLL.CalcTestResult(companyID, userID, productID); if (testpaper.IsPass == 1) { PostPassBLL.CheckPostPass(UserID, productID); //孟特销售工具应用与说明 课程处理 //if (productID == 5368) // TestSettingBLL.SpecialTestHandle(userID, int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId"))); } ResponseHelper.Write("<script>alert('您上次未完成交卷,此时系统自动为您补交!得分:" + testpaper.Scorse + "分。');window.close();</script>"); Response.End(); } } //开启防止多次开启同一课程考试 //TestSettingBLL.TestBegin(userID, productID); paperName = product.Name; testTime = (testSetting.TestTimeLength * 60).ToString(); QuestionBLL.ReadQuestionXmlList(productID, product.Accessory, companyID, userID); XmlHelper XmlDoc = new XmlHelper(filePath); paperInfoHtml.AppendLine("<p>考试时长:" + testSetting.TestTimeLength.ToString() + " 分钟</p>"); paperInfoHtml.AppendLine("<p>试卷总分:" + testSetting.PaperScore.ToString() + " 分</p>"); paperInfoHtml.AppendLine("<p>试题数量:共 " + XmlDoc.ReadAttribute("TestPaper", "QuestionNum") + " 道。其中 "); string TempNum = XmlDoc.ReadAttribute("TestPaper", "SingleNum"); if (int.Parse(TempNum) > 0) { paperInfoHtml.Append("单项选择题:" + TempNum + " 道;"); } TempNum = XmlDoc.ReadAttribute("TestPaper", "MultiNum"); if (int.Parse(TempNum) > 0) { paperInfoHtml.Append("多项选择题:" + TempNum + " 道;"); } TempNum = XmlDoc.ReadAttribute("TestPaper", "PanDunNum"); if (int.Parse(TempNum) > 0) { paperInfoHtml.Append("判断题:" + TempNum + " 道;"); } paperInfoHtml.Append("</p>"); int NoteCount = XmlDoc.ReadChildNodes("TestPaper/Single").Count; if (NoteCount > 0) { questionStyleHtml.AppendLine("<li data-id=\"1\"><a href=\"javascript:void(0);\">" + EnumHelper.ReadEnumChineseName <QuestionType>(1) + "</a></li>"); questionIndexHtml.AppendLine("<ul data-style=\"1\" class=\"clearfix\" id=\"radio\">"); for (int i = 1; i <= NoteCount; i++) { questionIndexHtml.AppendLine("<li><a href=\"javascript:void(0);\">" + (i) + "</a></li>"); } questionIndexHtml.AppendLine("</ul>"); } NoteCount = XmlDoc.ReadChildNodes("TestPaper/Multi").Count; if (NoteCount > 0) { questionStyleHtml.AppendLine("<li data-id=\"2\"><a href=\"javascript:void(0);\">" + EnumHelper.ReadEnumChineseName <QuestionType>(2) + "</a></li>"); questionIndexHtml.AppendLine("<ul data-style=\"2\" class=\"clearfix\" id=\"checkbox\">"); for (int i = 1; i <= NoteCount; i++) { questionIndexHtml.AppendLine("<li><a href=\"javascript:void(0);\">" + (i) + "</a></li>"); } questionIndexHtml.AppendLine("</ul>"); } NoteCount = XmlDoc.ReadChildNodes("TestPaper/PanDuan").Count; if (NoteCount > 0) { questionStyleHtml.AppendLine("<li data-id=\"3\"><a href=\"javascript:void(0);\">" + EnumHelper.ReadEnumChineseName <QuestionType>(3) + "</a></li>"); questionIndexHtml.AppendLine("<ul data-style=\"3\" class=\"clearfix\" id=\"judge\">"); for (int i = 1; i <= NoteCount; i++) { questionIndexHtml.AppendLine("<li><a href=\"javascript:void(0);\">" + (i) + "</a></li>"); } questionIndexHtml.AppendLine("</ul>"); } UserLogBLL.AddUserLog(ShopLanguage.ReadLanguage("StartTest"), ShopLanguage.ReadLanguage("TestPaper"), paperName); UserLogBLL.AddUserLog(Request.Browser.Browser + "|" + Request.Browser.Version, productID); }
protected void Page_Load(object sender, EventArgs e) { base.ClearCache(); int companyID = base.UserCompanyID; int userID = base.UserID; filePath = TestPaperBLL.ReadTestPaperPath(userID, productID); if (!IsPostBack) { if (productID < 0) { ScriptHelper.Alert("选择课程后,进行考试!"); Response.End(); } TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(companyID, productID); ProductInfo product = ProductBLL.ReadProduct(productID); RenZhengCateInfo renZhengProduct = RenZhengCateBLL.ReadTestCateByID(product.ID); if (renZhengProduct != null) { PostApprover postApprover = new PostApprover(PostPassBLL.ReadPostPassList(new PostPassInfo() { UserId = userID, IsRZ = 1 })); if (!postApprover.IsTest(renZhengProduct.PostId)) { Response.Write("<script>alert('请先完成 " + PostBLL.ReadPost(postApprover.NextPostID).PostName + " 的岗位综合认证!');history.go(-1);</script>"); Response.End(); } } if (testSetting.TestStartTime != null && testSetting.TestEndTime != null) { if (testSetting.TestStartTime > DateTime.Now || testSetting.TestEndTime < DateTime.Now) { Response.Write("<script>alert('不在 该门课程 设定的考试时间内!');history.go(-1);</script>"); Response.End(); } } TestPaperInfo PaperModel = new TestPaperInfo(); PaperModel.CateIdCondition = productID.ToString(); PaperModel.UserIdCondition = userID.ToString(); List <TestPaperInfo> PaperList = TestPaperBLL.NewReadList(PaperModel); if (PaperList.Count > 0) { foreach (TestPaperInfo Item in PaperList) { if (Item.IsPass == 1)// && Item.CateId != 5368//孟特销售工具应用与说明 需要多次考试 { Response.Write("<script>alert('您已通过,请选择其它课程!');</script>"); Response.End(); } if ((DateTime.Now - Item.TestDate).TotalHours < testSetting.TestInterval) { if (testSetting.TestStartTime != null || testSetting.TestEndTime != null) { Response.Write("<script>alert('您已经参加过考试,暂不能重考!');window.close();</script>"); } else { Response.Write("<script>alert('考完" + testSetting.TestInterval + "小时后才能重考,请选择其它课程!');history.go(-1);</script>"); } Response.End(); } } } if ((File.Exists(filePath) && (DateTime.Now - File.GetLastWriteTime(filePath)).TotalHours < testSetting.TestInterval))//TempPaperInfo != null && (DateTime.Now - TempPaperInfo.TestDate).TotalHours < 72 { bool HaveTest = false; XmlHelper XmlDoc1 = new XmlHelper(filePath); for (int StyleId = 1; StyleId <= 3; StyleId++) { string NodeName = "TestPaper"; if (StyleId == 1) { NodeName = NodeName + "/Single"; } else if (StyleId == 2) { NodeName = NodeName + "/Multi"; } else if (StyleId == 3) { NodeName = NodeName + "/PanDuan"; } //判断题型库里是否有考题 XmlNode Node = XmlDoc1.ReadNode(NodeName); if (Node != null && Node.HasChildNodes) { XmlNodeList NodeList = XmlDoc1.ReadChildNodes(NodeName); //遍历节点 foreach (XmlNode node in NodeList) { if (!string.IsNullOrEmpty(node.ChildNodes[6].InnerText)) { HaveTest = true; } } } } if (HaveTest) { AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("TestPaperRecord"), ShopLanguage.ReadLanguage("TestPaper"), productID); TestPaperInfo testpaper = TestPaperBLL.CalcTestResult(companyID, userID, productID); if (testpaper.IsPass == 1) { PostPassBLL.CheckPostPass(UserID, productID); //孟特销售工具应用与说明 课程处理 //if (productID == 5368) // TestSettingBLL.SpecialTestHandle(userID, int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId"))); } ResponseHelper.Write("<script>alert('您上次未完成交卷,此时系统自动为您补交!得分:" + testpaper.Scorse + "分。');window.location.href='CourseCenter.aspx';</script>"); Response.End(); } } TestName.Text = product.Name; endTimer = testSetting.TestTimeLength * 60; QuestionBLL.ReadQuestionXmlList(productID, product.Accessory, companyID, userID); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("StartTest"), ShopLanguage.ReadLanguage("TestCate"), productID); AdminLogBLL.AddAdminLog(Request.Browser.Browser + "|" + Request.Browser.Version, productID); } }
protected void SubmitButton_Click(object sender, EventArgs e) { int queryString = RequestHelper.GetQueryString <int>("ID"); if (_CourseId.SelectedValue == "-1" || _CourseId.SelectedValue == "") { ScriptHelper.Alert("请选择课程"); Response.End(); } QuestionInfo QuestionModel = new QuestionInfo(); QuestionModel.CateId = Convert.ToInt32(_CourseId.SelectedValue); QuestionModel.QuestionId = queryString; QuestionModel.Question = this.Quetion.Text; if (QuestionModel.Question == "") { ScriptHelper.Alert("请填写题目"); Response.End(); } QuestionModel.Style = this.TestType.Text; QuestionModel.CompanyId = systemCompanyId; if (QuestionModel.Style == "1") { QuestionModel.A = this.SingleA.Text; QuestionModel.B = this.SingleB.Text; QuestionModel.C = this.SingleC.Text; QuestionModel.D = this.SingleD.Text; if (QuestionModel.A == "" || QuestionModel.B == "" || QuestionModel.C == "" || QuestionModel.D == "") { ScriptHelper.Alert("请填写选项"); Response.End(); } if (QuestionModel.A == QuestionModel.B || QuestionModel.A == QuestionModel.C || QuestionModel.A == QuestionModel.D || QuestionModel.B == QuestionModel.C || QuestionModel.B == QuestionModel.D || QuestionModel.C == QuestionModel.D) { ScriptHelper.Alert("请正确填写选项"); Response.End(); } string Answer = string.Empty; if (SingleAnswerA.Checked) { Answer = SingleAnswerA.Value; } else if (SingleAnswerB.Checked) { Answer = SingleAnswerB.Value; } else if (SingleAnswerC.Checked) { Answer = SingleAnswerC.Value; } else if (SingleAnswerD.Checked) { Answer = SingleAnswerD.Value; } QuestionModel.Answer = Answer; } else if (QuestionModel.Style == "2") { QuestionModel.A = this.MultiA.Text; QuestionModel.B = this.MultiB.Text; QuestionModel.C = this.MultiC.Text; QuestionModel.D = this.MultiD.Text; if (QuestionModel.A == "" || QuestionModel.B == "" || QuestionModel.C == "" || QuestionModel.D == "") { ScriptHelper.Alert("请填写选项"); Response.End(); } if (QuestionModel.A == QuestionModel.B || QuestionModel.A == QuestionModel.C || QuestionModel.A == QuestionModel.D || QuestionModel.B == QuestionModel.C || QuestionModel.B == QuestionModel.D || QuestionModel.C == QuestionModel.D) { ScriptHelper.Alert("请正确填写选项"); Response.End(); } string Answer = string.Empty; if (MultiAnswerA.Checked) { Answer = Answer + SingleAnswerA.Value; } if (MultiAnswerB.Checked) { Answer = Answer + SingleAnswerB.Value; } if (MultiAnswerC.Checked) { Answer = Answer + SingleAnswerC.Value; } if (MultiAnswerD.Checked) { Answer = Answer + SingleAnswerD.Value; } QuestionModel.Answer = Answer; if (QuestionModel.Answer.Length <= 1) { ScriptHelper.Alert("多项选择题的答案不能低于2个选项!"); Response.End(); } } else if (QuestionModel.Style == "3") { QuestionModel.Answer = this.JudgeAnswer.Text; if (QuestionModel.Answer == "0") { QuestionModel.A = JudgeRightAnswer.Text; } } if (QuestionModel.Answer == "") { ScriptHelper.Alert("请选择标准答案"); Response.End(); } string alertMessage = ShopLanguage.ReadLanguage("AddOK"); if (QuestionModel.QuestionId == int.MinValue) { base.CheckAdminPower("AddQuestion", PowerCheckType.Single); int id = QuestionBLL.AddQuestion(QuestionModel); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("Question"), id); ResponseHelper.Write("<script>alert('" + alertMessage + "');</script>"); this.TestType.Text = "1"; this.Quetion.Text = string.Empty; this.SingleA.Text = string.Empty; this.SingleB.Text = string.Empty; this.SingleC.Text = string.Empty; this.SingleD.Text = string.Empty; this.MultiA.Text = string.Empty; this.MultiB.Text = string.Empty; this.MultiC.Text = string.Empty; this.MultiD.Text = string.Empty; this.JudgeRightAnswer.Text = string.Empty; SingleAnswerA.Checked = false; SingleAnswerB.Checked = false; SingleAnswerC.Checked = false; SingleAnswerD.Checked = false; MultiAnswerA.Checked = false; MultiAnswerB.Checked = false; MultiAnswerC.Checked = false; MultiAnswerD.Checked = false; this.JudgeAnswer.SelectedIndex = -1; } else { base.CheckAdminPower("UpdateQuestion", PowerCheckType.Single); QuestionBLL.UpdateQuestion(QuestionModel); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("Question"), QuestionModel.QuestionId); alertMessage = ShopLanguage.ReadLanguage("UpdateOK"); AdminBasePage.Alert(alertMessage, RequestHelper.RawUrl); } }
protected void Page_Load(object sender, EventArgs e) { Control singleTest = FindControlById(this, "singleTest"); Control MultiTest = FindControlById(this, "MultiTest"); Control PanDuanTest = FindControlById(this, "PanDuanTest"); if (!IsPostBack) { int queryString = RequestHelper.GetQueryString <int>("ID"); int CourseId = RequestHelper.GetQueryString <int>("CourseId"); int cateid = RequestHelper.GetQueryString <int>("CateId"); CourseCateInfo CourseCateModel = new CourseCateInfo(); CourseCateModel.Condition = systemCompanyId.ToString(); this._CateId.DataSource = CourseCateBLL.ReadCourseCateNamedList(CourseCateModel); this._CateId.DataTextField = "CateName"; this._CateId.DataValueField = "CateId"; this._CateId.DataBind(); this._CateId.Items.Insert(0, new ListItem("请选择类别", "-1")); _CateId.SelectedValue = cateid.ToString(); if (CourseId != int.MinValue) { CourseInfo CourseModel = new CourseInfo(); CourseModel.CateId = cateid; this._CourseId.DataSource = CourseBLL.ReadList(CourseModel); this._CourseId.DataTextField = "CourseName"; this._CourseId.DataValueField = "CourseId"; this._CourseId.DataBind(); _CourseId.SelectedValue = CourseId.ToString(); } if (queryString != int.MinValue) { base.CheckAdminPower("ReadQuestion", PowerCheckType.Single); QuestionInfo QuestionModel = QuestionBLL.ReadQuestion(queryString); int CateId = CourseBLL.ReadCourse(QuestionModel.CateId).CateId; _CateId.SelectedValue = CateId.ToString(); CourseInfo CourseModel = new CourseInfo(); CourseModel.CateId = CateId; this._CourseId.DataSource = CourseBLL.ReadList(CourseModel); this._CourseId.DataTextField = "CourseName"; this._CourseId.DataValueField = "CourseId"; this._CourseId.DataBind(); _CourseId.SelectedValue = QuestionModel.CateId.ToString(); this.Quetion.Text = QuestionModel.Question; this.TestType.Text = QuestionModel.Style; if (QuestionModel.Style == "1") { this.SingleA.Text = QuestionModel.A; this.SingleB.Text = QuestionModel.B; this.SingleC.Text = QuestionModel.C; this.SingleD.Text = QuestionModel.D; switch (QuestionModel.Answer.ToUpper()) { case "A": this.SingleAnswerA.Checked = true; break; case "B": this.SingleAnswerB.Checked = true; break; case "C": this.SingleAnswerC.Checked = true; break; case "D": this.SingleAnswerD.Checked = true; break; } this.singleTest.Style.Add("display", ""); this.MultiTest.Style.Add("display", "none"); this.PanDuanTest.Style.Add("display", "none"); } else if (QuestionModel.Style == "2") { this.MultiA.Text = QuestionModel.A; this.MultiB.Text = QuestionModel.B; this.MultiC.Text = QuestionModel.C; this.MultiD.Text = QuestionModel.D; for (int i = 0; i < QuestionModel.Answer.Length; i++) { switch (QuestionModel.Answer.ToUpper().Substring(i, 1)) { case "A": this.MultiAnswerA.Checked = true; break; case "B": this.MultiAnswerB.Checked = true; break; case "C": this.MultiAnswerC.Checked = true; break; case "D": this.MultiAnswerD.Checked = true; break; } } this.singleTest.Style.Add("display", "none"); this.MultiTest.Style.Add("display", ""); this.PanDuanTest.Style.Add("display", "none"); } else if (QuestionModel.Style == "3") { this.JudgeAnswer.Text = QuestionModel.Answer; if (QuestionModel.Answer == "0") { JudgeRightAnswer.Text = QuestionModel.A; RightAnswer.Style["display"] = ""; } this.singleTest.Style.Add("display", "none"); this.MultiTest.Style.Add("display", "none"); this.PanDuanTest.Style.Add("display", ""); } } } }