コード例 #1
0
        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)));
            }
        }
コード例 #2
0
        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)));
        }