示例#1
0
            public async Task <Unit> Handle(Command request, CancellationToken cancellationToken)
            {
                var person = new Person(Guid.NewGuid(), request);

                foreach (Guid sectionId in request.StakeholderGroupIds)
                {
                    person.StakeholderGroups.Add(new PersonSection(null, person.Id, sectionId));
                }

                var user = new User
                {
                    Email     = request.Email,
                    UserName  = request.UserName,
                    Person    = person,
                    CreatedAt = _dateTimeProvider.GetUtcNow()
                };

                IdentityResult result = await _userManager.CreateAsync(user, request.Password);

                if (result.Succeeded)
                {
                    return(Unit.Value);
                }

                throw new IdentityException("Problem creating user", result.Errors);
            }
示例#2
0
        private async Task SeedUsersAsync()
        {
            foreach (User user in UserSeedData.Users)
            {
                if ((await _arpaUserManager.FindByNameAsync(user.UserName)) is null)
                {
                    await _arpaUserManager.CreateAsync(user, UserSeedData.ValidPassword);
                }
            }

            User admin = await _arpaUserManager.FindByEmailAsync(UserSeedData.Admin.Email);

            if (!(await _arpaUserManager.IsInRoleAsync(admin, RoleNames.Admin)))
            {
                await _arpaUserManager.AddToRoleAsync(admin, RoleNames.Admin);
            }
        }