/// <summary>Update a user</summary> /// <param name="user">用户实体</param> /// <returns>更新成功返回</returns> public Task <IdentityResult> UpdateAsync(TUser user, CancellationToken cancellationToken) { if (user == null) { throw new ArgumentNullException("user"); } return(RunTask(() => _objectStorage.Update(user), "更新用户失败")); }
/// <summary>异步更新一个角色</summary> /// <param name="role"></param> /// <returns>更新任务</returns> public Task <IdentityResult> UpdateAsync(TRole role, CancellationToken cancellationToken) { if (role == null) { throw new ArgumentNullException("role"); } return(RunTask(() => { _objectStorage.Update(role); var roleId = role.Id; var userRoles = _objectStorage.FindByQuery <UserRole, ObjectId>(p => p.RoleId == roleId, p => p.Id, true); if (userRoles != null && userRoles.Count > 0) { userRoles.ForEach(p => { p.RoleName = role.Name; _objectStorage.Update(p); }); } }, "更新角色")); }
/// <summary> /// 更新 /// </summary> /// <param name="entity">更新对象</param> /// <returns>更新成功后,返回更新后的对象</returns> /// <exception cref="AccessException">不允许更新时抛出此异常</exception> public virtual TEntity Update(TEntity entity) { if (CheckAccess(OnCanUpdate)) { OnUpdating(new ActionEventArgs <TEntity>(entity)); Invoke(() => { _context.Update(entity); }); OnUpdated(new ActionEventArgs <TEntity>(entity)); return(entity); } throw new AccessException("CanUpdate"); }