/// <summary> /// 通过习题Vguid获取习题详细信息 /// </summary> /// <param name="exerciseDetailVguid"></param> /// <returns></returns> public Business_ExercisesDetail_Infomation GetExerciseDetailModel(string exerciseDetailVguid) { using (SqlSugarClient _dbMsSql = SugarDao_MsSql.GetInstance()) { Guid vguid = Guid.Parse(exerciseDetailVguid); Business_ExercisesDetail_Infomation exerciseModel = _dbMsSql.Queryable <Business_ExercisesDetail_Infomation>().Where(i => i.Vguid == vguid).SingleOrDefault(); return(exerciseModel); } }
/// <summary> /// 通过习题Vguid获取习题详细信息 /// </summary> /// <param name="exerciseDetailVguid"></param> /// <returns></returns> public Business_ExercisesDetail_Infomation GetExerciseDetailModel(string exerciseDetailVguid) { using (SqlSugarClient dbMsSql = SugarDao_MsSql.GetInstance()) { Guid vguid = Guid.Parse(exerciseDetailVguid); Business_ExercisesDetail_Infomation exerciseModel = dbMsSql.Queryable <Business_ExercisesDetail_Infomation>().Where(i => i.Vguid == vguid).SingleOrDefault(); //存入操作日志表 string logData = JsonHelper.ModelToJson(exerciseModel); _ll.SaveLog(3, 34, "", exerciseModel.ExerciseName, logData); return(exerciseModel); } }
/// <summary> /// 判断答案是否正确并计算得分 /// </summary> /// <param name="exerciseDetailVguid">题目的Vguid</param> /// <param name="answer">答案</param> /// <returns></returns> public int CheckAnswer(string exerciseDetailVguid, string answer) { int score = 0; Business_ExercisesDetail_Infomation exerciseDetailModel = _ws.GetExerciseDetailModel(exerciseDetailVguid); string[] arrLetter = new string[8] { "A", "B", "C", "D", "E", "F", "G", "H" }; if (exerciseDetailModel.ExerciseType == 1)//单选题 { //arrLetter[answer] if (exerciseDetailModel.Answer == arrLetter[int.Parse(answer)]) { score = exerciseDetailModel.Score; } } else if (exerciseDetailModel.ExerciseType == 2)//多选题 { if (string.IsNullOrEmpty(answer)) { return(score); } var arrAnswer = answer.Split(','); string explainAnswer = ""; foreach (var item in arrAnswer) { explainAnswer += arrLetter[int.Parse(item)] + ","; } explainAnswer = explainAnswer.Substring(0, explainAnswer.Length - 1); if (exerciseDetailModel.Answer == explainAnswer) { score = exerciseDetailModel.Score; } } else if (exerciseDetailModel.ExerciseType == 3)//判断题 { //if (answer == "0") //{ // answer = "正确"; //} //else if (answer == "1") //{ // answer = "错误"; //} if (exerciseDetailModel.Answer == answer) { score = exerciseDetailModel.Score; } } return(score); }
/// <summary> /// 将DataTable内容绑定到习题详细信息列表 /// </summary> /// <param name="dt"></param> /// <returns></returns> public List <Business_ExercisesDetail_Infomation> DataTableToList(DataTable dt, Business_Exercises_Infomation exercisesInfomation) { List <Business_ExercisesDetail_Infomation> exerciseDetailList = new List <Business_ExercisesDetail_Infomation>(); if (dt != null && dt.Rows.Count > 0) { for (int i = 7; i < dt.Rows.Count; i++) //从第7行开始插入,前6行为习题主信息以及注意事项 { try { DataRow dr = dt.Rows[i]; if ((!string.IsNullOrEmpty(dr["column1"].ToString())) && (!string.IsNullOrEmpty(dr["column2"].ToString())) && (!string.IsNullOrEmpty(dr["column3"].ToString())) && (!string.IsNullOrEmpty(dr["column6"].ToString()))) { Business_ExercisesDetail_Infomation exerciseDetail = new Business_ExercisesDetail_Infomation(); exerciseDetail.ExerciseType = int.Parse(dr["column1"].ToString()); //题目类型 exerciseDetail.ExericseTitleID = int.Parse(dr["column2"].ToString()); //题号 exerciseDetail.ExerciseName = dr["column3"].ToString(); //题目名称 if (dr["column1"].ToString() == "3") //判断题 { switch (dr["column5"].ToString()) { case "A": exerciseDetail.Answer = dr["column7"].ToString() == "正确" ? "0" : "1"; break; case "B": exerciseDetail.Answer = dr["column8"].ToString() == "正确" ? "0" : "1"; break; } } else { exerciseDetail.Answer = dr["column5"].ToString(); //答案 } exerciseDetail.Score = int.Parse(dr["column6"].ToString()); //分数 string exerciseOption = string.Empty; string[] letter = { "A", "B", "C", "D", "E", "F", "G", "H" }; //选项字典 for (int j = 7; j <= dt.Columns.Count; j++) { if (!string.IsNullOrEmpty(dr["column" + j].ToString())) { exerciseOption += letter[j - 7] + "." + dr["column" + j].ToString() + ",|"; } } char[] myChar = { ',', '|' }; exerciseDetail.ExerciseOption = exerciseOption.TrimEnd(myChar); //题目选项 exerciseDetail.InputType = 2; //录入类型 exerciseDetail.CreatedDate = DateTime.Now; exerciseDetail.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseDetail.ChangeDate = DateTime.Now; exerciseDetail.ExercisesInformationVguid = exercisesInfomation.Vguid; exerciseDetail.Vguid = Guid.NewGuid(); exerciseDetailList.Add(exerciseDetail); } } catch (Exception ex) { Common.LogHelper.LogHelper.WriteLog(ex.Message + "/n" + ex.ToString() + "/n" + ex.StackTrace); } } } return(exerciseDetailList); }
/// <summary> /// 保存习题信息(主信息、详细信息) /// </summary> /// <param name="exerciseMainModel"></param> /// <param name="isEdit"></param> /// <returns></returns> public bool SaveExerciseMain(Business_Exercises_Infomation exerciseMainModel, bool isEdit, string exerciseData) { bool result = false; var exerciseModel = new Business_Exercises_Infomation(); //习题主信息 var exerciseList = JsonHelper.JsonToModel <List <Business_ExercisesDetail_Infomation> >(exerciseData); //待保存的习题详细信息 var exerciseDetailList = new List <Business_ExercisesDetail_Infomation>(); if (isEdit) { exerciseModel = GetExerciseByVguid(exerciseMainModel.Vguid.ToString()); exerciseModel.ExercisesName = exerciseMainModel.ExercisesName; exerciseModel.Description = exerciseMainModel.Description; exerciseModel.Remarks = exerciseMainModel.Remarks; exerciseModel.EffectiveDate = exerciseMainModel.EffectiveDate; exerciseModel.Status = 1; exerciseModel.ChangeUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseModel.ChangeDate = DateTime.Now; //循环遍历习题详情 foreach (var item in exerciseList) { Business_ExercisesDetail_Infomation exerciseDetail = new Business_ExercisesDetail_Infomation(); exerciseDetail.ExerciseType = item.ExerciseType; exerciseDetail.ExericseTitleID = item.ExericseTitleID; exerciseDetail.ExerciseName = item.ExerciseName; exerciseDetail.ExerciseOption = item.ExerciseOption; exerciseDetail.Answer = item.Answer; exerciseDetail.Score = item.Score; exerciseDetail.InputType = 1; exerciseDetail.IsEntry = item.IsEntry; //是否录入习题库 exerciseDetail.Vguid = Guid.NewGuid(); exerciseDetail.ExercisesInformationVguid = exerciseMainModel.Vguid; //习题主信息Vguid exerciseDetail.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseDetail.CreatedDate = DateTime.Now; exerciseDetail.ChangeDate = DateTime.Now; exerciseDetailList.Add(exerciseDetail); } result = _es.SaveExerciseMain(exerciseModel, isEdit, exerciseDetailList); } else { exerciseModel.ExercisesName = exerciseMainModel.ExercisesName; exerciseModel.Description = exerciseMainModel.Description; exerciseModel.Remarks = exerciseMainModel.Remarks; exerciseModel.EffectiveDate = exerciseMainModel.EffectiveDate; exerciseModel.Status = 1; exerciseModel.InputType = 1; exerciseModel.CreatedDate = DateTime.Now; exerciseModel.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseModel.ChangeDate = DateTime.Now; exerciseModel.Vguid = exerciseMainModel.Vguid; foreach (var item in exerciseList) { Business_ExercisesDetail_Infomation exerciseDetail = new Business_ExercisesDetail_Infomation(); exerciseDetail.ExerciseType = item.ExerciseType; exerciseDetail.ExericseTitleID = item.ExericseTitleID; exerciseDetail.ExerciseName = item.ExerciseName; exerciseDetail.ExerciseOption = item.ExerciseOption; exerciseDetail.Answer = item.Answer; exerciseDetail.Score = item.Score; exerciseDetail.InputType = 1; exerciseDetail.IsEntry = item.IsEntry; //是否录入习题库 exerciseDetail.Vguid = Guid.NewGuid(); exerciseDetail.ExercisesInformationVguid = exerciseMainModel.Vguid; //习题主信息Vguid exerciseDetail.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseDetail.CreatedDate = DateTime.Now; exerciseDetail.ChangeDate = DateTime.Now; exerciseDetailList.Add(exerciseDetail); } result = _es.SaveExerciseMain(exerciseModel, isEdit, exerciseDetailList); } return(result); }