public async Task <IActionResult> DisplayClaim() { var claimVm = new ClaimVm { Email = "" }; try { var list = userManager.Users.ToList(); ViewBag.Userlist = new SelectList(list, "UserName", "UserName"); var allClaims = ClaimStore.GetClaims; var user = await userManager.FindByEmailAsync(claimVm.Email); if (user == null) { foreach (var c in allClaims) { UserClaims userClaims = new UserClaims { ClaimType = c.Type, Isselected = false }; claimVm.UserClaims.Add(userClaims); } } else { var existingClaim = await userManager.GetClaimsAsync(user); foreach (var c in allClaims) { UserClaims userClaims = new UserClaims { ClaimType = c.Type, }; if (existingClaim.Any(a => a.Type == c.Type)) { userClaims.Isselected = true; } claimVm.UserClaims.Add(userClaims); } } } catch (Exception ex) { ViewBag.Result = ex.Message; } return(View(claimVm)); }
public async Task <IActionResult> DisplayClaim(ClaimVm vm, string Userlist) { var user = await userManager.FindByEmailAsync(Userlist); var existingClaim = await userManager.GetClaimsAsync(user); foreach (var c in existingClaim) { await userManager.RemoveClaimAsync(user, c); } foreach (var c in vm.UserClaims) { if (c.Isselected) { IdentityResult result = await userManager.AddClaimAsync(user, new System.Security.Claims.Claim(c.ClaimType, c.ClaimType)); if (result.Succeeded) { ViewBag.Result = "Selected claim on" + vm.Email + " successfully assigned"; } } } return(View(vm)); }