public IActionResult Item([Required] int itemId) { if (ModelState.IsValid) { if (!_analysis.GetLoginUserConfig(HttpContext).Power.QuestionBankManager) { return(Json(new { isOk = false, title = "错误提示", message = "你并无题库管理操作权限" })); } #region 功能实现区域 MultipleChoices item = _context.MultipleChoices.Include("Module").FirstOrDefault(j => j.MultipleId == itemId); if (item != null) { return(Json(new { isOk = true, item = item, title = "消息提示", message = "加载成功" })); } else { return(Json(new { isOk = true, title = "错误提示", message = "题目不存在!或者已经被删除了!" })); } #endregion } else { List <string> sb = new List <string>(); List <string> Keys = ModelState.Keys.ToList(); foreach (var key in Keys) { var errors = ModelState[key].Errors.ToList(); //将错误描述添加到sb中 foreach (var error in errors) { sb.Add(error.ErrorMessage); } } return(Json(new { isOk = false, error = sb, title = "错误提示", message = "参数错误,传递了不符合规定的参数" })); } }
/// <summary> /// 完成日志记录 /// </summary> /// <param name="singleId"></param> /// <returns></returns> public IActionResult Delete([Required] int singleId) { if (ModelState.IsValid) { if (!_analysis.GetLoginUserConfig(HttpContext).Power.QuestionBankManager) { return(Json(new { isOk = false, title = "错误提示", message = "你并无题库管理操作权限" })); } #region 功能实现区域 MultipleChoices item = _context.MultipleChoices.Find(singleId); if (item != null) { SystemSetting setting = _config.LoadSystemSetting(); if (setting.LoginSetting.StudentLogin) { return(Json(new { isOk = false, title = "信息提示", message = "无法删除,当前系统打开了学生学习通道,在实验室安全考试期间无法删除任何考题!以免引起数据不正常!" })); } LogPricipalOperation log = _logger.GetDefaultLogPricipalOperation(PrincpalOperationCode.MultipleDelete, $"查询编码:{item.MultipleId}", $"删除多择题:{item.Content}!"); log.PrincpalOperationStatus = PrincpalOperationStatus.Success; _context.LogPricipalOperations.Add(log); _context.MultipleChoices.Remove(item); _context.SaveChanges(); return(Json(new { isOk = true, title = "信息提示", message = "删除成功!" })); } else { return(Json(new { isOk = false, title = "错误提示", message = "此题目不存在!或者已经被删除了" })); } #endregion } else { List <string> sb = new List <string>(); List <string> Keys = ModelState.Keys.ToList(); foreach (var key in Keys) { var errors = ModelState[key].Errors.ToList(); //将错误描述添加到sb中 foreach (var error in errors) { sb.Add(error.ErrorMessage); } } return(Json(new { isOk = false, error = sb, title = "错误提示", message = "参数错误,传递了不符合规定的参数" })); } }
/// <summary> /// 完成日志记录 /// </summary> /// <param name="item"></param> /// <returns></returns> public IActionResult Update([Bind(include: "MultipleId,ModuleId,Content,Answer,A,B,C,D,E,F")] MultipleChoices item) { if (ModelState.IsValid) { if (!_analysis.GetLoginUserConfig(HttpContext).Power.QuestionBankManager) { return(Json(new { isOk = false, title = "错误提示", message = "你并无题库管理操作权限" })); } MultipleChoices multiple = _context.MultipleChoices.Find(item.MultipleId); if (multiple != null) { String key = _encryption.EncodeByMd5(item.Content.Trim()); //如果题干已经被改变了 那么重新编码 if (multiple.Content != item.Content.Trim()) { //检查重复性 if (_context.MultipleChoices.Any(i => i.Key == key && i.ModuleId == item.ModuleId)) { return(Json(new { isOk = false, title = "错误提示", message = "你的题目已经存在! 或者未作出修改" })); } } multiple.Content = item.Content.Trim(); multiple.AddTime = DateTime.Now; multiple.Key = key; //答案排序一下 Char[] answer = item.Answer.ToUpper().Trim().ToCharArray(); Array.Sort(answer); multiple.Answer = String.Join("", answer); //答案全部大写 multiple.DegreeOfDifficulty = 1; //重置题目难度 multiple.A = item.A.Trim(); multiple.B = item.B.Trim(); multiple.C = item.C?.Trim(); multiple.D = item.D?.Trim(); multiple.E = item.E?.Trim(); multiple.F = item.F?.Trim(); LogPricipalOperation log = _logger.GetDefaultLogPricipalOperation(PrincpalOperationCode.MultipleUpdate, $"查询编码:{item.MultipleId}", $"修改多择题:{item.Content}!"); log.PrincpalOperationStatus = PrincpalOperationStatus.Success; _context.LogPricipalOperations.Add(log); _context.SaveChanges(); return(Json(new { isOk = true, title = "消息提示", message = "修改成功!" })); } else { return(Json(new { isOk = false, title = "错误提示", message = "不存在此题目" })); } } else { List <string> sb = new List <string>(); List <string> Keys = ModelState.Keys.ToList(); foreach (var key in Keys) { var errors = ModelState[key].Errors.ToList(); //将错误描述添加到sb中 foreach (var error in errors) { sb.Add(error.ErrorMessage); } } return(Json(new { isOk = false, error = sb, title = "错误提示", message = "参数错误,传递了不符合规定的参数" })); } }
/// <summary> /// 完成日志记录 /// </summary> /// <param name="item"></param> /// <returns></returns> public IActionResult Create([Bind(include: "ModuleId,Content,Answer,Count,A,B,C,D,E,F")] MultipleChoices item) { if (ModelState.IsValid) { if (!_analysis.GetLoginUserConfig(HttpContext).Power.QuestionBankManager) { return(Json(new { isOk = false, title = "错误提示", message = "你并无题库管理操作权限" })); } #region 功能实现区域 LoginUserModel user = _analysis.GetLoginUserModel(HttpContext); String Key = _encryption.EncodeByMd5(item.Content.Trim()); if (_context.MultipleChoices.Any(s => s.Key == Key && s.ModuleId == item.ModuleId)) { return(Json(new { isOk = false, title = "错误提示", message = "你的题目已经存在! 重复题目无法加入" })); } item.Content = item.Content.Trim(); item.AddTime = DateTime.Now; item.Key = Key; Char[] answer = item.Answer.ToUpper().Trim().ToCharArray(); Array.Sort(answer); item.Answer = String.Join("", answer); //答案全部大写 item.A = item.A.Trim(); item.B = item.B.Trim(); item.C = item.C?.Trim(); item.D = item.D?.Trim(); item.E = item.E?.Trim(); item.F = item.F?.Trim(); item.Count = item.Count; item.PrincipalId = user.UserId; item.DegreeOfDifficulty = 1; LogPricipalOperation log = _logger.GetDefaultLogPricipalOperation(PrincpalOperationCode.MultipleAdd, $"查询编码:{item.MultipleId}", $"添加多选题:{item.Content}!"); log.PrincpalOperationStatus = PrincpalOperationStatus.Success; _context.LogPricipalOperations.Add(log); _context.MultipleChoices.Add(item); _context.SaveChanges(); return(Json(new { isOk = true, title = "消息提示", message = "添加成功!" })); #endregion } else { List <string> sb = new List <string>(); List <string> Keys = ModelState.Keys.ToList(); foreach (var key in Keys) { var errors = ModelState[key].Errors.ToList(); //将错误描述添加到sb中 foreach (var error in errors) { sb.Add(error.ErrorMessage); } } return(Json(new { isOk = false, error = sb, title = "错误提示", message = "参数错误,传递了不符合规定的参数" })); } }