예제 #1
0
        public IActionResult Delete([Required] String pId)
        {
            if (ModelState.IsValid)
            {
                PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext);
                if (!principalConfig.Power.SystemManager)
                {
                    if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super))
                    {
                        return(Json(new
                        {
                            isOk = false,
                            message = "你并无系统管理操作权限"
                        }));
                    }
                }
                Principal principal = _context.Principals.Find(pId);
                if (principal != null)
                {
                    _context.Remove(principal);
                    _context.SaveChanges();

                    String path = Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{pId}.json");
                    if (System.IO.File.Exists(path))
                    {
                        System.IO.File.Delete(path);
                    }

                    return(Json(new
                    {
                        isOk = true,
                        message = "删除成功! "
                    }));
                }
                else
                {
                    return(Json(new
                    {
                        isOk = true,
                        message = "管理员不存在或者已被删除! "
                    }));
                }
            }
            else
            {
                return(Json(new
                {
                    isOk = false,
                    message = $"参数错误!输入了不合规范的参数。 "
                }));
            }
        }
예제 #2
0
        /// <summary>
        /// 完成日志记录
        /// </summary>
        /// <param name="moduleId"></param>
        /// <returns></returns>
        public IActionResult Delete([Required] int moduleId)
        {
            if (ModelState.IsValid)
            {
                if (!_analysis.GetLoginUserConfig(HttpContext).Power.SystemInfoManager)
                {
                    return(Json(new
                    {
                        isOk = false,
                        error = "你并无信息管理操作权限"
                    }));
                }

                if (_context.Cources.Any(cor => cor.ModuleId == moduleId))
                {
                    return(Json(new
                    {
                        isOk = false,
                        Error = "此模块下具有课程信息! 请先删除此模块下辖的所有课程后再来删除模块!"
                    }));
                }

                if (_context.MultipleChoices.Any(mul => mul.ModuleId == moduleId))
                {
                    return(Json(new
                    {
                        isOk = false,
                        Error = "此模块下具有多选题信息! 请先删除此模块下辖的所有多选题后再来删除模块!"
                    }));
                }

                if (_context.MultipleChoices.Any(mul => mul.ModuleId == moduleId))
                {
                    return(Json(new
                    {
                        isOk = false,
                        Error = "此模块下具有多选题信息! 请先删除此模块下辖的所有多选题后再来删除模块!"
                    }));
                }

                if (_context.SingleChoices.Any(sig => sig.ModuleId == moduleId))
                {
                    return(Json(new
                    {
                        isOk = false,
                        Error = "此模块下具有单选题信息! 请先删除此模块下辖的所有单选题后再来删除模块!"
                    }));
                }

                if (_context.JudgeChoices.Any(jud => jud.ModuleId == moduleId))
                {
                    return(Json(new
                    {
                        isOk = false,
                        Error = "此模块下具有判断题信息! 请先删除此模块下辖的所有判断题后再来删除模块!"
                    }));
                }

                //判断是否具有学院属于它
                if (!_context.InstituteToModules.Any(im => im.ModuleId == moduleId))
                {
                    Module module = _context.Modules.FirstOrDefault(m => m.ModuleId == moduleId);
                    if (module != null)
                    {
                        /* 重写考试配置 */
                        SystemSetting setting = _config.LoadSystemSetting();
                        setting.ExamModuleSettings.Remove(moduleId);
                        _config.ReWriteSystemSetting(setting);

                        /* 重写开发配置*/
                        Dictionary <int, ExamOpenSetting> es = _config.LoadModuleExamOpenSetting();
                        es.Remove(module.ModuleId);
                        _config.ReWriteModuleExamOpenSetting(es);


                        _context.Remove(module); //删除这个模块
                        LogPricipalOperation log =
                            _logger.GetDefaultLogPricipalOperation(
                                PrincpalOperationCode.ModuleDelete,
                                $"查询编码:{moduleId} ",
                                $"删除模块:{module.Name}");

                        log.PrincpalOperationStatus = PrincpalOperationStatus.Success;
                        _context.LogPricipalOperations.Add(log);

                        _context.SaveChanges();
                        return(Json(new
                        {
                            isOk = true
                        }));
                    }
                    else
                    {
                        return(Json(new
                        {
                            isOk = false,
                            Error = "没有这个模块"
                        }));
                    }
                }
                else
                {
                    return(Json(new
                    {
                        isOk = false,
                        Error = "此模块下具有学院信息! 请先删除此模块下辖的所有学院后再来删除模块!"
                    }));
                }
            }
            else
            {
                return(Json(new
                {
                    isOk = false,
                    error = "参数错误"
                }));
            }
        }