コード例 #1
0
        public async Task <IActionResult> Create(string id)
        {
            Logger.Trace($"[{nameof(Create)}] 用户[{SignUser.SignName}]({SignUser.Id})在组织({id})下创建组织, 跳转到创建界面, 请求参数: 组织ID({id})");
            try
            {
                // 1. 权限检查
                if (!await RoleOrgPerManager.HasPermission(SignUser.Id, Constants.ORG_CREATE, id))
                {
                    Logger.Warn($"[{nameof(Details)}] 权限不足 用户[{SignUser.SignName}]({SignUser.Id})没有权限({Constants.ORG_CREATE})操作组织({id})");
                    ModelState.AddModelError("All", "权限不足");
                    return(View(nameof(Index)));
                }
                // 2. 业务处理
                var organizations = await OrganizationManager.Find().ToListAsync();

                Logger.Trace($"[{nameof(Index)}] 响应数据:\r\n{JsonUtil.ToJson(organizations)}");
                if (id != null)
                {
                    organizations = organizations.Where(org => org.Id == id).ToList();
                }
                ViewData["OrgId"] = new SelectList(organizations, nameof(Organization.Id), nameof(Organization.Name), id);
                return(View());
            }
            catch (Exception e)
            {
                Logger.Error($"[{nameof(Create)}] 用户[{SignUser.SignName}]({SignUser.Id})在组织({id})下创建组织, 失败, 服务器错误:\r\n" + e);
                ModelState.AddModelError("All", "页面跳转失败");
                return(RedirectToAction(nameof(Index)));
            }
        }