public IActionResult Sys() { Dictionary <int, ExamOpenSetting> examOpenSettings = _config.LoadModuleExamOpenSetting(); List <Module> modules = _context.Modules.ToList(); foreach (var item in modules) { if (!examOpenSettings.TryGetValue(item.ModuleId, out var moduleExamOpenSetting)) { examOpenSettings.Add(item.ModuleId, new ExamOpenSetting { IsOpen = false, ModuleId = item.ModuleId, ModuleName = item.Name }); } } _config.ReWriteModuleExamOpenSetting(examOpenSettings); SystemSetting setting = _config.LoadSystemSetting(); setting.Staffs = setting.Staffs.OrderBy(s => s.Name).ToList(); //按照名称排序 ViewData["ModuleSetting"] = examOpenSettings; return(View(setting)); }
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; } }