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); }
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); } }