Exemple #1
0
        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();
            }
        }
Exemple #3
0
        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);
            }
        }