internal Seq <IDomainEvent> ChangeRole(UserRole newRole) { var @event = new UserRoleChanged(Account.Id, Id, RoleId, newRole.Id, newRole.Name); RoleId = newRole.Id; return(new() { @event }); }
public void Handle(UserRoleChanged @event) { using (var context = new ProjectionContext(ConnectionString.Get())) { var entity = context.Users.Find(@event.AggregateId); if (entity == null) { throw new EntityNotFoundException(@event.AggregateId, "Utilisateur"); } entity.Role = @event.Role; context.SaveChanges(); } }
void OnUserRoleRequestOperationCompleted(IAsyncOperation <UserRole> asyncOperation) { m_CurrentUserRoleOperation = null; var previousUserRole = CurrentUserRole; CurrentUserRole = UserRole.Unknown; SetAuthorizationErrorFlag(asyncOperation.Exception); if (asyncOperation.Status == AsyncOperationStatus.Succeeded) { CurrentUserRole = asyncOperation.Result; } UserRoleRequestCompleted?.Invoke(CurrentUserRole); if (previousUserRole != CurrentUserRole) { UserRoleChanged?.Invoke(CurrentUserRole); } }