public async Task <OperationResult> AddModules(ModuleInputDto inputDto) { ModuleRepository.UnitOfWork.BeginTransaction(); OperationResult result = await SecurityService.SecurityManager.CreateModule(inputDto); if (result.Successed) { Solution.Core.Models.Security.Module moduleData = SecurityService.SecurityManager.Modules.Where(x => x.Name.Equals(inputDto.Name)).FirstOrDefault(); List <Guid> functionIds = new List <Guid>(); foreach (var data in inputDto.FunctionModels) { functionIds.Add(data.Id); } result = await SecurityService.SecurityManager.SetModuleFunctions(moduleData.Id, functionIds.ToArray()); } ModuleRepository.UnitOfWork.Commit(); if (result.ResultType == OperationResultType.Error) { return(result); } else { return(new OperationResult(OperationResultType.Success, "添加成功!")); } }
public async Task <IActionResult> Create(ModuleInputDto dto) { Check.NotNull(dto, nameof(dto)); OperationResult result = await _securityManager.CreateModule(dto); return(Json(result.ToAjaxResult())); }
public async Task <IActionResult> Update(ModuleInputDto dto) { Check.NotNull(dto, nameof(dto)); if (dto.Id == 1) { return(Json(new AjaxResult("根节点不能编辑", AjaxResultType.Error))); } OperationResult result = await _securityManager.UpdateModule(dto); return(Json(result.ToAjaxResult())); }
public async Task <IHttpActionResult> Update(ModuleInputDto dto) { try { var result = await ModuleContract.EditModules(dto); return(Json(result)); } catch (Exception ex) { return(Json(new OperationResult(OperationResultType.Error, "修改模块失败!" + ex.ToString()))); } }
public async Task <OperationResult> EditModules(ModuleInputDto inputDto) { ModuleRepository.UnitOfWork.BeginTransaction(); var result = await SecurityService.SecurityManager.UpdateModule(inputDto); if (result.Successed || result.ResultType == OperationResultType.NoChanged) { List <Guid> functionIds = new List <Guid>(); foreach (var data in inputDto.FunctionModels) { functionIds.Add(data.Id); } result = await SecurityService.SecurityManager.SetModuleFunctions(inputDto.Id, functionIds.ToArray()); } ModuleRepository.UnitOfWork.Commit(); if (result.ResultType == OperationResultType.Error) { return(result); } else { return(new OperationResult(OperationResultType.Success, "编辑成功!")); } }
public async Task UpdateModule(ModuleInputDto input) { if (await db.Modules.AnyAsync(m => m.Name == input.Name && m.Id != input.ModuleId)) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "该模块名称已存在" })) }); } if (await db.Modules.AnyAsync(m => m.Key == input.Key && m.Id != input.ModuleId)) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "该模块Key已存在" })) }); } var module = await db.Modules.SingleOrDefaultAsync(m => m.Id == input.ModuleId); if (module != null) { if (input.Key != module.Key) { module.Key = input.Key; var menu = await db.Menus.Where(m => m.ModuleId == module.Id).ToListAsync(); foreach (var item in menu) { item.Key = module.Key; var element = await db.Elements.Where(m => m.MenuId == item.Id).ToListAsync(); foreach (var item1 in element) { item1.Key = module.Key; } } } module.Name = input.Name; module.DisplayOrder = input.DisplayOrder; } else { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = input.ModuleId + "不存在" })) }); } if (await db.SaveChangesAsync() <= 0) { throw new HttpResponseException(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(new ResponseApi() { Code = EExceptionType.Implement, Message = "更新失败" })) }); } }