/// <summary> /// 状态变更 /// </summary> /// <param name="context"></param> public void Change_Eva_QuestionAnswer_State(HttpContext context) { int intSuccess = (int)errNum.Success; int intFailed = (int)errNum.Failed; HttpRequest Request = context.Request; int Id = RequestHelper.int_transfer(Request, "Id"); int State = RequestHelper.int_transfer(Request, "State"); try { Eva_QuestionAnswer answer = Constant.Eva_QuestionAnswer_List.FirstOrDefault(i => i.Id == Id); if (answer != null) { Eva_QuestionAnswer answerClone = Constant.Clone(answer); answerClone.State = State; jsonModel = Constant.Eva_QuestionAnswerService.Update(answerClone); if (jsonModel.errNum == intSuccess) { answer.State = State; List <Eva_QuestionAnswer_Detail> details = (from d in Constant.Eva_QuestionAnswer_Detail_List where d.QuestionID == Id select d).ToList(); foreach (var item in details) { Eva_QuestionAnswer_Detail detailClone = Constant.Clone(item); detailClone.State = State; var jsm = Constant.Eva_QuestionAnswer_DetailService.Update(detailClone); if (jsm.errNum == 0) { item.State = State; } } } } else { jsonModel = JsonModel.get_jsonmodel(intFailed, "failed", "操作失败"); } } catch (Exception ex) { LogHelper.Error(ex); } finally { //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】 context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}"); } }
/// <summary> /// 获取答题列表 /// </summary> /// <param name="context"></param> public void Get_Eva_QuestionAnswerDetail(HttpContext context) { HttpRequest Request = context.Request; int intSuccess = (int)errNum.Success; int intFailed = (int)errNum.Failed; //学年学期的ID int Id = RequestHelper.int_transfer(Request, "Id"); try { Eva_QuestionAnswer question = Constant.Eva_QuestionAnswer_List.FirstOrDefault(i => i.Id == Id); if (question != null) { List <Eva_QuestionAnswer_Detail> list = (from detail in Constant.Eva_QuestionAnswer_Detail_List where detail.QuestionID == question.Id select detail).ToList(); List <Eva_QuestionAnswer_Header> headerList = (from header in Constant.Eva_QuestionAnswer_Header_List where header.QuestionID == question.Id select header).ToList(); var data = new { HeaderList = (from h in headerList orderby h.Id select new { h.CustomCode, h.Name, h.ValueID, h.Value, h.Id }), DetailList = (from li in list select new { li.Answer, li.TableDetailID, li.QuestionType, li.Score }), TableName = question.TableName, Score = question.Score, }; jsonModel = JsonModel.get_jsonmodel(intSuccess, "success", data); } else { jsonModel = JsonModel.get_jsonmodel(intFailed, "failed", "该答题不存在"); } } catch (Exception ex) { LogHelper.Error(ex); } finally { //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】 context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}"); } }
/// <summary> /// 新增学生答题 /// </summary> /// <param name="context">当前上下文</param> public void Add_Eva_QuestionAnswer(HttpContext context) { lock (obj_Add_Eva_QuestionAnswer) { HttpRequest Request = context.Request; //分配表的ID int Eva_Distribution_Id = RequestHelper.int_transfer(Request, "Eva_Distribution_Id"); //学生【用户唯一标识符】 string StudentUID = RequestHelper.string_transfer(Request, "StudentUID"); //课程的ID string CourseId = RequestHelper.string_transfer(Request, "CourseId"); //教师的ID string TeacherUID = RequestHelper.string_transfer(Request, "TeacherUID"); //学年学期的ID int SectionId = RequestHelper.int_transfer(Request, "SectionId"); //得分 decimal Score = RequestHelper.decimal_transfer(Request, "Score"); //创建者 string CreateUID = RequestHelper.string_transfer(Request, "CreateUID"); int intSuccess = (int)errNum.Success; //课程分类 string CourseTypeId = Constant.CourseRel_List.FirstOrDefault(i => i.Course_Id == CourseId).CourseType_Id; int Type = RequestHelper.int_transfer(Request, "Type"); try { //学生回答任务信息表 Eva_QuestionAnswer Eva_QuestionAnswer = new Eva_QuestionAnswer() { Eva_Distribution_Id = Eva_Distribution_Id, StudentUID = StudentUID, CourseTypeId = CourseTypeId, CourseId = CourseId, TeacherUID = TeacherUID, SectionId = SectionId, Score = Score, CreateUID = CreateUID, CreateTime = DateTime.Now, EditTime = DateTime.Now, EditUID = CreateUID, IsDelete = (int)IsDelete.No_Delete, IsEnable = (int)IsEnable.Enable }; //表单明细 string List = RequestHelper.string_transfer(Request, "List"); //序列化表单详情列表 List <Eva_QuestionAnswer_Detail> Eva_QuestionAnswer_Detail_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Detail> >(List); jsonModel = Constant.Eva_QuestionAnswerService.Add(Eva_QuestionAnswer); Eva_QuestionAnswer.Id = Convert.ToInt32(jsonModel.retData); if (jsonModel.errNum == intSuccess && !Constant.Eva_QuestionAnswer_List.Contains(Eva_QuestionAnswer)) { Constant.Eva_QuestionAnswer_List.Add(Eva_QuestionAnswer); //答题任务详情填充 foreach (Eva_QuestionAnswer_Detail item in Eva_QuestionAnswer_Detail_List) { item.Eva_TaskAnswer_Id = Eva_QuestionAnswer.Id; item.CreateTime = DateTime.Now; item.CreateUID = StudentUID; item.EditUID = StudentUID; item.EditTime = DateTime.Now; item.IsDelete = (int)IsDelete.No_Delete; item.IsEnable = (int)IsEnable.Enable; //数据库插入 JsonModel jsm = Constant.Eva_QuestionAnswer_DetailService.Add(item); //插入成功入缓存 if (jsm.errNum == intSuccess) { item.Id = Convert.ToInt32(jsm.retData); if (!Constant.Eva_QuestionAnswer_Detail_List.Contains(item)) { Constant.Eva_QuestionAnswer_Detail_List.Add(item); } } } } } catch (Exception ex) { LogHelper.Error(ex); } finally { //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】 context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}"); } } }
public void Edit_Eva_QuestionAnswer(HttpContext context) { int intSuccess = (int)errNum.Success; HttpRequest Request = context.Request; int Id = RequestHelper.int_transfer(Request, "Id"); int State = RequestHelper.int_transfer(Request, "State"); //得分 decimal Score = RequestHelper.decimal_transfer(Request, "Score"); //答题详情明细 string List = RequestHelper.string_transfer(Request, "List"); //表头明显 string HeaderList = RequestHelper.string_transfer(Request, "HeaderList"); try { Eva_QuestionAnswer Eva_QuestionAnswer = Constant.Eva_QuestionAnswer_List.FirstOrDefault(q => q.Id == Id); List <Eva_QuestionAnswer_Header> headerList = (from h in Constant.Eva_QuestionAnswer_Header_List where h.QuestionID == Id select h).ToList(); List <Eva_QuestionAnswer_Detail> detailList = (from q in Constant.Eva_QuestionAnswer_Detail_List where q.QuestionID == Id select q).ToList(); Eva_QuestionAnswer Eva_QuestionAnswerClone = Constant.Clone(Eva_QuestionAnswer); Eva_QuestionAnswerClone.EditTime = DateTime.Now; Eva_QuestionAnswerClone.State = State; Eva_QuestionAnswerClone.Score = Score; jsonModel = Constant.Eva_QuestionAnswerService.Update(Eva_QuestionAnswerClone); if (jsonModel.errNum == intSuccess) { Eva_QuestionAnswer.EditTime = DateTime.Now; Eva_QuestionAnswer.State = State; Eva_QuestionAnswer.Score = Score; #region 表头添加 //序列化表单详情列表 List <Eva_QuestionAnswer_Header> Eva_QuestionAnswer_Header_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Header> >(HeaderList); //答题任务详情填充 foreach (Eva_QuestionAnswer_Header item in Eva_QuestionAnswer_Header_List) { Eva_QuestionAnswer_Header detail = headerList.FirstOrDefault(i => i.Id == item.Id); if (detail != null) { Eva_QuestionAnswer_Header detailClone = Constant.Clone(detail); detailClone.Value = item.Value; detailClone.ValueID = item.ValueID; detailClone.EditTime = DateTime.Now; var jsm = Constant.Eva_QuestionAnswer_HeaderService.Update(detailClone); if (jsm.errNum == 0) { detail.Value = item.Value; detail.ValueID = item.ValueID; detail.EditTime = DateTime.Now; } } } #endregion #region 答题详情 //序列化表单详情列表 List <Eva_QuestionAnswer_Detail> Eva_QuestionAnswer_Detail_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Detail> >(List); //答题任务详情填充 foreach (Eva_QuestionAnswer_Detail item in Eva_QuestionAnswer_Detail_List) { Eva_QuestionAnswer_Detail detail = detailList.FirstOrDefault(i => i.TableDetailID == item.TableDetailID); if (detail != null) { Eva_QuestionAnswer_Detail detailClone = Constant.Clone(detail); detailClone.Answer = item.Answer; detailClone.Score = item.Score; detailClone.State = State; detailClone.EditTime = DateTime.Now; var jsm = Constant.Eva_QuestionAnswer_DetailService.Update(detailClone); if (jsm.errNum == 0) { detail.Answer = item.Answer; detail.Score = item.Score; detail.State = State; detail.EditTime = DateTime.Now; } } else { item.SectionID = Eva_QuestionAnswer.SectionID; item.DisPlayName = Eva_QuestionAnswer.DisPlayName; item.ReguID = Eva_QuestionAnswer.ReguID; item.ReguName = Eva_QuestionAnswer.ReguName; item.TableID = Eva_QuestionAnswer.TableID; item.TableName = Eva_QuestionAnswer.TableName; item.TeacherUID = Eva_QuestionAnswer.TeacherUID; item.TeacherName = Eva_QuestionAnswer.TeacherName; item.CourseTypeID = Eva_QuestionAnswer.CourseTypeID; item.CourseTypeName = Eva_QuestionAnswer.CourseTypeName; item.CourseID = Eva_QuestionAnswer.CourseID; item.CourseName = Eva_QuestionAnswer.CourseName; item.AnswerUID = Eva_QuestionAnswer.AnswerUID; item.AnswerName = Eva_QuestionAnswer.AnswerName; item.QuestionID = Eva_QuestionAnswer.Id; item.State = Eva_QuestionAnswer.State; item.RoomID = Eva_QuestionAnswer.RoomID; item.Eva_Role = Eva_QuestionAnswer.Eva_Role; item.CreateUID = Eva_QuestionAnswer.CreateUID; item.EditUID = Eva_QuestionAnswer.EditUID; item.EditTime = DateTime.Now; var jsm = Constant.Eva_QuestionAnswer_DetailService.Add(item); if (jsm.errNum == 0) { Constant.Eva_QuestionAnswer_Detail_List.Add(item); item.Id = Convert.ToInt32(jsm.retData); } } } #endregion } } catch (Exception ex) { LogHelper.Error(ex); } finally { //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】 context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}"); } }
/// <summary> /// 新增学生答题 /// </summary> /// <param name="context">当前上下文</param> public void Add_Eva_QuestionAnswer(HttpContext context) { lock (obj_Add_Eva_QuestionAnswer) { var sing2 = Constant.Eva_QuestionAnswer_Detail_List; int intSuccess = (int)errNum.Success; HttpRequest Request = context.Request; int RelationID = RequestHelper.int_transfer(Request, "RelationID"); //学年学期的ID int SectionID = RequestHelper.int_transfer(Request, "SectionID"); string DisPlayName = RequestHelper.string_transfer(Request, "DisPlayName"); int ReguID = RequestHelper.int_transfer(Request, "ReguID"); string ReguName = RequestHelper.string_transfer(Request, "ReguName"); //课程的ID string CourseID = RequestHelper.string_transfer(Request, "CourseID"); string CourseName = RequestHelper.string_transfer(Request, "CourseName"); //教师的ID string TeacherUID = RequestHelper.string_transfer(Request, "TeacherUID"); string TeacherName = RequestHelper.string_transfer(Request, "TeacherName"); //学生【用户唯一标识符】 string AnswerUID = RequestHelper.string_transfer(Request, "AnswerUID"); string AnswerName = RequestHelper.string_transfer(Request, "AnswerName"); int TableID = RequestHelper.int_transfer(Request, "TableID"); string TableName = RequestHelper.string_transfer(Request, "TableName"); int State = RequestHelper.int_transfer(Request, "State"); //得分 decimal Score = RequestHelper.decimal_transfer(Request, "Score"); //创建者 string CreateUID = RequestHelper.string_transfer(Request, "CreateUID"); int Eva_Role = RequestHelper.int_transfer(Request, "Eva_Role"); string RoomID = RequestHelper.string_transfer(Request, "RoomID"); int IsRealName = RequestHelper.int_transfer(Request, "IsRealName"); //答题详情明细 string List = RequestHelper.string_transfer(Request, "List"); //表头明显 string HeaderList = RequestHelper.string_transfer(Request, "HeaderList"); //课程分类 var data = (from r in Constant.CourseRel_List join c in Constant.Sys_Dictionary_List on r.CourseType_Id equals c.Key where c.Type == "0" select new { r, c }).ToList(); try { var first = data.Count > 0 ? data[0] : null; #region 答题 //学生回答任务信息表 Eva_QuestionAnswer Eva_QuestionAnswer = new Eva_QuestionAnswer() { RelationID = RelationID, SectionID = SectionID, DisPlayName = DisPlayName, ReguID = ReguID, ReguName = ReguName, CourseTypeID = first != null ? first.c.Key : "", CourseTypeName = first != null ? first.c.Value : "", CourseID = CourseID, CourseName = CourseName, AnswerUID = AnswerUID, AnswerName = AnswerName, TeacherUID = TeacherUID, TeacherName = TeacherName, TableID = TableID, TableName = TableName, Score = Score, State = State, RoomID = RoomID, Eva_Role = Eva_Role, IsRealName = (byte)IsRealName, CreateUID = CreateUID, CreateTime = DateTime.Now, EditTime = DateTime.Now, EditUID = CreateUID, IsDelete = (int)IsDelete.No_Delete, IsEnable = (int)IsEnable.Enable }; jsonModel = Constant.Eva_QuestionAnswerService.Add(Eva_QuestionAnswer); if (jsonModel.errNum == intSuccess) { Eva_QuestionAnswer.Id = Convert.ToInt32(jsonModel.retData); } #endregion if (jsonModel.errNum == intSuccess) { Constant.Eva_QuestionAnswer_List.Add(Eva_QuestionAnswer); #region 表头添加 //序列化表单详情列表 List <Eva_QuestionAnswer_Header> Eva_QuestionAnswer_Header_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Header> >(HeaderList); //答题任务详情填充 foreach (Eva_QuestionAnswer_Header item in Eva_QuestionAnswer_Header_List) { item.QuestionID = Eva_QuestionAnswer.Id; item.CreateTime = DateTime.Now; item.CreateUID = AnswerUID; item.EditUID = AnswerUID; item.EditTime = DateTime.Now; item.IsDelete = (int)IsDelete.No_Delete; item.IsEnable = (int)IsEnable.Enable; //数据库插入 JsonModel jsm = Constant.Eva_QuestionAnswer_HeaderService.Add(item); //插入成功入缓存 if (jsm.errNum == intSuccess) { item.Id = Convert.ToInt32(jsm.retData); Constant.Eva_QuestionAnswer_Header_List.Add(item); } } #endregion #region 答题详情 //序列化表单详情列表 List <Eva_QuestionAnswer_Detail> Eva_QuestionAnswer_Detail_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Detail> >(List); decimal allScore = 0; var quest = (from p in Eva_QuestionAnswer_Detail_List join st in Constant.Eva_TableDetail_List on p.TableDetailID equals st.Id select new { p, st }).ToList(); //答题任务详情填充 foreach (var chid in quest) { var item = chid.p; var table_dt = chid.st; item.SectionID = SectionID; item.DisPlayName = DisPlayName; item.ReguID = ReguID; item.ReguName = ReguName; item.TeacherUID = TeacherUID; item.TeacherName = TeacherName; item.CourseTypeID = Eva_QuestionAnswer.CourseTypeID; item.CourseTypeName = Eva_QuestionAnswer.CourseTypeName; item.CourseID = CourseID; item.CourseName = CourseName; item.AnswerUID = AnswerUID; item.AnswerName = AnswerName; item.QuestionID = Eva_QuestionAnswer.Id; item.TableID = TableID; item.TableName = TableName; item.Eva_Role = Eva_Role; item.RoomID = RoomID; item.State = State; item.IsRealName = (byte)IsRealName; item.CreateTime = DateTime.Now; item.CreateUID = AnswerUID; item.EditUID = AnswerUID; item.EditTime = DateTime.Now; item.IsDelete = (int)IsDelete.No_Delete; item.IsEnable = (int)IsEnable.Enable; switch (item.Answer) { case "OptionA": item.Score = table_dt.OptionA_S; break; case "OptionB": item.Score = table_dt.OptionB_S; break; case "OptionC": item.Score = table_dt.OptionC_S; break; case "OptionD": item.Score = table_dt.OptionD_S; break; case "OptionE": item.Score = table_dt.OptionE_S; break; case "OptionF": item.Score = table_dt.OptionF_S; break; default: break; } if (item.Score != null) { allScore += (decimal)item.Score; } //数据库插入 JsonModel jsm = Constant.Eva_QuestionAnswer_DetailService.Add(item); //插入成功入缓存 if (jsm.errNum == intSuccess) { item.Id = Convert.ToInt32(jsm.retData); if (!sing2.Contains(item)) { Constant.Eva_QuestionAnswer_Detail_List.Add(item); } } } Eva_QuestionAnswer.Score = allScore; Constant.Eva_QuestionAnswerService.Update(Eva_QuestionAnswer); #endregion } } catch (Exception ex) { LogHelper.Error(ex); } finally { //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】 context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}"); } } }