/// <summary> /// 添加角色。 /// </summary> /// <param name="role">角色实例。</param> /// <returns>返回添加结果。</returns> public virtual IdentityResult Create(TRole role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } role.RoleLevel = GetMaxRoleLevel(role) + 1;//获取当前角色等级 // ReSharper disable once SuspiciousTypeConversion.Global if (role is IRoleEventHandler <TRole> handler) { if (RoleContext.BeginTransaction(db => { if (!db.Create(role)) { return(false); } if (!handler.OnCreated(db)) { return(false); } return(true); })) { return(IdentityResult.Success); } } else if (RoleContext.Create(role)) { return(IdentityResult.Success); } return(IdentityResult.Failed(ErrorDescriber.DefaultError())); }
/// <summary> /// 添加角色。 /// </summary> /// <param name="role">角色实例。</param> /// <returns>返回添加结果。</returns> public virtual IdentityResult Create(TRole role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } role.RoleLevel = GetMaxRoleLevel(role) + 1;//获取当前角色等级 if (RoleContext.Create(role)) { return(IdentityResult.Success); } return(IdentityResult.Failed(ErrorDescriber.DefaultError())); }