public IActionResult Module([Required] int moduleId, [Required] String data) { if (ModelState.IsValid) { if (!_analysis.GetLoginUserConfig(HttpContext).Power.SystemSettingManager) { return(Json(new { isOk = false, title = "错误提示", message = "你并无系统设置操作权限" })); } Module module = _context.Modules.FirstOrDefault(m => m.ModuleId == moduleId); if (module == null) { return(Json(new { isOk = false, title = "错误提示!", message = "模块不存在或者已经被删除..." })); } else { try { ModuleExamSetting setting = JsonConvert.DeserializeObject <ModuleExamSetting>(data); setting.ModuleName = module.Name; int judgeCount = _context.JudgeChoices.Count(j => j.ModuleId == setting.ModuleId); int multiCount = _context.MultipleChoices.Count(m => m.ModuleId == setting.ModuleId); int singleCount = _context.SingleChoices.Count(s => s.ModuleId == setting.ModuleId); if (setting.Judge.Count > judgeCount) { return(Json(new { isOk = false, title = "提示!", message = "判断题出题个数大于了题库中判断题题目的个数!" })); } if (setting.Multiple.Count > multiCount) { return(Json(new { isOk = false, title = "提示!", message = "多选题出题个数大于了题库中多选题题目的个数!" })); } if (setting.Single.Count > singleCount) { return(Json(new { isOk = false, title = "提示!", message = "单选题出题个数大于了题库中单选题题目的个数!" })); } SystemSetting systemSetting = _config.LoadSystemSetting(); systemSetting.ExamModuleSettings[setting.ModuleId] = setting; _config.ReWriteSystemSetting(systemSetting); return(Json(new { isOk = true, title = "提示!", message = "更新成功!" })); } catch (Exception e) { Console.WriteLine(e); throw; } } } else { return(Json(new { isOk = false, title = "错误提示", message = "参数错误,输入了非法参数" })); } }
public async Task <IActionResult> Create([Required] String name) { try { if (ModelState.IsValid) { if (!_analysis.GetLoginUserConfig(HttpContext).Power.SystemInfoManager) { return(Json(new { isOk = false, error = "你并无信息管理操作权限" })); } LogPricipalOperation operation = _logger.GetDefaultLogPricipalOperation(PrincpalOperationCode.AddModule, $"添加模块 模块名称{name.Trim()}", $"添加新的的模块:{name.Trim()}"); if (_context.Modules.FirstOrDefault(m => m.Name.Equals(name)) == null) { operation.PrincpalOperationStatus = PrincpalOperationStatus.Success; Module module = new Module { AddTime = DateTime.Now, Name = name.Trim(), PrincipalId = _analysis.GetLoginUserModel(HttpContext).UserId }; _context.LogPricipalOperations.Add(operation); _context.Modules.Add(module); await _context.SaveChangesAsync().ContinueWith(r => { /* 考试出题配置 */ SystemSetting setting = _config.LoadSystemSetting(); ModuleExamSetting mes = SystemSetting.GetDefault(); mes.ModuleId = module.ModuleId; mes.ModuleName = module.Name; setting.ExamModuleSettings.Add(module.ModuleId, mes); _config.ReWriteSystemSetting(setting); /* 考试开放配置 */ Dictionary <int, ExamOpenSetting> es = _config.LoadModuleExamOpenSetting(); ExamOpenSetting examSetting = new ExamOpenSetting(); examSetting.ModuleId = module.ModuleId; examSetting.IsOpen = false; examSetting.ModuleName = module.Name; es.Add(module.ModuleId, examSetting); _config.ReWriteModuleExamOpenSetting(es); }); return(Json(new { isOk = true })); } else { await _logger.LoggerAsync(operation); return(Json(new { isOk = false, error = "模块名重复,此模块已经存在" })); } } else { return(RedirectToAction("ParameterError", "Error")); } } catch (Exception e) { Console.WriteLine(e); throw; } }