/// <summary> /// 批量审核习题 /// </summary> /// <param name="vguid"></param> /// <returns></returns> public bool CheckedExercise(string vguid) { using (SqlSugarClient _dbMsSql = SugarDao_MsSql.GetInstance()) { bool result = false; Guid Vguid = Guid.Parse(vguid); try { _dbMsSql.BeginTran(); result = _dbMsSql.Update <Business_ExerciseLibrary_Information>(new { Status = 2 }, i => i.Vguid == Vguid); Business_ExerciseLibrary_Information exerciseInfo = _dbMsSql.Queryable <Business_ExerciseLibrary_Information>() .Where(i => i.Vguid == Vguid) .SingleOrDefault(); string exerciseJson = JsonHelper.ModelToJson <Business_ExerciseLibrary_Information>(exerciseInfo); //存入操作日志表 _logLogic.SaveLog(9, 38, Common.CurrentUser.GetCurrentUser().LoginName, exerciseInfo.ExerciseName, exerciseJson); _dbMsSql.CommitTran(); } catch (Exception ex) { _dbMsSql.RollbackTran(); Common.LogHelper.LogHelper.WriteLog(ex.ToString()); _logLogic.SaveLog(5, 38, Common.CurrentUser.GetCurrentUser().LoginName, "", ex.ToString()); } return(result); } }
/// <summary> /// 删除未提交习题 /// </summary> /// <param name="vguid">习题Vguid</param> /// <returns></returns> public bool DeletedExercise(string vguid) { using (SqlSugarClient _dbMsSql = SugarDao_MsSql.GetInstance()) { bool result = false; Guid exerciseVguid = Guid.Parse(vguid); try { _dbMsSql.BeginTran(); Business_ExerciseLibrary_Information exerciseModel = _dbMsSql.Queryable <Business_ExerciseLibrary_Information>() .Where(i => i.Vguid == exerciseVguid) .SingleOrDefault(); string logData = JsonHelper.ModelToJson <Business_ExerciseLibrary_Information>(exerciseModel); result = _dbMsSql.Delete <Business_ExerciseLibrary_Information>(i => i.Vguid == exerciseVguid); //删除习题 _logLogic.SaveLog(2, 38, Common.CurrentUser.GetCurrentUser().LoginName, exerciseModel.ExerciseName, logData); _dbMsSql.CommitTran(); } catch (Exception exp) { _dbMsSql.RollbackTran(); Common.LogHelper.LogHelper.WriteLog(exp.ToString()); _logLogic.SaveLog(5, 38, Common.CurrentUser.GetCurrentUser().LoginName, "", exp.ToString()); } return(result); } }
/// <summary> /// 保存习题信息 /// </summary> /// <param name="exerciseData">习题信息</param> /// <param name="isEdit">是否编辑</param> /// <returns></returns> public bool SaveExercise(string exerciseData, bool isEdit) { bool result = false; List <Business_ExerciseLibrary_Information> exerciseList = Common.JsonHelper.JsonToModel <List <Business_ExerciseLibrary_Information> >(exerciseData);//待保存的习题详细信息 List <Business_ExerciseLibrary_Information> exerciseDetailList = new List <Business_ExerciseLibrary_Information>(); if (isEdit) { //循环遍历习题详情 foreach (var item in exerciseList) { Business_ExerciseLibrary_Information exerciseDetail = new Business_ExerciseLibrary_Information(); // exerciseDetail.ExerciseType = item.ExerciseType; // exerciseDetail.ExericseTitleID = item.ExericseTitleID; exerciseDetail.ExerciseName = item.ExerciseName; exerciseDetail.Option = item.Option; exerciseDetail.Answer = item.Answer; exerciseDetail.Score = item.Score; // exerciseDetail.InputType = 1; exerciseDetail.Vguid = item.Vguid; // exerciseDetail.ExercisesInformationVguid = exerciseMainModel.Vguid;//习题主信息Vguid // exerciseDetail.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName; //exerciseDetail.CreatedDate = DateTime.Now; exerciseDetail.ChangeDate = DateTime.Now; exerciseDetail.ChangeUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseDetailList.Add(exerciseDetail); } result = _exerciseLibraryServer.SaveExercise(exerciseDetailList, isEdit); } else { foreach (var item in exerciseList) { Business_ExerciseLibrary_Information exerciseDetail = new Business_ExerciseLibrary_Information(); exerciseDetail.ExerciseType = item.ExerciseType; exerciseDetail.ExerciseName = item.ExerciseName; exerciseDetail.Option = item.Option; exerciseDetail.Answer = item.Answer; exerciseDetail.Score = item.Score; exerciseDetail.InputType = 1; exerciseDetail.Status = 1; exerciseDetail.Vguid = Guid.NewGuid(); exerciseDetail.BusinessExercisesVguid = Guid.Empty;//习题主信息Vguid exerciseDetail.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName; exerciseDetail.CreatedDate = DateTime.Now; // exerciseDetail.ChangeDate = DateTime.Now; exerciseDetailList.Add(exerciseDetail); } result = _exerciseLibraryServer.SaveExercise(exerciseDetailList, isEdit); } return(result); }
/// <summary> /// 保存习题信息(主信息、详细信息) /// </summary> /// <param name="exerciseMainModel"></param> /// <param name="isEdit"></param> /// <returns></returns> public bool SaveExerciseMain(Business_Exercises_Infomation exerciseMainModel, bool isEdit, List <Business_ExercisesDetail_Infomation> exerciseDetailList) { using (SqlSugarClient _dbMsSql = SugarDao.SugarDao_MsSql.GetInstance()) { bool result = false; try { _dbMsSql.BeginTran(); if (isEdit) { //定义匿名类型model var model = new { ExercisesName = exerciseMainModel.ExercisesName, Description = exerciseMainModel.Description, Remarks = exerciseMainModel.Remarks, EffectiveDate = exerciseMainModel.EffectiveDate, Status = exerciseMainModel.Status, ChangeUser = exerciseMainModel.ChangeUser, ChangeDate = exerciseMainModel.ChangeDate }; result = _dbMsSql.Update <Business_Exercises_Infomation>(model, i => i.Vguid == exerciseMainModel.Vguid); //存入操作日志表 string logData = JsonHelper.ModelToJson(exerciseMainModel); _ll.SaveLog(4, 9, CurrentUser.GetCurrentUser().LoginName, exerciseMainModel.ExercisesName + " " + "主信息", logData); } else { result = _dbMsSql.Insert(exerciseMainModel, false) != DBNull.Value; //存入操作日志表 string logData = JsonHelper.ModelToJson(exerciseMainModel); _ll.SaveLog(1, 8, CurrentUser.GetCurrentUser().LoginName, exerciseMainModel.ExercisesName + " " + "主信息", logData); } _dbMsSql.Delete <Business_ExercisesDetail_Infomation>(i => i.ExercisesInformationVguid == exerciseMainModel.Vguid); var listExerciseLibrary = new List <Business_ExerciseLibrary_Information>(); foreach (var item in exerciseDetailList) { _dbMsSql.Delete <Business_ExerciseLibrary_Information>(c => c.BusinessExercisesVguid == item.ExercisesInformationVguid); if (item.IsEntry == "1") { bool isExist = _dbMsSql.Queryable <Business_ExerciseLibrary_Information>().Any(c => c.ExerciseType == item.ExerciseType && c.ExerciseName == item.ExerciseName); if (!isExist) { //将习题保存到习题库中 var model = new Business_ExerciseLibrary_Information() { ExerciseName = item.ExerciseName, ExerciseType = item.ExerciseType, Option = item.ExerciseOption, Answer = item.Answer, Score = item.Score, BusinessExercisesVguid = item.ExercisesInformationVguid, Status = 1, InputType = 3, TopicType = 0, CreatedUser = item.CreatedUser, CreatedDate = item.CreatedDate, Vguid = Guid.NewGuid() }; listExerciseLibrary.Add(model); } } _dbMsSql.Insert(item, false); //存入操作日志表 string logData = JsonHelper.ModelToJson(item); _ll.SaveLog(4, 10, CurrentUser.GetCurrentUser().LoginName, exerciseMainModel.ExercisesName + " " + "习题详细信息", logData); } _dbMsSql.InsertRange(listExerciseLibrary); _dbMsSql.CommitTran(); } catch (Exception ex) { _dbMsSql.RollbackTran(); Common.LogHelper.LogHelper.WriteLog(ex.Message + "/n" + ex + "/n" + ex.StackTrace); } return(result); } }
/// <summary> /// 将DataTable内容绑定到习题详细信息列表 /// </summary> /// <param name="dt"></param> /// <returns></returns> public List <Business_ExerciseLibrary_Information> DataTableToList(DataTable dt) { List <Business_ExerciseLibrary_Information> exerciseDetailList = new List <Business_ExerciseLibrary_Information>(); if (dt != null && dt.Rows.Count > 0) { for (int i = 3; i < dt.Rows.Count; i++) //从第3行开始插入,前2行为习题主信息以及注意事项 { try { DataRow dr = dt.Rows[i]; if ((!string.IsNullOrEmpty(dr["column1"].ToString())) && (!string.IsNullOrEmpty(dr["column2"].ToString())) && (!string.IsNullOrEmpty(dr["column4"].ToString())) && (!string.IsNullOrEmpty(dr["column5"].ToString()))) { var exerciseDetail = new Business_ExerciseLibrary_Information(); exerciseDetail.ExerciseType = int.Parse(dr["column1"].ToString()); //题目类型 exerciseDetail.ExerciseName = dr["column2"].ToString(); //题目名称 if (dr["column1"].ToString() == "3") //判断题 { switch (dr["column4"].ToString()) { case "A": exerciseDetail.Answer = dr["column6"].ToString() == "正确" ? "0" : "1"; break; case "B": exerciseDetail.Answer = dr["column7"].ToString() == "正确" ? "0" : "1"; break; } } else { exerciseDetail.Answer = dr["column4"].ToString(); //答案 } exerciseDetail.Score = int.Parse(dr["column5"].ToString()); //分数 string exerciseOption = string.Empty; string[] letter = { "A", "B", "C", "D", "E", "F", "G", "H" }; //选项字典 for (int j = 6; j <= dt.Columns.Count; j++) { if (!string.IsNullOrEmpty(dr["column" + j].ToString())) { exerciseOption += letter[j - 6] + "." + dr["column" + j].ToString() + ",|"; } } char[] myChar = { ',', '|' }; exerciseDetail.Option = exerciseOption.TrimEnd(myChar); //题目选项 exerciseDetail.InputType = 2; //录入类型 exerciseDetail.Status = 1; exerciseDetail.CreatedDate = DateTime.Now; exerciseDetail.CreatedUser = CurrentUser.GetCurrentUser().LoginName; exerciseDetail.ChangeDate = DateTime.Now; exerciseDetail.BusinessExercisesVguid = Guid.Empty; exerciseDetail.Vguid = Guid.NewGuid(); exerciseDetailList.Add(exerciseDetail); } } catch (Exception ex) { Common.LogHelper.LogHelper.WriteLog(ex.Message + "/n" + ex.ToString() + "/n" + ex.StackTrace); } } } return(exerciseDetailList); }