/// <summary> /// 获取用户答案 /// </summary> /// <param name="answerDetailList"></param> /// <returns></returns> public bool SaveUserAnswer(U_ExercisesAnswerDetail answerDetailModel) { bool result = false;//保存结果标识 //习题人员与答案主表 Business_ExercisesAnswer_Information mainExerciseAnswerModel = new Business_ExercisesAnswer_Information(); mainExerciseAnswerModel.BusinessExercisesVguid = answerDetailModel.BusinessExercisesVguid; //习题主信息Vguid mainExerciseAnswerModel.BusinessPersonnelVguid = answerDetailModel.BusinessPersonnelVguid; //做题人Vguid mainExerciseAnswerModel.Marking = 1; //未阅卷 mainExerciseAnswerModel.Status = 1; //未完成 //mainExerciseAnswerModel.CreatedDate = DateTime.Now; //mainExerciseAnswerModel.ChangeDate = DateTime.Now; //习题人员与答案附表 Business_ExercisesAnswerDetail_Information detailAnswerModel = new Business_ExercisesAnswerDetail_Information(); detailAnswerModel.Answer = answerDetailModel.Answer; detailAnswerModel.Score = CheckAnswer(answerDetailModel.BusinessExercisesDetailVguid.ToString(), answerDetailModel.Answer); //计算题目得分 detailAnswerModel.BusinessExercisesDetailVguid = answerDetailModel.BusinessExercisesDetailVguid; //具体习题Vguid //detailAnswerModel.BusinessAnswerExercisesVguid = answerDetailModel.BusinessAnswerExercisesVguid; //detailAnswerModel.CreatedDate = DateTime.Now; //detailAnswerModel.ChangeDate = DateTime.Now; result = _ws.SaveUserAnswer(mainExerciseAnswerModel, detailAnswerModel); LogHelper.WriteLog(JsonHelper.ModelToJson <Business_ExercisesAnswerDetail_Information>(detailAnswerModel)); return(result); }
/// <summary> /// 上传用户头像 /// </summary> /// <param name="url"></param> /// <param name="exerciseVguid"></param> /// <param name="personVguid"></param> /// <returns></returns> public bool UpLoadImg(string url, string exerciseVguid, string personVguid) { using (SqlSugarClient dbMsSql = SugarDao_MsSql.GetInstance()) { bool result = false; try { Guid mainExerciseVguid = Guid.Parse(exerciseVguid); Guid personalVguid = Guid.Parse(personVguid); Business_ExercisesAnswer_Information exerciseAnswerModel = new Business_ExercisesAnswer_Information(); exerciseAnswerModel = dbMsSql.Queryable <Business_ExercisesAnswer_Information>().Where(i => i.BusinessExercisesVguid == mainExerciseVguid && i.BusinessPersonnelVguid == personalVguid).SingleOrDefault(); if (exerciseAnswerModel != null) { if (string.IsNullOrEmpty(exerciseAnswerModel.PicturePath)) { result = dbMsSql.Update <Business_ExercisesAnswer_Information>(new { PicturePath = url }, i => i.BusinessExercisesVguid == mainExerciseVguid && i.BusinessPersonnelVguid == personalVguid); } } else //如果Business_ExercisesAnswer_Information没有数据要新增一条 { Business_ExercisesAnswer_Information mainExercise = new Business_ExercisesAnswer_Information(); mainExercise.Vguid = Guid.NewGuid(); mainExercise.BusinessExercisesVguid = mainExerciseVguid; mainExercise.BusinessPersonnelVguid = personalVguid; mainExercise.ChangeDate = DateTime.Now; mainExercise.CreatedDate = DateTime.Now; mainExercise.PicturePath = url; mainExercise.SolveNumber = 0; result = dbMsSql.Insert <Business_ExercisesAnswer_Information>(mainExercise, false) != DBNull.Value; } //存入操作日志表 string logData = JsonHelper.ModelToJson <Business_ExercisesAnswer_Information>(exerciseAnswerModel); _ll.SaveLog(13, 34, personVguid, "用户图片", logData); } catch (Exception ex) { LogHelper.WriteLog(ex.Message); _ll.SaveLog(5, 34, personVguid, "用户图片", ex.Message); } return(result); } }
/// <summary> /// 保存简答题分数 /// </summary> /// <param name="personVguid">答题人Vguid</param> /// <param name="vguid">习题Vguid</param> /// <param name="exerciseDetailVguid">具体习题Vguid</param> /// <param name="score">得分</param> /// <returns></returns> public bool SaveShortAnswerMarking(string personVguid, string vguid, string exerciseDetailVguid, string score) { using (SqlSugarClient _dbMsSql = SugarDao.SugarDao_MsSql.GetInstance()) { bool result = false; try { int totalScore = 0; Guid personVGUID = Guid.Parse(personVguid); Guid exerciserVGUID = Guid.Parse(vguid); Guid exerciserDetailVGUID = Guid.Parse(exerciseDetailVguid); int personScore = int.Parse(score); Business_ExercisesAnswer_Information exerciserAnswerModel = _dbMsSql.Queryable <Business_ExercisesAnswer_Information>().Where(i => i.BusinessPersonnelVguid == personVGUID && i.BusinessExercisesVguid == exerciserVGUID).SingleOrDefault(); //先更新答题的明细表(更新简答题得分) result = _dbMsSql.Update <Business_ExercisesAnswerDetail_Information>(new { Score = personScore, ChangeDate = DateTime.Now, ChangeUser = Common.CurrentUser.GetCurrentUser().LoginName }, i => i.BusinessAnswerExercisesVguid == exerciserAnswerModel.Vguid && i.BusinessExercisesDetailVguid == exerciserDetailVGUID); //获取更新后的总分 List <Business_ExercisesAnswerDetail_Information> exerciseAnswerDetailList = new List <Business_ExercisesAnswerDetail_Information>(); exerciseAnswerDetailList = _dbMsSql.Queryable <Business_ExercisesAnswerDetail_Information>().Where(i => i.BusinessAnswerExercisesVguid == exerciserAnswerModel.Vguid).ToList(); foreach (var item in exerciseAnswerDetailList) { totalScore += item.Score; } var model = new { TotalScore = totalScore, Marking = 2, Status = 2, ChangeDate = DateTime.Now }; result = _dbMsSql.Update <Business_ExercisesAnswer_Information>(model, i => i.Vguid == exerciserAnswerModel.Vguid); _logLogic.SaveLog(4, 36, Common.CurrentUser.GetCurrentUser().LoginName, "简答题得分" + score, "vguid总分为" + totalScore); } catch (Exception exp) { LogHelper.WriteLog("保存简答题分数:" + exp.ToString()); } return(result); } }
/// <summary> /// 获取用户答案 /// </summary> /// <param name="mainExerciseAnswerModel"></param> /// <param name="detailAnswerModel"></param> /// <returns></returns> public bool SaveUserAnswer(Business_ExercisesAnswer_Information mainExerciseAnswerModel, Business_ExercisesAnswerDetail_Information detailAnswerModel) { using (SqlSugarClient dbMsSql = SugarDao_MsSql.GetInstance()) { bool result = false; bool mainEdit = false; //习题人员与答案主表中是否存在 bool detailEdit = false; //习题人员与答案附表中是否存在 try { dbMsSql.BeginTran(); mainEdit = dbMsSql.Queryable <Business_ExercisesAnswer_Information>().Any(i => i.BusinessPersonnelVguid == mainExerciseAnswerModel.BusinessPersonnelVguid && i.BusinessExercisesVguid == mainExerciseAnswerModel.BusinessExercisesVguid); if (!mainEdit) //新增 { mainExerciseAnswerModel.Vguid = Guid.NewGuid(); mainExerciseAnswerModel.CreatedDate = DateTime.Now; mainExerciseAnswerModel.ChangeDate = DateTime.Now; result = dbMsSql.Insert(mainExerciseAnswerModel, false) != DBNull.Value; //存入操作日志表 string logData = JsonHelper.ModelToJson(mainExerciseAnswerModel); _ll.SaveLog(1, 34, mainExerciseAnswerModel.BusinessPersonnelVguid.ToString(), "用户" + mainExerciseAnswerModel.BusinessPersonnelVguid + " " + mainExerciseAnswerModel.BusinessExercisesVguid + "套题的答题情况", logData); } else { mainExerciseAnswerModel = dbMsSql.Queryable <Business_ExercisesAnswer_Information>().Where(i => i.BusinessPersonnelVguid == mainExerciseAnswerModel.BusinessPersonnelVguid && i.BusinessExercisesVguid == mainExerciseAnswerModel.BusinessExercisesVguid).SingleOrDefault(); result = dbMsSql.Update <Business_ExercisesAnswer_Information>(new { ChangeDate = DateTime.Now }, i => i.BusinessPersonnelVguid == mainExerciseAnswerModel.BusinessPersonnelVguid && i.BusinessExercisesVguid == mainExerciseAnswerModel.BusinessExercisesVguid); //存入操作日志表 string logData = JsonHelper.ModelToJson(mainExerciseAnswerModel); _ll.SaveLog(4, 34, mainExerciseAnswerModel.BusinessPersonnelVguid.ToString(), "用户" + mainExerciseAnswerModel.BusinessPersonnelVguid + " " + mainExerciseAnswerModel.BusinessExercisesVguid + "套题的答题情况", logData); } detailEdit = dbMsSql.Queryable <Business_ExercisesAnswerDetail_Information>().Any(i => i.BusinessAnswerExercisesVguid == mainExerciseAnswerModel.Vguid && i.BusinessExercisesDetailVguid == detailAnswerModel.BusinessExercisesDetailVguid); if (result) //主表插入成功 { Business_ExercisesAnswerDetail_Information newDeatailAnswerModel = new Business_ExercisesAnswerDetail_Information(); if (detailEdit) //编辑 { newDeatailAnswerModel = dbMsSql.Queryable <Business_ExercisesAnswerDetail_Information>().Where(i => i.BusinessAnswerExercisesVguid == mainExerciseAnswerModel.Vguid && i.BusinessExercisesDetailVguid == detailAnswerModel.BusinessExercisesDetailVguid).SingleOrDefault(); var model = new { Answer = detailAnswerModel.Answer, Score = detailAnswerModel.Score, ChangeDate = DateTime.Now }; result = dbMsSql.Update <Business_ExercisesAnswerDetail_Information>(model, i => i.Vguid == newDeatailAnswerModel.Vguid); //存入操作日志表 string logData = JsonHelper.ModelToJson(detailAnswerModel); _ll.SaveLog(4, 34, "", detailAnswerModel.BusinessExercisesDetailVguid + "道题的答题情况", logData); } else //新增 { detailAnswerModel.BusinessAnswerExercisesVguid = mainExerciseAnswerModel.Vguid; //关联”习题人员与答案信息“主表 detailAnswerModel.Vguid = Guid.NewGuid(); detailAnswerModel.CreatedDate = DateTime.Now; detailAnswerModel.ChangeDate = DateTime.Now; result = dbMsSql.Insert(detailAnswerModel, false) != DBNull.Value; //存入操作日志表 string logData = JsonHelper.ModelToJson(detailAnswerModel); _ll.SaveLog(1, 34, "", detailAnswerModel.BusinessExercisesDetailVguid + "道题的答题情况", logData); } } dbMsSql.CommitTran(); } catch (Exception ex) { LogHelper.WriteLog(ex.ToString()); dbMsSql.RollbackTran(); } return(result); } }