Ejemplo n.º 1
0
        private static async Task EnsureRolesAdminUser <TContext>(TContext dbContext, IUserManager userManager, User user)
            where TContext : DbContext
        {
            var userRoleDbSet = dbContext.Set <UserRole>();

            if (!await userRoleDbSet.AnyAsync())
            {
                await userManager.AddToRoles(user, new List <string> {
                    AdminRole
                });
            }
        }
        public async Task <Unit> Handle(CreateNewUserCommand request, CancellationToken cancellationToken)
        {
            var user = new User(request.Id, request.Name, request.Email, request.UserName);

            var createUserIdentityResult = await _userManager.CreateUser(user, request.Password);

            foreach (var erro in createUserIdentityResult?.Errors)
            {
                await Notify(erro.Code, erro.Description);
            }

            if (IsValid())
            {
                var addToRolesIdentityResult = await _userManager.AddToRoles(user, request.Roles);

                foreach (var erro in addToRolesIdentityResult?.Errors)
                {
                    await Notify(erro.Code, erro.Description);
                }
            }

            return(Unit.Value);
        }
Ejemplo n.º 3
0
        public async Task <Unit> Handle(RegisterUserCommand request, CancellationToken cancellationToken)
        {
            var user = new ApplicationUser(request.Id, request.Name, request.Email.Address, request.Login.Value);

            var createUserIdentityResult = await _userManager.CreateUser(user, request.Password.Value);

            if (createUserIdentityResult.Succeeded)
            {
                var addToRolesIdentityResult = await _userManager.AddToRoles(user, DefaultRolesGroups.USER);

                foreach (var erro in addToRolesIdentityResult?.Errors)
                {
                    await Notify(erro.Code, erro.Description);
                }
            }

            foreach (var erro in createUserIdentityResult?.Errors)
            {
                await Notify(erro.Code, erro.Description);
            }

            return(Unit.Value);
        }
Ejemplo n.º 4
0
        protected override async Task <Unit> Process(UpdateUserCommand request, CancellationToken cancellationToken)
        {
            var applicationUser = await _userManager.GetById(request.Id);

            if (applicationUser == null)
            {
                await _notifiable.Notify("usuario", "Usuário não existe!");

                return(Unit.Value);
            }

            applicationUser.Name  = request.Name;
            applicationUser.Email = request.Email;

            var updateResult = await _userManager.Update(applicationUser);

            if (updateResult.Succeeded)
            {
                var roles = await _userManager.GetRoles(applicationUser);

                await _userManager.RemoveRoles(applicationUser, roles);

                var addRoles = await _userManager.AddToRoles(applicationUser, request.Roles);

                foreach (var erro in addRoles.Errors)
                {
                    await _notifiable.Notify(erro.Code, erro.Description);
                }
            }

            foreach (var erro in updateResult.Errors)
            {
                await _notifiable.Notify(erro.Code, erro.Description);
            }

            return(Unit.Value);
        }