public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl ??= this.Url.Content("~/"); this.ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (!this.ModelState.IsValid) { return(Page()); } var roleList = new[] { "Admin", "Employee", "Driver" }; foreach (var roleName in roleList) { var roleExist = await _roleManager.RoleExistsAsync(roleName); if (!roleExist) { await _roleManager.CreateAsync(new IdentityRole(roleName)); } } var claimsToAdd = new List <Claim> { new Claim(ClaimTypes.GivenName, this.Input.Name), new Claim(ClaimTypes.Surname, this.Input.LastName) }; var user = new SVSUser { UserName = this.Input.Username, Email = this.Input.Email, PhoneNumber = this.Input.PhoneNumber }; var result = await _userManager.CreateAsync(user, this.Input.Password); if (result.Succeeded) { await _userManager.AddClaimsAsync(user, claimsToAdd); if (this.Input.Username == "Admin") { await _userManager.AddToRoleAsync(user, "Admin"); } else { await _userManager.AddToRoleAsync(user, this.Input.Role); } return(RedirectToPage("./Added", new { User = user.UserName })); } foreach (var error in result.Errors) { this.ModelState.AddModelError(string.Empty, error.Description); } return(Page()); }
private async Task LoadAsync(SVSUser user) { var email = await _userManager.GetEmailAsync(user); this.Email = email; this.Input = new InputModel { NewEmail = email }; this.IsEmailConfirmed = await _userManager.IsEmailConfirmedAsync(user); }
public string GetName(SVSUser user) { return(_userManager.GetClaimsAsync(user). Result.Where(x => x.Type == ClaimTypes.GivenName). Select(x => x.Value). Single() + " " + _userManager.GetClaimsAsync(user). Result.Where(x => x.Type == ClaimTypes.Surname). Select(x => x.Value). Single()); }
private async Task LoadAsync(SVSUser user) { var userName = await _userManager.GetUserNameAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); var email = await _userManager.GetEmailAsync(user); var roles = await _userManager.GetRolesAsync(user); var claims = await _userManager.GetClaimsAsync(user); this.Username = userName; this.FirstName = claims.First(x => x.Type == ClaimTypes.GivenName).Value; this.LastName = claims.First(x => x.Type == ClaimTypes.Surname).Value; this.PhoneNumber = phoneNumber; this.Email = email; this.Role = roles.FirstOrDefault(); }
public string GetRole(SVSUser user) { return(_userManager.GetRolesAsync(user).Result.First()); }