/// <summary> /// 获取考试的基本信息 /// </summary> /// <param name="examUserID">考试人员ID</param> /// <param name="type">0:独立的考试</param> /// <returns></returns> public ExampaperShow GetExampaperBaseInforShow(int examUserID, int type = 0) { var exampaper = new ExampaperShow(); //new 试卷对象 var examuser = Etdb.GetSingleByID <tbExamSendStudent>(examUserID); //单个考生考试信息 //var exam = new tbExampaper(); tbExampaper exam = null; //var examination = new tbExamination(); //考试分类对象 tbExamination examination = null; exam = Etdb.GetSingleByID <tbExampaper>(examuser.ExamPaperID); //试卷对象 if (type == 0) { examination = Etdb.GetSingleByID <tbExamination>(examuser.RelationID); } exampaper.ExampaperType = exam.ExamType; exampaper.QuestionTypeStrShow = exam.QuestionTypeOrder.GetQuestionTypeStr(); //获取试题 if (examination != null) { GetExampaper(exampaper, exam, examuser, examination); } else { GetExampaper(exampaper, exam, examuser); } //初始化学员答案 exampaper.QuestionList.ForEach(p => exampaper.StudentAnswer.Add(new StudentAnswer { Answer = p.UserAnswer, Qid = p.QuestionID, QType = p.QType })); return(exampaper); }
/// <summary> /// 考试详细 /// </summary> /// <param name="Id"></param> /// <returns></returns> public ActionResult ExaminationDetail(int Id) { tbExamination exam = _examinationBL.GetExamination(Id); if (exam != null) { exam.ExamBeginTime = exam.ExamBeginTime.ToLocalTime(); exam.ExamEndTime = exam.ExamEndTime.ToLocalTime(); exam.LastUpdateTime = exam.LastUpdateTime.ToLocalTime(); string ApprovalUserIds = exam.ApprovalUser == null ? "" : exam.ApprovalUser.Aggregate("", (current, id) => current + (id + ",")); if (!string.IsNullOrEmpty(ApprovalUserIds)) { ApprovalUserIds = ApprovalUserIds.Remove(ApprovalUserIds.Length - 1); } tbExampaper paper = _exampaperBL.GetExampaper(exam.PaperID); if (paper != null) { ViewBag.PaperName = paper.ExampaperTitle; } ViewData["personids"] = string.Join(",", _examinationBL.GettbExamSendAllStudent(Id) .Select(p => p.UserID) .Distinct()); ViewBag.ApprovalUserIds = ApprovalUserIds; } else { exam = new tbExamination(); ViewBag.Msg = "对不起,该考试不存在或已被删除!"; } return(View(exam)); }
/// <summary> /// 我的年度培训目标 /// </summary> /// <param name="userid"></param> /// <param name="bentime"></param> /// <param name="endtime"></param> /// <param name="totalcount"></param> /// <param name="startIndex"></param> /// <param name="startLength"></param> /// <param name="Order"></param> /// <param name="where"></param> /// <returns></returns> public List <Co_CourseShow> GetMyCourse(int userid, int year, int way, out int totalcount, int startIndex = 0, int startLength = int.MaxValue, string Order = "asc", string where = "1=1") { var list = new List <Co_CourseShow>(); list = way == 1 ? _userDB.GetMyCourse(userid, year, startIndex, startLength, Order, where) : _userDB.GetMyVidioCourse(userid, year, startIndex, startLength, Order, where); totalcount = list.Count > 0 ? list[0].totalcount : 0; for (int i = 0; i < list.Count; i++) { if (list[i].CoPaperID > 0 && list[i].PaperId > 0) { tbExamSendStudent exam = new tbExamSendStudent(); if (list[i].Way == 2) { exam = _ExamDB.GetExamSendStudentBySQL2008(list[i].Id, userid, list[i].CoPaperID, list[i].PaperId, 2); } else { exam = _ExamDB.GetExamSendStudentBySQL2008(list[i].Id, userid, list[i].CoPaperID, list[i].PaperId, 1); } list[i].GetexamScore = exam == null?0:exam.StudentAnswerList.Sum(pa => pa.GetScore); tbExampaper paper = _paperDB.GetExampaper(list[i].PaperId); list[i].ExamScore = paper.ExampaperScore; } else { list[i].GetexamScore = 0; list[i].ExamScore = 0; } } return(list); }
/// <summary> /// 新增或修改考试 /// </summary> /// <param name="Id"></param> /// <returns></returns> public ActionResult EditExamination(int?Id) { var exam = new tbExamination(); if (Id.HasValue) { exam = _examinationBL.GetExamination(Id.Value); if (exam != null) { exam.ExamBeginTime = exam.ExamBeginTime.ToLocalTime(); exam.ExamEndTime = exam.ExamEndTime.ToLocalTime(); exam.LastUpdateTime = exam.LastUpdateTime.ToLocalTime(); } } string ApprovalUserIds = exam.ApprovalUser == null ? "" : exam.ApprovalUser.Aggregate("", (current, id) => current + (id + ",")); if (!string.IsNullOrEmpty(ApprovalUserIds)) { ApprovalUserIds = ApprovalUserIds.Remove(ApprovalUserIds.Length - 1); } if (exam != null) { tbExampaper paper = _exampaperBL.GetExampaper(exam.PaperID); if (paper != null) { ViewBag.PaperName = paper.ExampaperTitle; } } ViewBag.ApprovalUserIds = ApprovalUserIds; return(View(exam)); }
/// <summary> /// 添加培训班考试 /// </summary> /// <returns></returns> public ActionResult AddClassExam(int classId) { var classmodel = _classManager.GetTrTrainClassById(classId); List <Tr_TrainClassToExam> examList = _classManager.GetTrainClassToExams(classId); if (!examList.Any()) { examList = new List <Tr_TrainClassToExam>(); } else { foreach (var exam in examList) { if (exam.ExamID > 0) { tbExamination model = _examinationBL.GetExamination(exam.ExamID); tbExampaper paper = _exampaperBL.GetExampaper(model.PaperID); exam.PaperID = model.PaperID; exam.Papername = paper != null ? paper.ExampaperTitle : ""; exam.TestTimes = model.TestTimes; exam.RadomOrderFlag = model.RadomOrderFlag; exam.PassScore = model.PassScore; exam.ApprovalUserIds = model.ApprovalUser == null ? "" : model.ApprovalUser.GetString(defaultValue: ""); } } } ViewBag.classId = classId; ViewBag.weightType = classmodel.WeightType; return(View(examList)); }
/// <summary> /// 根据ID修改单个实体 /// </summary> /// <returns></returns> public bool UpdateExampaper(tbExampaper tbE) { try { MongoCollection <tbExampaper> coll = BaseDB.CreateInstance().GetCollection <tbExampaper>("tbExampaper"); tbExampaper exam = coll.FindOne(Query.EQ("_id", tbE._id)); tbE.UserID = exam.UserID; coll.Remove(Query.EQ("_id", tbE._id)); coll.Insert(tbE); return(true); } catch { return(false); } finally { BaseDB.MongoService.Disconnect(); } }
///// <summary> ///// 添加试卷冗余(通过试卷) ///// </summary> ///// <param name="exampaper">试卷</param> ///// <returns></returns> //public int InsertExampaperRedundancy(tbExampaper exampaper) //{ // tbExampaperRedundancy model = new tbExampaperRedundancy // { // ExampaperId = exampaper._id, // Description = exampaper.Description, // Distribution = exampaper.Distribution, // ExamSortID = exampaper.ExamSortID, // TrainDetailId = exampaper.TrainDetailId, // UserID = exampaper.UserID, // CreateTime = exampaper.CreateTime, // ExampaperAvailable = exampaper.ExampaperAvailable, // ExampaperOpen = exampaper.ExampaperOpen, // ExampaperScore = exampaper.ExampaperScore, // ExampaperTitle = exampaper.ExampaperTitle, // ExamType = exampaper.ExamType, // LastUpdateTime = exampaper.LastUpdateTime, // QuestionList = exampaper.QuestionList, // QuestionRule = exampaper.QuestionRule, // QuestionTypeOrder = exampaper.QuestionTypeOrder, // Realname = exampaper.Realname, // Status = exampaper.Status, // TenantId = exampaper.TenantId // }; // return EDB.Insert(model); //} ///// <summary> ///// 添加试卷冗余(通过试卷ID) ///// </summary> ///// <param name="exampaperId">试卷ID</param> ///// <returns></returns> //public int InsertExampaperRedundancy(int exampaperId) //{ // tbExampaper exampaper = EDB.GetSingleById<tbExampaper>(exampaperId); // tbExampaperRedundancy model = new tbExampaperRedundancy // { // ExampaperId = exampaper._id, // Description = exampaper.Description, // Distribution = exampaper.Distribution, // ExamSortID = exampaper.ExamSortID, // TrainDetailId = exampaper.TrainDetailId, // UserID = exampaper.UserID, // CreateTime = exampaper.CreateTime, // ExampaperAvailable = exampaper.ExampaperAvailable, // ExampaperOpen = exampaper.ExampaperOpen, // ExampaperScore = exampaper.ExampaperScore, // ExampaperTitle = exampaper.ExampaperTitle, // ExamType = exampaper.ExamType, // LastUpdateTime = exampaper.LastUpdateTime, // QuestionList = exampaper.QuestionList, // QuestionRule = exampaper.QuestionRule, // QuestionTypeOrder = exampaper.QuestionTypeOrder, // Realname = exampaper.Realname, // Status = exampaper.Status, // TenantId = exampaper.TenantId // }; // return EDB.Insert(model); //} /// <summary> /// 添加试卷冗余(通过试卷ID) /// </summary> /// <param name="exampaperId">试卷ID</param> /// <param name="oldExampaperRedundancyId">已冗余ID 【如果未冗余过,则传0】</param> /// <returns></returns> public int InsertExampaperRedundancy(int exampaperId, int oldExampaperRedundancyId) { if (oldExampaperRedundancyId > 0) { var old = EDB.GetSingleById <tbExampaperRedundancy>(oldExampaperRedundancyId); if (old.ExampaperId == exampaperId) { return(oldExampaperRedundancyId); } tbExampaper exampaper = EDB.GetSingleById <tbExampaper>(exampaperId); var coll = MongoPooledConnection.WriteDatabase.GetCollection("tbExampaperRedundancy"); coll.Remove(Query.And(new[] { Query.EQ("_id", oldExampaperRedundancyId) }), WriteConcern.Acknowledged); int seq = MongoBaseMethod.GetSeqence("SeqencetbExampaperRedundancy"); tbExampaperRedundancy model = new tbExampaperRedundancy { _id = seq, ExampaperId = exampaper._id, Description = exampaper.Description, Distribution = exampaper.Distribution, ExamSortID = exampaper.ExamSortID, TrainDetailId = exampaper.TrainDetailId, UserID = exampaper.UserID, CreateTime = exampaper.CreateTime, ExampaperAvailable = exampaper.ExampaperAvailable, ExampaperOpen = exampaper.ExampaperOpen, ExampaperScore = exampaper.ExampaperScore, ExampaperTitle = exampaper.ExampaperTitle, ExamType = exampaper.ExamType, LastUpdateTime = exampaper.LastUpdateTime, QuestionList = exampaper.QuestionList, QuestionRule = exampaper.QuestionRule, QuestionTypeOrder = exampaper.QuestionTypeOrder, Realname = exampaper.Realname, Status = exampaper.Status, TenantId = exampaper.TenantId }; coll.Insert(model, WriteConcern.Acknowledged); return(seq); } var exampap = EDB.GetSingleById <tbExampaper>(exampaperId); var tbExampaperR = new tbExampaperRedundancy { ExampaperId = exampap._id, Description = exampap.Description, Distribution = exampap.Distribution, ExamSortID = exampap.ExamSortID, TrainDetailId = exampap.TrainDetailId, UserID = exampap.UserID, CreateTime = exampap.CreateTime, ExampaperAvailable = exampap.ExampaperAvailable, ExampaperOpen = exampap.ExampaperOpen, ExampaperScore = exampap.ExampaperScore, ExampaperTitle = exampap.ExampaperTitle, ExamType = exampap.ExamType, LastUpdateTime = exampap.LastUpdateTime, QuestionList = exampap.QuestionList, QuestionRule = exampap.QuestionRule, QuestionTypeOrder = exampap.QuestionTypeOrder, Realname = exampap.Realname, Status = exampap.Status, TenantId = exampap.TenantId }; return(EDB.Insert(tbExampaperR)); }
/// <summary> /// 修改试卷 /// </summary> /// <param name="model">试卷</param> /// <returns></returns> public bool UpdateExampaper(tbExampaper model) { return(EDB.UpdateExampaper(model)); }
/// <summary> /// 培训班课程 /// </summary> /// <returns></returns> public ActionResult AddClassCourse(int classId) { var classmodel = _classManager.GetTrTrainClassById(classId); List <Tr_TrainClassToCourse> courseList = _classManager.GetTrainClassToCourses(classId); if (courseList.Count > 0) { foreach (var course in courseList) { course.resourceLsit = _classManager.GetTrainClassToCourseResources(course.ID); course.contentLsit = _classManager.GetTrainClassToCourseContents(course.ID); course.checkLsit = _classManager.GetTrainClassToCourseChecks(course.ID); if (!course.resourceLsit.Any()) { course.resourceLsit = new List <Tr_TrainClassToCourseResource>(); } if (!course.contentLsit.Any()) { course.contentLsit = new List <Tr_TrainClassToCouseContent>(); } if (!course.checkLsit.Any()) { course.checkLsit = new List <Tr_TrainClassToCouseCheck>(); } } } else { courseList = new List <Tr_TrainClassToCourse>(); } ViewBag.classId = classId; ViewBag.weightType = classmodel.WeightType; ViewBag.CourseModel = courseList; //return View(courseList); /* * * return View(examList); */ List <Tr_TrainClassToExam> examList = _classManager.GetTrainClassToExams(classId); if (!examList.Any()) { examList = new List <Tr_TrainClassToExam>(); } else { foreach (var exam in examList) { if (exam.ExamID > 0) { tbExamination model = _examinationBL.GetExamination(exam.ExamID); tbExampaper paper = _exampaperBL.GetExampaper(model.PaperID); exam.PaperID = model.PaperID; exam.Papername = paper != null ? paper.ExampaperTitle : ""; exam.TestTimes = model.TestTimes; exam.RadomOrderFlag = model.RadomOrderFlag; exam.PassScore = model.PassScore; exam.ApprovalUserIds = model.ApprovalUser == null ? "" : model.ApprovalUser.GetString(defaultValue: ""); } } } ViewBag.ExamModel = examList; List <Tr_TrainClassToPractical> practList = _classManager.GetTrainClassToPracticals(classId); if (!practList.Any()) { practList = new List <Tr_TrainClassToPractical>(); } //return View(practList); ViewBag.PractModel = practList; return(View()); }
public ActionResult ClassView(int classId) { Tr_TrainClass model = _classManager.GetTrTrainClassById(classId); //课程 List <Tr_TrainClassToCourse> courseList = _classManager.GetTrainClassToCourses(classId); if (courseList.Count > 0) { foreach (var course in courseList) { course.resourceLsit = _classManager.GetTrainClassToCourseResources(course.ID); course.contentLsit = _classManager.GetTrainClassToCourseContents(course.ID); course.checkLsit = _classManager.GetTrainClassToCourseChecks(course.ID); if (!course.resourceLsit.Any()) { course.resourceLsit = new List <Tr_TrainClassToCourseResource>(); } if (!course.contentLsit.Any()) { course.contentLsit = new List <Tr_TrainClassToCouseContent>(); } if (!course.checkLsit.Any()) { course.checkLsit = new List <Tr_TrainClassToCouseCheck>(); } } } else { courseList = new List <Tr_TrainClassToCourse>(); } //考试 List <Tr_TrainClassToExam> examList = _classManager.GetTrainClassToExams(classId); if (!examList.Any()) { examList = new List <Tr_TrainClassToExam>(); } else { foreach (var exam in examList) { if (exam.ExamID > 0) { tbExamination emodel = _examinationBL.GetExamination(exam.ExamID); tbExampaper paper = _exampaperBL.GetExampaper(emodel.PaperID); exam.PaperID = emodel.PaperID; exam.Papername = paper != null ? paper.ExampaperTitle : ""; exam.TestTimes = emodel.TestTimes; exam.RadomOrderFlag = emodel.RadomOrderFlag; exam.PassScore = emodel.PassScore; exam.ApprovalUserIds = emodel.ApprovalUser == null ? "" : emodel.ApprovalUser.GetString(defaultValue: ""); } } } //考评 List <Tr_TrainClassToPractical> practList = _classManager.GetTrainClassToPracticals(classId); if (!practList.Any()) { practList = new List <Tr_TrainClassToPractical>(); } var maxbatch = _planManager.GetMaxBatch(classId, 1); var approvelist = _planManager.GeTrPlanApproveList(classId, 1, maxbatch).OrderBy(p => p.Step); var newApprovelist = new List <Tr_PlanApproveList>(); var flag = false; foreach (var approve in approvelist) { if (!flag) { if (approve.ApproveStatus == 0) { flag = true; newApprovelist.Add(approve); } else { newApprovelist.Add(approve); } } } ViewBag.approvelist = newApprovelist; List <Tr_TrainClassToUser> userlist = _classManager.GetClassToUsers(classId); ViewBag.UserIds = userlist.Select(p => p.UserId).GetString(); ViewBag.Courses = courseList; ViewBag.Exams = examList; ViewBag.Practicals = practList; return(View(model)); }
/// <summary> /// 根据 考生考试关联ID 获取考生答题详情 /// </summary> /// <returns></returns> public JsonResult GetReStudentExamAnswerByExamUserId(int examUserId) { tbExamSendStudent examSendStudent = _examinationBL.GetExamSendStudent(examUserId); ExamBaseInforShow exam = _examTestBL.GetExamBaseInforShow(examUserId); tbExampaper examPaper = _exampaperBL.GetExampaper(examSendStudent.ExamPaperID); var itemArray = new object[examSendStudent.StudentAnswerList.Count]; int n = 0; string questionTypeHtml = ""; int q1Count = examSendStudent.StudentAnswerList.Count(q => q.QType == 1); int q2Count = examSendStudent.StudentAnswerList.Count(q => q.QType == 2); int q3Count = examSendStudent.StudentAnswerList.Count(q => q.QType == 3); int q4Count = examSendStudent.StudentAnswerList.Count(q => q.QType == 4); int q5Count = examSendStudent.StudentAnswerList.Count(q => q.QType == 5); int q6Count = examSendStudent.StudentAnswerList.Count(q => q.QType == 6); questionTypeHtml += q1Count > 0 ? "<span>问答题 ( " + q1Count + " )</span>" : ""; questionTypeHtml += q2Count > 0 ? "<span>单选题 ( " + q2Count + " )</span>" : ""; questionTypeHtml += q3Count > 0 ? "<span>多选题 ( " + q3Count + " )</span>" : ""; questionTypeHtml += q4Count > 0 ? "<span>判断题 ( " + q4Count + " )</span>" : ""; questionTypeHtml += q5Count > 0 ? "<span>填空题 ( " + q5Count + " )</span>" : ""; questionTypeHtml += q6Count > 0 ? "<span>多媒体题 ( " + q6Count + " )</span>" : ""; string answerCaseHtml = ""; answerCaseHtml += "<span>答错: " + examSendStudent.StudentAnswerList.Count(p => p.GetScore == 0 && p.Answer != "") + "</span>"; answerCaseHtml += "<span>未答: " + examSendStudent.StudentAnswerList.Count(p => p.Answer == "") + "</span>"; answerCaseHtml += "<span>正确: " + examSendStudent.StudentAnswerList.Count(p => p.GetScore > 0) + "</span>"; int totalScore = 0; foreach (ReStudentExamAnswer item in examSendStudent.StudentAnswerList) { //根据Qid 查Question表 tbQuestion question = _questionBL.GetSingleByID(item.Qid); string multi_mediaHtml = ""; if (question.QuestionType == 6) { string name = question.FileUpload[0].FileName; switch (question.FileUpload[0].FileType) { case 0: { multi_mediaHtml = " <table class='all80 cen'>" + "<tr>" + "<td class='all20' align='center' valign='middle'>" + " <a id='k-prev' style='position:relative;' onclick='turnToNext(this,\"left\");' ></a>" + "</td>" + "<td id='imageCollection' align='center' style='height: 300px;'>" + "<input type='hidden' value='1' />"; for (int i = 0; i < question.FileUpload.Count; i++) { multi_mediaHtml += "<img src='../../ClientBin/UploadFile/" + question.FileUpload[i].FileName + "' style='width:250px; height:250px; " + (i == 0 ? " display:block; " : " display:none; ") + "' />"; } multi_mediaHtml += " </td>" + "<td class='all20' align='center' valign='middle'>" + "<a id='k-next' style='position:relative;' onclick='turnToNext(this,\"right\");' ></a>" + "</td>" + "</tr>" + "</table>"; } break; case 1: { multi_mediaHtml += @"<embed class='mLeft_2' src='../../Scripts/mp3player/player.swf?url=../../ClientBin/UploadFile/" + name + "&autoplay=0;autostart=0' type='application/x-shockwave-flash' wmode='transparent' allowscriptaccess='always' height='25' width='400'></embed>"; } break; case 2: { var id = name.Substring(0, name.Length - 4); multi_mediaHtml += @"<input name='FlvName' value='" + name + @"' type='hidden' /><div class='mLeft_2'><div id='" + id + "'></div></div>"; } break; } } ReStudentExamAnswer reStuExamAnswer = examSendStudent.StudentAnswerList.Where(a => a.Qid == item.Qid).FirstOrDefault(); string qUserAnswerHtml = ""; string qRightAnswerHtml = ""; switch (item.QType) { case 1: qUserAnswerHtml = "<p><textarea class='Boxarea all60' disabled='disabled'>" + item.Answer + "</textarea></p>"; qRightAnswerHtml = question.QuestionAnswer[0].Answer; break; case 2: case 3: foreach (QuestionAnswer itemQueAnswer in question.QuestionAnswer.OrderBy(q => q.Order)) { qRightAnswerHtml += itemQueAnswer.AnswerFlag == 1 ? (qRightAnswerHtml == "" ? ((char)(itemQueAnswer.Order + 64)).ToString() : (". " + ((char)(itemQueAnswer.Order + 64)))) : ""; qUserAnswerHtml += " <p><input disabled='disabled' type='" + (item.QType == 2 ? "radio" : "checkbox") + "'" + (("," + item.Answer + ",").IndexOf("," + itemQueAnswer.Order + ",") >= 0 ? "checked='checked'" : "") + "name='answer_" + question._id + "' />" + ((char)(itemQueAnswer.Order + 64)) + ". " + itemQueAnswer.Answer + "</p>"; } break; case 4: qRightAnswerHtml = question.QuestionAnswer[0].Answer == "0" ? "A. 正确" : "B. 错误"; // 判断题 qUserAnswerHtml = "<p><input disabled='disabled' type='radio' name='answer_" + question._id + "'" + (item.Answer == "0" ? "checked='checked'" : "") + "/>A. 正确</p> <p><input disabled='disabled' type='radio' name='answer_" + question._id + "'" + (item.Answer == "1" ? "checked='checked'" : "") + " />B. 错误</p>"; break; case 5: qRightAnswerHtml = question.QuestionAnswer[0].Answer.Replace("!!%%!!", " "); // 填空题 qUserAnswerHtml = " <p>学员答案:" + (item.Answer.Replace("##**##", " ")) + "</p>"; break; case 6: int type = question.QuestionAnswer[0].AnswerType; if (type == 0) { qRightAnswerHtml = question.QuestionAnswer[0].Answer; // 问答题 qUserAnswerHtml = "<p><textarea class='Boxarea all60' disabled='disabled'>" + (item.Answer) + "</textarea></p>"; } else { //单选题 foreach (QuestionAnswer an in question.QuestionAnswer.OrderBy(p => p.Order)) { qRightAnswerHtml += an.AnswerFlag == 1 ? (qRightAnswerHtml == "" ? ((char)(an.Order + 64)).ToString() : (". " + ((char)(an.Order + 64)))) : ""; qUserAnswerHtml += " <p><input disabled='disabled' type='" + (type == 1 ? "radio" : "checkbox") + "'" + (("," + item.Answer + ",").IndexOf("," + an.Order + ",") >= 0 ? "checked=checked" : "") + " name='answer_" + question._id + "' />" + ((char)(an.Order + 64)) + ". " + (an.Answer) + "</p>"; } } break; default: break; } var temp = new { item.Qid, QOrder = item.Order, QuestionContent = "<h5>" + question.QuestionContent + "</h5><div class='db'>" + multi_mediaHtml + "</div>", UserAnswer = qUserAnswerHtml, QuestionAnswer = qRightAnswerHtml, UserGetScore = reStuExamAnswer.GetScore, QuestionScore = item.Score }; totalScore += reStuExamAnswer.GetScore; itemArray[n] = temp; n++; } return (Json( new { result = 1, dataList = itemArray.ToList(), questionTypeHtml, answerCaseHtml, examTitle = exam.ExamTitle, totalScore }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 添加试卷 /// </summary> /// <param name="question"></param> /// <returns></returns> public int InsertExampaper(tbExampaper sort) { return(EDB.Insert(sort)); }
/// <summary> /// 添加试卷 /// </summary> /// <param name="model">试卷</param> /// <returns></returns> public int InsertExampaper(tbExampaper model) { return(EDB.Insert(model)); }
/// <summary> /// 获取我的考试 /// </summary> /// <param name="examName">考试名称</param> /// <param name="type">0:未开始;1:进行中;2:已结束;3:已过期</param> /// <param name="passflag">当type==2时,0:全部;1:通过;2:不通过</param> /// <param name="pageSize">每页显示的个数</param> /// <param name="pageIndex">当前页</param> /// <returns></returns> public JsonResult GetMyExamTestList(string examName = "", int type = 0, int passflag = 0, int pageSize = 20, int pageIndex = 1) { //获取我的考试信息 List <tbExamSendStudent> myTotalExamList = ExamTestBL.GetMyExamList(Session["userID"].StringToInt32()); //相关的考试 List <tbExamination> examlist = ExaminationBL.GetAllExamination(myTotalExamList.Select(p => p.RelationID)); //相关的试卷 List <tbExampaper> paperList = ExampaperBL.GetAllExampaper(examlist.Select(p => p.PaperID)); //筛选后的我的考试 var myExamListShow = new List <ExamTestShow>(); myTotalExamList.ForEach(p => { var exam = examlist.FirstOrDefault(pa => pa._id == p.RelationID); if (exam != null && exam.PublishedFlag == 1) { tbExampaper paper = paperList.FirstOrDefault(pa => pa._id == exam.PaperID); if (paper != null) { var toscore = paper.ExamType == 0 ? paper.QuestionList.Sum(pc => pc.QScore) : paper.ExampaperScore; if (toscore > 0) { myExamListShow.Add(new ExamTestShow { ExamUserID = p._id, ExampaperID = exam.PaperID, ExampaperSortID = paper.ExamSortID, ExamTitle = exam.ExaminationTitle, EndTime = exam.ExamEndTime.ToLocalTime(), ExamLength = exam.ExamLength, ExamTestTimes = p.TestTimes + "/" + exam.TestTimes, ExamScore = exam.PercentFlag == 0 ? (exam.PassScore + "/100") : (Convert.ToInt32(toscore * exam.PassScore / 100) + "/" + toscore), PassFlag = exam.PublishResult == 1 ? p.IsPass : 3, //未发布成绩时3 ScoreOrder = exam.PublishResult == 1 ? "-" : "--", //未发布成绩时"--",否则"-" StartTime = exam.ExamBeginTime.ToLocalTime(), DoExamStatus = p.DoExamStatus, ExamID = p.RelationID, GetScore = exam.PublishResult == 1 ? (exam.PercentFlag == 0 ? (p.StudentAnswerList.Sum(pa => pa.GetScore) * 100 / toscore + "") : (p.StudentAnswerList.Sum(pa => pa.GetScore) + "")) : "--", pFlag = passflag }); } } } }); myExamListShow = myExamListShow.Where(p => p.ExamTitle.Contains(examName) && type == p.examStatus).ToList(); IEnumerable <ExamTestShow> myExam = myExamListShow.OrderByDescending(p => p.ExamUserID).Skip((pageIndex - 1) * pageSize).Take(pageSize); //所有的参考人员 var allExamUser = new List <tbExamSendStudent>(); if (type == 1 || type == 2) { IEnumerable <int> examLists = myExam.ToList().Select(p => p.ExamID); allExamUser = ExamTestBL.GetExamSendStudentList(examLists); } foreach (ExamTestShow exam in myExam) { if (type == 0 || type == 3) { exam.ScoreOrder = "--"; } else { int score = allExamUser.FirstOrDefault(p => p._id == exam.ExamUserID).StudentAnswerList.Sum(p => p.GetScore); int order = allExamUser.Count( p => p.RelationID == exam.ExamID && p.StudentAnswerList.Sum(pa => pa.GetScore) > score); exam.ScoreOrder = exam.ScoreOrder == "-" ? (order + 1).ToString() : "--"; } } return(Json(new { result = 1, dataList = myExam.ToList(), recordCount = myExamListShow.Count }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 添加试卷&&修改试卷 /// </summary> //[Filter.SystemLog("保存或修改试卷", LogLevel.Info)] public JsonResult SubmitExampaer() { int id = Convert.ToInt32(Request.QueryString["id"]); int sID = Convert.ToInt32(Request.Form["Sortid"]); string desum = Request.Form["desum"]; string typeorder = Request.Form["typeorder"]; typeorder = typeorder.Remove(typeorder.LastIndexOf(","), 1); int examType = Convert.ToInt32(Request.Form["examType"]); int qp1 = 0; int qp2 = 0; int qp3 = 0; int qp4 = 0; int qp5 = 0; int qp6 = 0; //添加试卷问题 var paperquestion = new List <ReExampaperQuestion>(); var rulequestion = new List <ReRuleQuestion>(); string questionID = Request.Form["Queid"]; if (!string.IsNullOrEmpty(questionID)) { questionID = questionID.Remove(questionID.LastIndexOf(","), 1); string[] qIDlist = questionID.Split(','); string[] tolist = typeorder.Split(','); if (examType < 1) { int abc = 1; for (int i = 0; i < tolist.Length; i++) { for (int j = 0; j < qIDlist.Length; j++) { string[] qid = qIDlist[j].Split('|'); if (tolist[i] == qid[1]) { var pq = new ReExampaperQuestion(); pq.Qid = Convert.ToInt32(qid[0]); pq.QType = Convert.ToInt32(qid[1]); string Scoreid = "Score" + qid[0]; pq.QOrder = abc; pq.QScore = Convert.ToInt32(Request.Form[Scoreid]); paperquestion.Add(pq); abc++; } } } } else { for (int e = 0; e < tolist.Length; e++) { for (int s = 0; s < qIDlist.Length; s++) { var pq = new ReRuleQuestion(); string[] rulelist = qIDlist[s].Split('|'); if (tolist[e] == rulelist[0]) { pq.QLevelStr = "1:" + rulelist[3] + ";2:" + rulelist[4] + ";3:" + rulelist[5]; pq.QScore = Convert.ToInt32(rulelist[2]); pq.QSort = Convert.ToInt32(rulelist[1]); pq.Qtype = Convert.ToInt32(rulelist[0]); rulequestion.Add(pq); switch (Convert.ToInt32(rulelist[0])) { case 1: qp1 += Convert.ToInt32(rulelist[3]) + Convert.ToInt32(rulelist[4]) + Convert.ToInt32(rulelist[5]); break; case 2: qp2 += Convert.ToInt32(rulelist[3]) + Convert.ToInt32(rulelist[4]) + Convert.ToInt32(rulelist[5]); break; case 3: qp3 += Convert.ToInt32(rulelist[3]) + Convert.ToInt32(rulelist[4]) + Convert.ToInt32(rulelist[5]); break; case 4: qp4 += Convert.ToInt32(rulelist[3]) + Convert.ToInt32(rulelist[4]) + Convert.ToInt32(rulelist[5]); break; case 5: qp5 += Convert.ToInt32(rulelist[3]) + Convert.ToInt32(rulelist[4]) + Convert.ToInt32(rulelist[5]); break; case 6: qp6 += Convert.ToInt32(rulelist[3]) + Convert.ToInt32(rulelist[4]) + Convert.ToInt32(rulelist[5]); break; } } } } } if (examType > 0) { if (qp1 > 0) { desum += "1:" + qp1 + ","; } if (qp2 > 0) { desum += "2:" + qp2 + ","; } if (qp3 > 0) { desum += "3:" + qp3 + ","; } if (qp4 > 0) { desum += "4:" + qp4 + ","; } if (qp5 > 0) { desum += "5:" + qp5 + ","; } if (qp6 > 0) { desum += "6:" + qp6 + ","; } } } if (!string.IsNullOrEmpty(desum)) { desum = desum.Remove(desum.LastIndexOf(","), 1); } else { desum = ""; } if (id == 0) { //添加试卷 int newid = EBL.InsertExampaper(new tbExampaper { ExampaperTitle = Request.Form["tbExamTitle"], UserID = CurrentUser == null ? 0 : CurrentUser.UserId, ExamSortID = sID, ExamType = examType, QuestionTypeOrder = typeorder, ExampaperScore = Convert.ToInt32(Request.Form["question_sum"]), LastUpdateTime = DateTime.Now, CreateTime = DateTime.Now, Description = Request.Form["tbRemark"], Distribution = desum, Status = 0, QuestionRule = rulequestion, QuestionList = paperquestion }); if (newid > 0) { return(Json(new { result = 1, content = "保存成功" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { result = 0, content = "保存失败" }, JsonRequestBehavior.AllowGet)); } } else { //修改 tbExampaper oldExam = EBL.GetExampaper(id); oldExam.ExampaperTitle = Request.Form["tbExamTitle"]; oldExam.UserID = CurrentUser == null ? 0 : CurrentUser.UserId; oldExam.ExamSortID = sID; oldExam.ExamType = examType; oldExam.QuestionTypeOrder = typeorder; oldExam.ExampaperScore = Convert.ToInt32(Request.Form["question_sum"]); oldExam.LastUpdateTime = DateTime.Now; oldExam.Description = Request.Form["tbRemark"]; oldExam.Distribution = desum; oldExam.QuestionRule = rulequestion; oldExam.QuestionList = paperquestion; bool newid = EBL.UpdateExampaper(oldExam); if (newid) { return(Json(new { result = 1, content = "保存成功" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { result = 0, content = "保存失败" }, JsonRequestBehavior.AllowGet)); } } }
/// <summary> /// 查看试卷呈现 /// </summary> public ViewResult ExampaperDetail(int flag = 0) { int id = Convert.ToInt32(Request.QueryString["id"]); tbExampaper expape = EBL.GetExampaper(id); List <ReExampaperQuestion> questionList = expape.QuestionList; List <ReRuleQuestion> ruleList = expape.QuestionRule; var itemArray = new List <tbQuestion>(); if (questionList.Count > 0) { //遍历试卷问题ID,获取题目 foreach (ReExampaperQuestion Pquestion in questionList) { tbQuestion baseInfor = qBL.GetSingleByID(Pquestion.Qid); baseInfor.QuestionAnswer = baseInfor.QuestionAnswer.OrderByDescending(p => p.AnswerFlag).ToList(); itemArray.Add(baseInfor); } } var itemArray1 = new List <MExamRuleShow>(); if (ruleList.Count > 0) { foreach (ReRuleQuestion qRule in ruleList) { var eq = new MExamRuleShow(); eq.QuestingScore = qRule.QScore; switch (qRule.Qtype) { case 1: //问答题 eq.QuestionType = "问答题"; break; case 2: //单选题 eq.QuestionType = "单选题"; break; case 3: //多选题 eq.QuestionType = "多选题"; break; case 4: //判断题 eq.QuestionType = "判断题"; break; case 5: //填空题 eq.QuestionType = "填空题"; break; case 6: //情景题 eq.QuestionType = "情景题"; break; } tbQuestionSort qSort = qSortBL.GetSingleByID(qRule.QSort); eq.QuestionSort = qSort.Title; string[] questionLevel = qRule.QLevelStr.Split(';'); string[] Easy = questionLevel[0].Split(':'); string[] Common = questionLevel[1].Split(':'); string[] Hard = questionLevel[2].Split(':'); eq.Leveleasy = Convert.ToInt32(Easy[1]); eq.Levelcommon = Convert.ToInt32(Common[1]); eq.Levelhard = Convert.ToInt32(Hard[1]); string qit1 = qRule.Qtype + "|" + qRule.QSort; string qit = qRule.Qtype + "|" + qRule.QSort + "|" + qRule.QScore + "|" + Easy[1] + "|" + Common[1] + "|" + Hard[1]; eq.qita = qit; eq.qitaone = qit1; itemArray1.Add(eq); } } if (Request.QueryString["sortID"] != null) { if (flag == 1) { ViewData["fatherModel"] = eSortBL.GetAllExampaperSortDictionary().Keys.Contains(expape.ExamSortID) ? eSortBL.GetAllExampaperSortDictionary()[expape.ExamSortID].Title : "无"; } else { ViewData["fatherModel"] = Request.QueryString["SortID"] == "0" ? Exampaper.NO : eSortBL.GetAllExampaperSortDictionary()[ Convert.ToInt32(Request.QueryString["sortID"])].Title; } } else { ViewData["fatherModel"] = Exampaper.NO; } ViewData["expape"] = expape; ViewData["expapeQuestion"] = itemArray; ViewData["expapeRule"] = itemArray1; return(View()); }
/// <summary> /// 根据ID修改单个实体 /// </summary> /// <returns></returns> public bool UpdateExampaper(tbExampaper tbE) { return(Modify(tbE)); }
/// <summary> /// 获取试卷的试题 /// </summary> /// <param name="exampaper">试卷信息</param> /// <param name="exam">试卷信息</param> /// <param name="examuser">学员答案</param> public void GetExampaper(ExampaperShow exampaper, tbExampaper exam, tbExamSendStudent examuser) { if (exampaper.ExampaperType == 0) { #region 正常 IMongoQuery query = Query.In("_id", new BsonArray(exam.QuestionList.Select(p => p.Qid))); List <tbQuestion> quList = Etdb.GetAllList <tbQuestion>(query); //获取试题 exam.QuestionList.ForEach(p => { tbQuestion qu = quList.FirstOrDefault(q => q._id == p.Qid); if (qu != null) { ReStudentExamAnswer an = examuser == null ? null : examuser.StudentAnswerList.FirstOrDefault( pa => pa.Qid == p.Qid); var newqu = new MQuestion { QAnswerType = qu.QuestionAnswer[0].AnswerType, QType = qu.QuestionType, QuestionContent = qu.QuestionContent, QuestionID = qu._id, QuestionLevel = ((QuestionLevel)qu.QuestionLevel).ToString(), QuestionOrder = p.QOrder, Score = p.QScore, UserAnswer = an == null ? "" : (an.Answer), FillBlankCount = qu.QuestionContent.Split(new[] { "()" }, StringSplitOptions.None).Count() - 1 }; qu.QuestionAnswer.OrderBy(o => o.Order) .ToList() .ForEach(pa => newqu.QuestionAnswer.Add(new MQuestionAnswer { AnswerContent = pa.Answer, AnswerFlag = pa.AnswerFlag, AnswerType = pa.AnswerType, Order = pa.Order, QuID = newqu.QuestionID, QType = newqu.QType })); qu.FileUpload.ForEach(pa => newqu.FileUpload.Add(new QuestionFile { _fileName = pa.FileName, _fileType = pa.FileType, _realName = pa.RealName })); exampaper.QuestionList.Add(newqu); } }); #endregion } else { #region 随机 List <tbQuestion> questionList = Etdb.GetAllList <tbQuestion>(Query.EQ("Status", 0)); exam.QuestionRule.ForEach(p => { var newqulist = new List <tbQuestion>(); foreach (string s in p.QLevelStr.Split(';')) { newqulist.AddRange( questionList.Where( qu => p.QSort == qu.QuestionSortID && p.Qtype == qu.QuestionType && s.Split(':')[0].StringToInt32() == qu.QuestionLevel) .ToList() .RandomGetSome(s.Split(':')[1].StringToInt32())); } newqulist.ForEach(qu => { var newqu = new MQuestion { QAnswerType = qu.QuestionAnswer[0].AnswerType, QType = qu.QuestionType, QuestionContent = qu.QuestionContent, QuestionID = qu._id, QuestionLevel = ((QuestionLevel)qu.QuestionLevel).ToString(), QuestionOrder = 0, Score = p.QScore, UserAnswer = "", FillBlankCount = qu.QuestionContent.Split(new[] { "()" }, StringSplitOptions.None).Count() - 1 }; qu.QuestionAnswer.OrderBy(o => o.Order) .ToList() .ForEach(pa => newqu.QuestionAnswer.Add(new MQuestionAnswer { AnswerContent = pa.Answer, AnswerFlag = pa.AnswerFlag, AnswerType = pa.AnswerType, Order = pa.Order, QuID = newqu.QuestionID, QType = newqu.QType })); qu.FileUpload.ForEach(pa => newqu.FileUpload.Add(new QuestionFile { _fileName = pa.FileName, _fileType = pa.FileType, _realName = pa.RealName })); exampaper.QuestionList.Add(newqu); }); }); #endregion } //if (exampaper.ExampaperType == 1 || (examination._id > 0 && examination.RadomOrderFlag == 1)) if (exampaper.ExampaperType == 1) { //排序 int order = 1; foreach (string s in exam.QuestionTypeOrder.Split(',')) { exampaper.QuestionList.Where(p => p.QType == s.StringToInt32()) .ToList() .RandomListOrder() .ForEach(p => { p.QuestionOrder = order; order++; }); } } exampaper.QuestionList = exampaper.QuestionList.OrderBy(p => p.QuestionOrder).ToList(); }
public void SavePromotionWayPostList(out List <int> deleteIds, int promotionId, List <PromotionStage> list) { deleteIds = new List <int>(); var _exampaperDB = new RetechWing.BusinessCommon.Examination.ExaminationCommonMethod(); string where = string.Format(" Ab_PromotionStage.IsDelete = 0 and Ab_PromotionStage.PromotionId = {0} ", promotionId); var postList = _dataAccess.GetList <PromotionStage>(where); if (postList.Count > 0) { foreach (var item in postList) { var tmp = list.Find(p => p.PostId == item.PostId); if (tmp == null) { deleteIds.Add(item.StageId); UpdatePostPromotion(item.PostId, 0); } else { item.Description = tmp.Description; item.Period = tmp.Period; item.ObligatoryLessScore = tmp.ObligatoryLessScore; item.ElectiveLessScore = tmp.ElectiveLessScore; item.PassScore = tmp.PassScore; item.OrderNum = tmp.OrderNum; if (tmp.ExamId > 0) { tbExampaper exampaper = _exampaperDB.GetSingleById <tbExampaper>(tmp.ExamId); tbExampaperRedundancy model = new tbExampaperRedundancy { ExampaperId = exampaper._id, Description = exampaper.Description, Distribution = exampaper.Distribution, ExamSortID = exampaper.ExamSortID, TrainDetailId = exampaper.TrainDetailId, UserID = exampaper.UserID, CreateTime = exampaper.CreateTime, ExampaperAvailable = exampaper.ExampaperAvailable, ExampaperOpen = exampaper.ExampaperOpen, ExampaperScore = exampaper.ExampaperScore, ExampaperTitle = exampaper.ExampaperTitle, ExamType = exampaper.ExamType, LastUpdateTime = exampaper.LastUpdateTime, QuestionList = exampaper.QuestionList, QuestionRule = exampaper.QuestionRule, QuestionTypeOrder = exampaper.QuestionTypeOrder, Realname = exampaper.Realname, Status = exampaper.Status, TenantId = exampaper.TenantId }; item.ExamId = _exampaperDB.Insert <tbExampaperRedundancy>(model); } _dataAccess.UpdateEntity(item); list.Remove(tmp); } } } if (deleteIds.Count > 0) { _dataAccess.UpdateField("Ab_PromotionStage", "IsDelete", "1", "where StageId in (" + deleteIds.GetString() + ")"); } if (list.Count > 0) { foreach (var item in list) { if (item.ExamId > 0) { tbExampaper exampaper = _exampaperDB.GetSingleById <tbExampaper>(item.ExamId); tbExampaperRedundancy model = new tbExampaperRedundancy { ExampaperId = exampaper._id, Description = exampaper.Description, Distribution = exampaper.Distribution, ExamSortID = exampaper.ExamSortID, TrainDetailId = exampaper.TrainDetailId, UserID = exampaper.UserID, CreateTime = exampaper.CreateTime, ExampaperAvailable = exampaper.ExampaperAvailable, ExampaperOpen = exampaper.ExampaperOpen, ExampaperScore = exampaper.ExampaperScore, ExampaperTitle = exampaper.ExampaperTitle, ExamType = exampaper.ExamType, LastUpdateTime = exampaper.LastUpdateTime, QuestionList = exampaper.QuestionList, QuestionRule = exampaper.QuestionRule, QuestionTypeOrder = exampaper.QuestionTypeOrder, Realname = exampaper.Realname, Status = exampaper.Status, TenantId = exampaper.TenantId }; item.ExamId = _exampaperDB.Insert <tbExampaperRedundancy>(model); } } _dataAccess.AddEntities(list); } }
/// <summary> /// </summary> /// <param name="examBeginTimeStart"></param> /// <param name"examBeginTimeEnd"></param> /// <param name="examinationTitle"></param> /// <param name="startFlag">0:未开始 1:进行中 2:已结束 -1:全部</param> /// <param name="orderbyName">0:创建时间 1:考试开始时间 2:考试次数 </param> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <param name="orderbyFlag">0:不desc 1:desc </param> /// <returns></returns> public JsonResult GetExaminationList(string examBeginTimeStart, string examBeginTimeEnd, string examinationTitle, int startFlag = -1, int orderbyFlag = 0, int orderbyName = 0, int pageSize = 10, int pageIndex = 1) { IEnumerable <tbExamination> result = _examinationBL.GetAllExamination().Where(p => p.ExaminationTitle.Contains(examinationTitle)); if (!string.IsNullOrEmpty(examBeginTimeStart)) { result = result.Where(p => p.ExamBeginTime.ToLocalTime() >= examBeginTimeStart.StringToDate(0)); } if (!string.IsNullOrEmpty(examBeginTimeEnd)) { result = result.Where(p => p.ExamBeginTime.ToLocalTime() <= examBeginTimeEnd.StringToDate(1)); } switch (startFlag) { case -1: break; case 0: result = result.Where(p => DateTime.Now < p.ExamBeginTime.ToLocalTime() && p.PublishedFlag == 1); break; case 1: result = result.Where( p => p.ExamBeginTime.ToLocalTime() < DateTime.Now && DateTime.Now < p.ExamEndTime.ToLocalTime() && p.PublishedFlag == 1); break; case 2: result = result.Where(p => p.ExamEndTime.ToLocalTime() < DateTime.Now && p.PublishedFlag == 1); break; case 3: result = result.Where(p => p.PublishedFlag == 0); break; } switch (orderbyName) { case 0: if (orderbyFlag == 0) { result = result.OrderBy(p => p.CreateTime); } else if (orderbyFlag == 1) { result = result.OrderByDescending(p => p.CreateTime); } break; case 1: if (orderbyFlag == 0) { result = result.OrderBy(p => p.ExamBeginTime); } else if (orderbyFlag == 1) { result = result.OrderByDescending(p => p.ExamBeginTime); } break; case 2: if (orderbyFlag == 0) { result = result.OrderBy(p => p.TestTimes); } else if (orderbyFlag == 1) { result = result.OrderByDescending(p => p.TestTimes); } break; } int totalCount = result.Count(); result = result.Skip((pageIndex - 1) * pageSize).Take(pageSize); var itemArray = new object[result.Count()]; int n = 0; foreach (tbExamination item in result) { string strStatus = ""; string examTotalScore = ""; int intPassScore = 0; if (item.PublishedFlag == 1) { if (item.ExamEndTime.ToLocalTime() > DateTime.Now && DateTime.Now > item.ExamBeginTime.ToLocalTime()) { strStatus = "进行中"; } else if (item.ExamEndTime.ToLocalTime() < DateTime.Now) { strStatus = "已结束"; } else { strStatus = "未开始"; } } else { strStatus = "未发布"; } if (item.PercentFlag == 1)//如果不是百分制,那么 通过分数 需要乘以 百分比 { tbExampaper paper = _exampaperBL.GetExampaper(item.PaperID); intPassScore = Convert.ToInt32(paper.ExampaperScore * item.PassScore * 0.01); examTotalScore = paper.ExampaperScore.ToString(); } else { examTotalScore = "100"; intPassScore = Convert.ToInt32(item.PassScore); } var temp = new { item._id, item.ExaminationTitle, item.ExamLength, ExamBeginTime = item.ExamBeginTime.ToLocalTime().ToString("yyyy-MM-dd HH:mm"), ExamEndTime = item.ExamEndTime.ToLocalTime().ToString("yyyy-MM-dd HH:mm"), item.TestTimes, intPassScore, examTotalScore, ExamStaus = strStatus, AuthExamHtml = item.PublishedFlag == 1 ? "disabled='disabled'" : " onclick='AuthExam(" + item._id + ")' ", DetailExamHtml = " onclick='DetailExam(" + item._id + ")' ", ModifyExamHtml = item.PublishedFlag == 1 ? "disabled='disabled'" : " onclick='ModifyExam(" + item._id + ")' ", DeleteExamHtml = item.PublishedFlag == 1 ? "disabled='disabled'" : " onclick='DeleteExam(" + item._id + ")' ", PublishExamHtml = (strStatus == "未发布" && item.PublishedFlag == 0) ? "onclick='PublishExam(" + item._id + ")'" : "disabled='disabled'" }; itemArray[n] = temp; n++; } return(Json(new { result = 1, dataList = itemArray.ToList(), recordCount = totalCount }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 根据ID修改单个实体 /// </summary> /// <returns></returns> public bool UpdateExampaper(tbExampaper tbE) { return(EDB.UpdateExampaper(tbE)); }
/// <summary> /// 获得可以复评的考试:考试已经结束、考试已经发布 /// </summary> /// <param name="examBeginTimeStart"></param> /// <param name="examBeginTimeEnd"></param> /// <param name="examinationTitle"></param> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <returns></returns> public JsonResult GetReEvaluationList(string examBeginTimeStart, string examBeginTimeEnd, string examinationTitle, int pageSize = 20, int pageIndex = 1) { IEnumerable <tbExamination> result = _examinationBL.GetAllExamination().Where(p => p.ExamEndTime.ToLocalTime() < DateTime.Now && p.PublishedFlag == 1 && p.ExaminationTitle.Contains( examinationTitle) && p.ApprovalUser.Contains( CurrentUser.UserId)); if (!string.IsNullOrEmpty(examBeginTimeStart)) { result = result.Where(p => p.ExamBeginTime.ToLocalTime() >= examBeginTimeStart.StringToDate(0)); } if (!string.IsNullOrEmpty(examBeginTimeEnd)) { result = result.Where(p => p.ExamBeginTime.ToLocalTime() <= examBeginTimeEnd.StringToDate(1)); } int totalCount = result.Count(); result = result.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); var itemArray = new object[result.Count()]; int n = 0; foreach (tbExamination item in result) { int intPassScore = 0; string examTotalScore = ""; if (item.PercentFlag == 1) { tbExampaper paper = _exampaperBL.GetExampaper(item.PaperID); intPassScore = Convert.ToInt32(paper.ExampaperScore * item.PassScore * 0.01); examTotalScore = paper.ExampaperScore.ToString(); } else { examTotalScore = "100"; intPassScore = Convert.ToInt32(item.PassScore); } var temp = new { item._id, item.ExaminationTitle, item.ExamLength, ExamBeginTime = item.ExamBeginTime.ToLocalTime().ToString(), ExamEndTime = item.ExamEndTime.ToLocalTime().ToString(), item.TestTimes, PassScore = intPassScore, examTotalScore, PublishResultHtml = item.PublishResult == 1 ? "disabled='disabled'" : " onclick='PublishResultExam(" + item._id + ")' ", ReEvaluationHtml = item.PublishResult == 1 ? "disabled='disabled'" : " onclick='ReEvaluationExam(" + item._id + ")' " }; itemArray[n] = temp; n++; } return(Json(new { result = 1, dataList = itemArray.ToList(), recordCount = totalCount }, JsonRequestBehavior.AllowGet)); }