public async Task <LoginRegisterResponse> Handle(RegisterCommand request, CancellationToken cancellationToken) { if (_userManager.Users.Any(x => x.UserName == request.StudentNo)) { return(UserAlreadyExists()); } if (_userManager.Users.Any(x => x.Email == request.EmailAddress)) { return(EmailAlreadyExists()); } var user = CreateUserModel(request); await _userManager.CreateAsync(user, request.Password); return(await SuccessWithJwtToken(user)); }
public async Task <Response> Handle(CreateTeacherCommand request, CancellationToken cancellationToken) { var res = await _userManager.CreateAsync(new User { TeacherCode = request.TeacherCode, UserName = request.TeacherCode, }); return(res.Succeeded ? Response.Success() : Response.Failed()); }
public async Task ShouldSaveAdditonalPremissionsDbTouched() { //act _user.AdditionalPermissions.Add(new Premission() { }); //assert Assert.AreEqual(_user.AdditionalPermissions.Count, 1); await _userManager.CreateAsync(_user); var createdUser = await _userManager.FindByNameAsync(_user.UserName); Assert.AreEqual(createdUser.AdditionalPermissions.Count, 1); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { var user = new ApplicationUserDto { UserName = Input.Username, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public async Task <IActionResult> Create(UserCreateDTO userCreate) { if (ModelState.IsValid) { AppUser user = new AppUser { Address = userCreate.Address, Email = userCreate.Email, PostalCode = userCreate.PostalCode, UserName = userCreate.Username, FirstName = userCreate.FirstName, PhoneNumber = userCreate.PhoneNumber, EmailConfirmed = true, LastName = userCreate.LastName, }; if (userCreate.ImageFile != null) { user.ImageName = await _fileWorker.AddFileToPathAsync(userCreate.ImageFile, "img"); } var result = await _userManager.CreateAsync(user, userCreate.Password); if (result.Succeeded) { string[] roles = userCreate.UserRoles.Split(','); if (roles.Any()) { await _userManager.AddToRolesAsync(user, roles); } return(LocalRedirect("/admin/usersmanager")); } foreach (var item in result.Errors) { ModelState.AddModelError(item.Code, item.Description); } } await SetRoles(); return(View(userCreate)); }
private User CreateGeuestUserAndAddCookieToRequest() { var user = new User() { CreateDateTime = DateTime.Now, UpdateDateTime = DateTime.Now, Id = Guid.NewGuid(), UserName = Guid.NewGuid().ToString().Replace("-", ""), }; var res = AsyncHelper.RunSync(() => _userManager.CreateAsync(user)); if (!res.Succeeded) { throw new InvalidOperationException(string.Join(",", res.Errors)); } AsyncHelper.RunSync(() => _userManager.AddToRoleAsync(user.Id, PreDefRoles.Guest)); HttpContext.Current.Request.Cookies.Add(new HttpCookie(_guestUserCookieName) { Value = user.Id.ToString(), Expires = DateTime.Now.AddYears(1) }); return(user); }
public async Task CreateAsync(AdminCreateUserDto model) { model.CheckArgumentIsNull(nameof(model)); var user = await _userManager.FindByNameAsync(model.UserName); if (user != null) { throw new UserNameExistException(); } user = await _factory.MakeAsync(model); var result = await _userManager.CreateAsync(user, model.Password); if (result == IdentityResult.Failed()) { var msg = $"User Registration failed : {result.DumpErrors()}"; throw new UserRegistrationException(message: msg); } await _userManager.AddClaimAsync(user, new Claim( "WebsiteId", _websiteInfo.Id.ToString() )); }
public async Task <(User, IdentityResult)> CreateAdminUserAsync() { var adminUser = await _userManager.FindByNameAsync(AdminUserSeedInfo.Username); if (adminUser != null) { _logger.LogInformation($"{AdminUserSeedInfo.Username} already existed."); return(adminUser, IdentityResult.Success ); } var adminRole = await _roleManager.FindByNameAsync(AdminUserSeedInfo.RoleName); if (adminRole != null) { _logger.LogInformation($"{AdminUserSeedInfo.RoleName} role already existed."); } else { adminRole = new Role(AdminUserSeedInfo.RoleName); var roleResult = await _roleManager.CreateAsync(adminRole); if (roleResult == IdentityResult.Failed()) { _logger.LogError($"'{adminRole.Name}' role creating has failed. {roleResult.DumpErrors()}"); return(null, IdentityResult.Failed() ); } } adminUser = new User { UserName = AdminUserSeedInfo.Username, Email = AdminUserSeedInfo.Email, EmailConfirmed = true, RegisterDate = _dateSvc.UtcNow(), Title = AdminUserSeedInfo.Title, LockoutEnabled = true, Status = UserStatus.Enabled }; var result = await _userManager.CreateAsync(adminUser, AdminUserSeedInfo.Password); if (result == IdentityResult.Failed()) { _logger.LogError($"'{AdminUserSeedInfo.Username}; user creation has failed. {result.DumpErrors()}"); return(null, IdentityResult.Failed() ); } var setLockoutResult = await _userManager.SetLockoutEnabledAsync(adminUser, enabled : false); if (setLockoutResult == IdentityResult.Failed()) { _logger.LogError($"'{AdminUserSeedInfo.Username}' setLockout on user has failed. {setLockoutResult.DumpErrors()}"); return(null, IdentityResult.Failed() ); } var addRoleResult = await _userManager.AddToRoleAsync(adminUser, AdminUserSeedInfo.RoleName); if (addRoleResult == IdentityResult.Failed()) { _logger.LogError($"Adding user:'******' to role:'{AdminUserSeedInfo.RoleName}' has failed. {addRoleResult.DumpErrors()}"); return(null, IdentityResult.Failed() ); } return( adminUser, IdentityResult.Success ); }
async Task IUserStore <User, string> .CreateAsync(User user) { await um.CreateAsync(user); }