public void Papers_Add() { int classid = DataConverter.CLng(Request.Form["TreeTlp_hid"]); if (classid < 1) { function.WriteErrMsg("请选择试卷科目"); return; } M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); if (paperMod == null) { paperMod = new M_Exam_Sys_Papers(); } paperMod.p_name = Request.Form["p_name"]; paperMod.p_class = classid; paperMod.p_type = DataConverter.CLng(Request.Form["p_type"]); paperMod.p_rtype = DataConverter.CLng(Request.Form["p_rtype"]); paperMod.p_Remark = Request.Form["p_Remark"]; paperMod.p_UseTime = DataConverter.CDouble(Request.Form["p_UseTime"]); paperMod.p_BeginTime = DataConverter.CDate(Request.Form["p_BeginTime"]); paperMod.p_endTime = DataConverter.CDate(Request.Form["p_endTime"]); paperMod.TagKey = Request.Form["tabinput"]; if (Mid > 0) { paperBll.UpdateByID(paperMod); } else { paperMod.UserID = buser.GetLogin().UserID; paperBll.GetInsert(paperMod); } function.WriteSuccessMsg("操作成功", "Papers_System_Manage"); }
public ActionResult AddPaper() { M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers(); if (Mid > 0) { paperMod = paperBll.GetSelect(Mid); if (mu.UserID != paperMod.UserID) { function.WriteErrMsg("你无权修改该试卷"); return(Content("")); } } else { paperMod.p_BeginTime = DateTime.Now; paperMod.p_endTime = DateTime.Now.AddMonths(1); } C_TreeTlpDP treeMod = new C_TreeTlpDP() { F_ID = "C_id", F_Name = "C_ClassName", F_Pid = "C_Classid", dt = clsBll.Select_All(), seled = paperMod.p_class.ToString() }; ViewBag.treeMod = treeMod; return(View(paperMod)); }
//试卷合并 public void Paper_Merge() { string ids = Request.Form["idchk"]; if (string.IsNullOrEmpty(ids)) { function.WriteErrMsg("请先选定需要合并的试卷"); return; } DataTable dt = paperBll.SelByIDS(ids); if (dt.Rows.Count < 1) { function.WriteErrMsg("选定的试卷不存在"); return; } M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers(); paperMod.UserID = mu.UserID; paperMod.p_name = DateTime.Now.ToString("yyyyMMdd") + "合并试卷"; paperMod.QIDS = ""; foreach (DataRow dr in dt.Rows) { paperMod.QIDS += dr["QIDS"] + ","; } if (string.IsNullOrEmpty(paperMod.QIDS.Replace(",", ""))) { function.WriteErrMsg("试卷中没有添加题目,取消合并"); return; } paperMod.p_type = Convert.ToInt32(dt.Rows[0]["p_type"]); paperMod.p_class = Convert.ToInt32(dt.Rows[0]["p_class"]); paperMod.QIDS = StrHelper.RemoveDupByIDS(paperMod.QIDS); paperMod.QIDS = StrHelper.PureIDSForDB(paperMod.QIDS); paperBll.Insert(paperMod); function.WriteSuccessMsg("试卷合并成功"); return; }
public ActionResult PaperCenter_Submit() { M_Temp tempMod = tempBll.SelModelByUid(mu.UserID, 10); M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers(); if (string.IsNullOrEmpty(tempMod.Str1)) { function.WriteErrMsg("试题蓝为空,无法生成试卷!"); return(null); } paperMod.p_name = Request.Form["title_t"]; paperMod.p_class = 0; paperMod.p_Remark = Request.Form["desc_t"]; paperMod.p_UseTime = DataConverter.CLng(Request.Form["usetime_t"]); paperMod.p_BeginTime = DateTime.Now; paperMod.p_endTime = DateTime.Now.AddYears(1); paperMod.p_Style = 2; paperMod.UserID = mu.UserID; paperMod.QIDS = tempMod.Str1; paperMod.QuestList = Request.Form["qinfo_hid"]; paperMod.Price = DataConverter.CLng(Request.Form["price_t"]); int newid = paperBll.Insert(paperMod); //------------------------- tempMod.Str1 = ""; tempBll.UpdateByID(tempMod); ViewBag.pname = paperMod.p_name; ViewBag.newid = newid; ViewBag.step = 2; return(View("PaperCenter")); }
public void Paper_Add() { M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers(); if (Mid > 0) { paperMod = paperBll.SelReturnModel(Mid); if (paperMod.UserID != mu.UserID) { function.WriteErrMsg("你无权修改该试卷"); return; } } paperMod.p_name = Request.Form["p_name"]; paperMod.p_class = DataConvert.CLng(Request.Form["TreeTlp_Hid"]); paperMod.p_type = DataConverter.CLng(Request.Form["p_type"]); paperMod.p_Remark = Request.Form["p_Remark"]; paperMod.p_UseTime = DataConverter.CDouble(Request.Form["p_UseTime"]); paperMod.p_BeginTime = DataConverter.CDate(Request.Form["p_BeginTime"]); paperMod.p_endTime = DataConverter.CDate(Request.Form["p_endTime"]); paperMod.p_Style = DataConverter.CLng(Request.Form["p_Style"]); paperMod.TagKey = Request.Form["tabinput"]; if (paperMod.id > 0) { paperMod.UserID = mu.UserID; paperBll.UpdateByID(paperMod); } else { paperBll.Insert(paperMod); } function.WriteSuccessMsg("操作成功!", "Papers_System_Manage"); return; }
public IActionResult Papers_Add() { int classid = DataConverter.CLng(RequestEx["TreeTlp_hid"]); if (classid < 1) { return(WriteErr("请选择试卷科目")); } M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); if (paperMod == null) { paperMod = new M_Exam_Sys_Papers(); } paperMod.p_name = RequestEx["p_name"]; paperMod.p_class = classid; paperMod.p_type = DataConverter.CLng(RequestEx["p_type"]); paperMod.p_rtype = DataConverter.CLng(RequestEx["p_rtype"]); paperMod.p_Remark = RequestEx["p_Remark"]; paperMod.p_UseTime = DataConverter.CDouble(RequestEx["p_UseTime"]); paperMod.p_BeginTime = DataConverter.CDate(RequestEx["p_BeginTime"]); paperMod.p_endTime = DataConverter.CDate(RequestEx["p_endTime"]); paperMod.TagKey = RequestEx["tabinput"]; if (Mid > 0) { paperBll.UpdateByID(paperMod); } else { //paperMod.UserID = mu paperBll.GetInsert(paperMod); } return(WriteOK("操作成功", "Papers_System_Manage")); }
public ActionResult Paper_QuestionManage() { if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.exam, "paper")) { return(null); } int Pid = DataConverter.CLng(Request.QueryString["pid"]); int QType = DataConverter.CLng(Request.QueryString["qtype"]); M_Exam_Sys_Papers paperMod = paperBll.GetSelect(Pid); PageSetting setting = questBll.SelByIDS_SPage(CPage, PSize, paperMod.QIDS, QType); if (setting == null) { setting = new PageSetting() { itemCount = 0 }; } if (Request.IsAjaxRequest()) { return(PartialView("Paper_QuestionManage_List", setting)); } ViewBag.ptitle = StringHelper.SubStr(paperMod.p_name, 10); ViewBag.selids = "," + paperMod.QIDS + ","; return(View(setting)); }
public ActionResult Papers_System_Add() { if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.exam, "paper")) { return(null); } int NodeID = DataConverter.CLng(Request.QueryString["NodeID"]); M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); if (paperMod != null) { ViewBag.title = "修改试卷"; } else { paperMod = new M_Exam_Sys_Papers() { p_class = NodeID == 0 ? 1 : NodeID }; ViewBag.title = "添加试卷"; if (NodeID > 0) { ViewBag.title += "[" + classBll.GetSelect(NodeID).C_ClassName + "]"; } } C_TreeTlpDP treeMod = GetTreeMod(); if (paperMod.p_class > 0) { treeMod.seled = paperMod.p_class.ToString(); } ViewBag.treeMod = treeMod; return(View(paperMod)); }
public VM_ExamDetail(M_UserInfo mu, M_Exam_Sys_Papers paperMod, HttpRequestBase Request) { this.mu = mu; this.paperMod = paperMod; Action = (Request.QueryString["action"] ?? "").ToLower(); FlowID = Request.QueryString["FlowID"] ?? ""; QuestDT = questBll.SelByIDSForExam(paperMod.QIDS, paperMod.id);//获取问题,自动组卷则筛选合适的IDS QuestDT.DefaultView.RowFilter = ""; QuestDT_Hid = JsonConvert.SerializeObject(QuestDT.DefaultView.ToTable(false, "p_id,p_title,p_type,p_defaultScores,istoshare,pid".Split(','))); typeDT = answerBll.GetTypeDT(QuestDT); ExTime = DataConverter.CLng(paperMod.p_UseTime); if (Action.Equals("view"))//显示答案 { AnswerDT = answerBll.SelByPid(mu.UserID, paperMod.id, FlowID); if (AnswerDT.Rows.Count < 1) { function.WriteErrMsg("你尚未完成答卷"); } AnswerDT.DefaultView.RowFilter = ""; Answer_Hid = JsonConvert.SerializeObject(AnswerDT.DefaultView.ToTable(true, "ID,QID,QType,QTitle,Answer,IsRight,Remark".Split(','))); answerMod = answerBll.SelMainModel(FlowID); //-----显示得分 //MySchool_T.Enabled = false; //MyClass_T.Enabled = false; //UName_T.Enabled = false; useTime = "用时 " + (answerMod.CDate - answerMod.StartDate).TotalMinutes.ToString("f0") + " 分钟"; totalScore = "得分:" + DataConverter.CLng(AnswerDT.Select("Remind=1")[0]["TotalScore"]); } }
public void ExamDetail_Submit() { string Qids = Request.QueryString["qids"] ?? ""; JArray arr = JsonConvert.DeserializeObject <JArray>(Request["QuestDT_Hid"]); M_UserInfo mu = tuserBll.GetLogin(); M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); M_Exam_Answer firstMod = new M_Exam_Answer(); List <M_Exam_Answer> answerList = new List <M_Exam_Answer>(); bool isfrist = true; //首条记录用于存储批注信息,预估得分,人工批阅后才是真正得分 int totalscore = 0; // string flowid = DateTime.Now.ToString("yyyyMMddHHmmssfff"); foreach (JObject obj in arr) { M_Exam_Answer answerMod = new M_Exam_Answer(); answerMod.UserID = mu.UserID; answerMod.UserName = mu.UserName; answerMod.QID = DataConverter.CLng(obj["p_id"].ToString()); answerMod.QTitle = obj["p_title"].ToString(); answerMod.QType = obj["p_Type"].ToString(); answerMod.Score = DataConverter.CLng(obj["p_defaultScores"].ToString()); answerMod.Answer = obj["answer"] == null ? "" : obj["answer"].ToString(); answerMod.PaperID = Mid; answerMod.PaperName = paperMod != null ? paperMod.p_name : "临时组卷"; answerMod.FlowID = flowid; answerMod = CheckIsRight(answerMod); answerMod.Remind = "0"; answerMod.pid = DataConverter.CLng(obj["pid"].ToString()); if (answerMod.IsRight == RIGHT) { totalscore += answerMod.Score; } if (isfrist) { answerMod.Remind = "1"; isfrist = false; firstMod = answerMod; firstMod.UserName = Request.Form["UName_T"]; if (string.IsNullOrEmpty(firstMod.UserName)) { firstMod.UserName = mu.UserName; } firstMod.MySchool = Request.Form["MySchool_T"]; firstMod.MyClass = Request.Form["MyClass_T"]; } answerList.Add(answerMod); } firstMod.TotalScore = totalscore; foreach (M_Exam_Answer model in answerList) { model.StartDate = DateTime.Now.AddSeconds(-DataConverter.CLng(Request.Form["QuestTime_Hid"]));//开始答题时间 answerBll.Insert(model); } string url = "ExamDetail?action=view&FlowID=" + flowid; url += Mid < 1 ? "" : "&ID=" + Mid; url += string.IsNullOrEmpty(Qids) ? "" : "&qids=" + Qids; function.WriteSuccessMsg("提交答案成功", url); return; }
protected void Sure_Btn_Click(object sender, EventArgs e) { M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(PaperID); paperMod.QIDS = Qids_Hid.Value; paperMod.QuestList = QInfo_Hid.Value; paperBll.UpdateByID(paperMod); function.WriteSuccessMsg("保存成功"); }
public ActionResult paper() { M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); DataTable QuestDT = questBll.SelByIDSForExam(paperMod.QIDS, paperMod.id);//获取问题,自动组卷则筛选合适的IDS DataTable typeDT = ansBll.GetTypeDT(QuestDT); ViewBag.pname = paperMod.p_name; ViewBag.questDt = QuestDT; ViewBag.typeDt = typeDT; return(View()); }
//为试卷添加试题 public int Paper_AddQids(int pid, string ids) { M_Exam_Sys_Papers paperMod = paperBll.GetSelect(pid); if (paperMod.UserID != mu.UserID) { return(Failed); } paperMod.QIDS = string.Join(",", ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); paperBll.UpdateByID(paperMod); return(Success); }
private void MyBind() { M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(PaperID); Title_T.Text = paperMod.p_name; QuestDT = questBll.SelByIDSForExam(paperMod.QIDS, PaperID);//获取问题,自动组卷则筛选合适的IDS if (QuestDT != null) { QuestDT.DefaultView.RowFilter = ""; DataTable typeDT = answerBll.GetTypeDT(QuestDT); MainRPT.DataSource = typeDT; MainRPT.DataBind(); } }
protected string GetExaName(string ExaID) { int intexa = DataConverter.CLng(ExaID); if (intexa > 0) { M_Exam_Sys_Papers pinfo = bps.GetSelect(intexa); return(pinfo.p_name); } else { return(""); } }
private VM_ExamDetail ExamDetail_MyBind() { M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); if (paperMod == null) { return(null); } if (string.IsNullOrEmpty(paperMod.QIDS)) { function.WriteErrMsg("该试卷没有添加题目!"); return(null); } VM_ExamDetail model = new VM_ExamDetail(mu, paperMod, Request); return(model); }
public void MyBind() { M_Exam_Sys_Papers papermodel = paperBll.GetSelect(Pid); PTitle_L.Text = StringHelper.SubStr(papermodel.p_name, 10); SelIDS_IDS.Value = "," + papermodel.QIDS + ","; DataTable dt = null; if (!string.IsNullOrEmpty(papermodel.QIDS)) { dt = questBll.SelByIDS(papermodel.QIDS, QType, "*"); } EGV.DataSource = dt; EGV.DataBind(); function.Script(this, "ActiveTab(" + QType + ");"); }
protected void Dels_B_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.Form["idchk"])) { M_Exam_Sys_Papers papermodel = paperBll.GetSelect(Pid); string paper_qids = "," + papermodel.QIDS + ","; string[] quesids = Request.Form["idchk"].Split(','); foreach (var quesid in quesids) { if (paper_qids.Contains("," + quesid + ",")) { paper_qids = paper_qids.Replace("," + quesid + ",", ","); } } papermodel.QIDS = paper_qids.Trim(','); paperBll.UpdateByID(papermodel); } MyBind(); }
//试卷下题目管理 public ActionResult Paper_QuestionManage() { int Pid = DataConverter.CLng(Request.QueryString["pid"]); int QType = DataConverter.CLng(Request.QueryString["qtype"], 99); //题目类型 M_Exam_Sys_Papers paperMod = paperBll.GetSelect(Pid); PageSetting setting = new PageSetting(); if (!string.IsNullOrEmpty(paperMod.QIDS)) { setting = questBll.SelByIDS(CPage, PSize, paperMod.QIDS, QType, "*"); } else { setting.dt = new DataTable(); } ViewBag.paperMod = paperMod; ViewBag.QType = QType; return(View(setting)); }
//学生考试(根据条件动态组卷) public ActionResult ExamDetail() { string Qids = Request.QueryString["qids"] ?? ""; VM_ExamDetail model = null; if (!string.IsNullOrEmpty(Qids)) { M_Exam_Sys_Papers paperMod = new M_Exam_Sys_Papers(); paperMod.p_name = "临时组卷"; paperMod.QIDS = Qids; paperMod.p_UseTime = 0; model = ExamDetail_MyBind(paperMod); } else { model = ExamDetail_MyBind(); } return(View(model)); }
public ActionResult ViewPaperCenter() { if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.exam, "paper")) { return(null); } if (Mid < 1) { function.WriteErrMsg("请输入试卷ID"); return(null); } M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); ViewBag.title = paperMod.p_name; ViewBag.paperid = paperMod.id; ViewBag.desc = paperMod.p_Remark; //获取问题,自动组卷则筛选合适的IDS DataTable questDt = questBll.SelByIDSForExam(paperMod.QIDS, Mid) ?? new DataTable(); DataTable typeDt = answerBll.GetTypeDT(questDt) ?? new DataTable(); ViewBag.questDt = questDt; ViewBag.typeDt = typeDt; return(View()); }
protected void Page_Load(object sender, EventArgs e) { B_ARoleAuth.CheckEx(ZLEnum.Auth.content, "ContentMange"); if (!IsPostBack) { GetQuesType(); if (Mid > 0) { M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); Label2.Text = "修改试卷"; if (paperMod != null && paperMod.id > 0) { txtPaperName.Text = paperMod.p_name; NodeID_Hid.Value = paperMod.p_class.ToString(); ddType.SelectedValue = paperMod.p_type.ToString(); txtRemark.Text = paperMod.p_Remark; //ddStyle.SelectedValue = mps.p_Style.ToString(); //ddRtyle.SelectedValue = paperMod.p_type.ToString(); txtTime.Text = paperMod.p_UseTime.ToString(); txtBegionTime.Text = paperMod.p_BeginTime.ToString(); txtEndTime.Text = paperMod.p_endTime.ToString(); TagKey_T.Text = paperMod.TagKey; } } else { Label2.Text = "添加试卷"; if (NodeID > 0) { NodeID_Hid.Value = NodeID.ToString(); Label2.Text += "[" + nodeBll.GetSelect(DataConverter.CLng(NodeID_Hid.Value)).C_ClassName + "]"; } } Call.SetBreadCrumb(Master, "<li><a href='" + customPath2 + "I/Main.aspx'>工作台</a></li><li><a href='Papers_System_Manage.aspx'>教育模块</a></li> <li><a href='Papers_System_Manage.aspx'>试卷管理</a></li><li>" + Label2.Text + "</li>"); } }
private VM_ExamDetail ExamDetail_MyBind(M_Exam_Sys_Papers paperMod = null) { M_UserInfo mu = tuserBll.GetLogin(); if (Mid > 0) { paperMod = paperBll.SelReturnModel(Mid); } if (DateTime.Now < paperMod.p_BeginTime) { function.WriteErrMsg("还未到考试时间!"); return(null); } if (paperMod.p_endTime < DateTime.Now) { function.WriteErrMsg("考试时间已过!"); return(null); } if (string.IsNullOrEmpty(paperMod.QIDS)) { function.WriteErrMsg("该试卷没有添加题目!"); return(null); } VM_ExamDetail model = new VM_ExamDetail(mu, paperMod, Request); return(model); }
public void DownPaper() { string qids = Request["qids"] ?? ""; string PaperSize = Request["PaperSize"] ?? "A4"; bool Orient = string.IsNullOrEmpty(Request["Orient"]) ? true : DataConverter.CBool(Request["Orient"]); M_Exam_Sys_Papers paperMod = paperBll.SelReturnModel(Mid); if (paperMod == null) { function.WriteErrMsg("试卷不存在"); } BH.HtmlHelper htmlHelp = new BH.HtmlHelper(); StringWriter sw = new StringWriter(); Server.Execute("/BU/Exam/Paper.aspx?id=" + paperMod.id, sw, false); string html = sw.ToString(); HtmlPage page = htmlHelp.GetPage(html); html = page.Body.ExtractAllNodesThatMatch(new HasAttributeFilter("id", "paper"), true).ToHtml(); string wordDir = "/Log/Storage/Exam/Paper/"; string wordPath = wordDir + paperMod.id + ".docx"; string ppath = Server.MapPath(wordPath); if (!Directory.Exists(Server.MapPath(wordDir))) { Directory.CreateDirectory(Server.MapPath(wordDir)); } MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(sw.ToString())); //convert stream 2 string using (MemoryStream generatedDocument = new MemoryStream()) { using (WordprocessingDocument doc = WordprocessingDocument.Create(generatedDocument, WordprocessingDocumentType.Document)) { MainDocumentPart mainPart = doc.MainDocumentPart; if (mainPart == null) { mainPart = doc.AddMainDocumentPart(); new Document(new Body()).Save(mainPart); } HtmlConverter converter = new HtmlConverter(mainPart); //生成格式A4,A3 Body docBody = mainPart.Document.Body; SectionProperties sectionProperties = new SectionProperties(); PageSize pageSize = new PageSize(); PageMargin pageMargin = new PageMargin(); //默认为16k大小 Columns columns = new Columns() { Space = "220" }; //720 DocGrid docGrid = new DocGrid() { LinePitch = 100 }; //360 GetPageSetting(ref pageSize, ref pageMargin, PaperSize, Orient); sectionProperties.Append(pageSize, pageMargin, columns, docGrid); docBody.Append(sectionProperties); var paragraphs = converter.Parse(html); for (int i = 0; i < paragraphs.Count; i++) { docBody.Append(paragraphs[i]); } mainPart.Document.Save(); } SafeC.SaveFile(wordDir, paperMod.id + ".docx", generatedDocument.ToArray()); } SafeSC.DownFile(wordPath, paperMod.p_name + ".docx"); }