public async Task <IActionResult> Edit(string id, [Bind("Id,ParentId,Name,Description")] OrganizationJson organization) { Logger.Trace($"[{nameof(Edit)}] 请求参数: id: {id}\r\n{JsonUtil.ToJson(organization)}"); // 0. 参数检查 if (id != organization.Id) { return(NotFound()); } try { // 1. 权限检查 if (!await RoleOrgPerManager.HasPermission(SignUser.Id, Constants.ORG_UPDATE, id)) { Logger.Warn($"[{nameof(Details)}] 权限不足 用户[{SignUser.SignName}]({SignUser.Id})没有权限({Constants.ORG_UPDATE})操作组织({id})"); ModelState.AddModelError("All", "权限不足"); return(RedirectToAction(nameof(Index))); } // 2. 业务处理 await OrganizationManager.Update(organization); return(RedirectToAction(nameof(Index))); } catch (Exception e) { Logger.Error($"[{nameof(Edit)}] 服务器错误:\r\n{e}"); ModelState.AddModelError("All", "保存失败"); return(RedirectToAction(nameof(Index))); } }
public async Task <IActionResult> Create(/*[Bind("Id,ParentId,Name,Description")]*/ OrganizationJson organization) { Logger.Trace($"[{nameof(Create)}] 用户[{SignUser.SignName}]({SignUser.Id})创建组织:\r\n{JsonUtil.ToJson(organization)}"); try { // 0. 参数检查 if (organization == null || organization.ParentId == null) { ModelState.AddModelError("All", "参数异常"); return(View()); } // 1. 权限检查 if (!await RoleOrgPerManager.HasPermission(SignUser.Id, Constants.ORG_CREATE, organization.ParentId)) { Logger.Warn($"[{nameof(Details)}] 权限不足 用户[{SignUser.SignName}]({SignUser.Id})没有权限({Constants.ORG_CREATE})操作组织({organization.ParentId})"); ModelState.AddModelError("All", "权限不足"); return(View(nameof(Index))); } // 2. 业务处理 // 检查是否存在循环(允许有向无环图的产生,而不仅仅是树形结构) await OrganizationManager.Create(organization); } catch (Exception e) { Logger.Error($"[{nameof(Create)}] 服务器发生错误:\r\n" + e); } return(RedirectToAction(nameof(Index))); }