public async Task <HttpResponseMessage> GetResultDetail(int userID, string moduleCode, string moduleStatus, int termDetailID, int assignmentSubmissionID) { try { ResultDAL dal = new ResultDAL(); ResultDetailInfo data = await dal.GetResultDetail(userID, moduleCode, moduleStatus, termDetailID, assignmentSubmissionID); if (data != null) { return(Request.CreateResponse <ResultDetailInfo>(HttpStatusCode.OK, data)); } else { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound)); } } catch (DbEntityValidationException ex) { var controllerName = ControllerContext.RouteData.Values["controller"].ToString(); var actionName = ControllerContext.RouteData.Values["action"].ToString(); Logger log = new Logger(); log.ErrorLog(ex, controllerName, actionName); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError)); } }
/// <summary> /// 提交试卷 /// </summary> /// <param name="resultPaper"></param> /// <returns></returns> public bool SubmitExam(ResultDetailInfo resultPaper) { string sql = "insert into TBL_ResultDetail values (NEWID(),@paperId,@userId,@selectList,@result,GETDATE())"; SqlParameter[] pars = { new SqlParameter("@paperId", SqlDbType.UniqueIdentifier), new SqlParameter("@userId", SqlDbType.UniqueIdentifier), new SqlParameter("@selectList", SqlDbType.NVarChar), new SqlParameter("@result", SqlDbType.Int) }; pars[0].Value = resultPaper.PaperID; pars[1].Value = resultPaper.StudentID; pars[2].Value = resultPaper.SelectList; pars[3].Value = resultPaper.ResultPoint; int result = SQLHelper.ExecutSql(sql, CommandType.Text, pars); return(result > 0); }
/// <summary> /// 试卷提交 /// </summary> /// <param name="singleList"></param> /// <param name="judgeList"></param> /// <returns></returns> public ActionResult SubmitExam(string selectList) { // 基本信息 User user = (User)Session["User"]; Guid userId = user.ID; Guid paperId = (Guid)Session["PaperID"]; DataSet dataSet = (DataSet)Session["PaperOptions"]; // 考题排序规则整合 DataTable option_paper = dataSet.Tables[1]; foreach (DataRow item in dataSet.Tables[3].Rows) { option_paper.Rows.Add(item.ItemArray); } // 学生答题 List <int> vs = new List <int>(); string list = selectList; // 学生选中项 list = list.Substring(0, list.Length - 1); string[] option_submit = list.Split(','); // 学生选中项位置 foreach (var item in option_submit) { switch (item) { case "A": vs.Add(0); break; case "B": vs.Add(1); break; case "C": vs.Add(2); break; case "D": vs.Add(3); break; default: vs.Add(-1); break; } } // 改卷 int resultPoint = 0; for (int i = 0; i < 30; i++) { string option = option_paper.Rows[i]["Option"].ToString(); int select = vs[i]; if (select == -1) { resultPoint += 0;// 未选中零分 continue; } if (option[select] == 'A') { resultPoint += i < 20 ? 3 : 4;// 选项为A正确,前20题选择题每题3分,后10题判断题每题4分 } } ResultDetailInfo result = new ResultDetailInfo(); result.PaperID = paperId; result.StudentID = userId; result.SelectList = list; result.ResultPoint = resultPoint; bool resultDetail = new ResultDetailBLL().SubmitExam(result); if (resultDetail) { return(Content(new AjaxResult { state = ResultType.success.ToString(), message = "提交成功!成绩:" + resultPoint + "分" }.ToJson())); } else { return(Content(new AjaxResult { state = ResultType.info.ToString(), message = "提交失败!请重新考试!" }.ToJson())); } }
/// <summary> /// 提交试卷 /// </summary> /// <param name="resultPaper"></param> /// <returns></returns> public bool SubmitExam(ResultDetailInfo resultPaper) { return(detailDAL.SubmitExam(resultPaper)); }