public async Task <IActionResult> Create(CreateModel model) { if (ModelState.IsValid) { MideUser user = new MideUser { UserName = model.Name, Email = model.Email }; IdentityResult result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(RedirectToAction("Index")); } else { foreach (IdentityError error in result.Errors) { ModelState.AddModelError("", error.Description); } } } return(View(model)); }
public async Task <IActionResult> Edit(string id) { MideUser user = await userManager.FindByIdAsync(id); if (user != null) { return(View(user)); } else { return(RedirectToAction("Index")); } }
public async Task <IActionResult> UserProps([Required] Cities city, [Required] QualificationLevels qualification) { if (ModelState.IsValid) { MideUser user = await CurrentUser; user.City = city; user.Qualification = qualification; await userManager.UpdateAsync(user); return(RedirectToAction("Index")); } return(View(await CurrentUser)); }
public async Task <IActionResult> Edit(string id, string email, string password) { MideUser user = await userManager.FindByIdAsync(id); if (user != null) { user.Email = email; IdentityResult validEmail = await userValidator.ValidateAsync(userManager, user); if (!validEmail.Succeeded) { AddErrorsFromResult(validEmail); } IdentityResult validPass = null; if (!string.IsNullOrEmpty(password)) { validPass = await passwordValidator.ValidateAsync(userManager, user, password); if (validPass.Succeeded) { user.PasswordHash = passwordHasher.HashPassword(user, password); } else { AddErrorsFromResult(validPass); } } if ((validEmail.Succeeded && validPass == null) || (validEmail.Succeeded && password != string.Empty && validPass.Succeeded)) { IdentityResult result = await userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("Index")); } else { AddErrorsFromResult(result); } } } else { ModelState.AddModelError("", "User Not Found"); } return(View(user)); }
public async Task <IActionResult> Edit(RoleModificationModel model) { IdentityResult result; if (ModelState.IsValid) { foreach (string userId in model.IdsToAdd ?? new string[] { }) { MideUser user = await userManager.FindByIdAsync(userId); if (user != null) { result = await userManager.AddToRoleAsync(user, model.RoleName); if (!result.Succeeded) { AddErrorsFromResult(result); } } } foreach (string userId in model.IdsToDelete ?? new string[] { }) { MideUser user = await userManager.FindByIdAsync(userId); if (user != null) { result = await userManager.RemoveFromRoleAsync(user, model.RoleName); if (!result.Succeeded) { AddErrorsFromResult(result); } } } } if (ModelState.IsValid) { return(RedirectToAction(nameof(Index))); } else { return(await Edit(model.RoleId)); } }
public async Task <IActionResult> Login(LoginModel model, string returnUrl) { if (ModelState.IsValid) { MideUser user = await userManager.FindByEmailAsync(model.Email); if (user != null) { await signInManager.SignOutAsync(); Microsoft.AspNetCore.Identity.SignInResult result = await signInManager.PasswordSignInAsync(user, model.Password, false, false); if (result.Succeeded) { return(Redirect(returnUrl ?? "/")); } } ModelState.AddModelError(nameof(LoginModel.Email), "Invalid User or Password"); } return(View(model)); }
public async Task <IActionResult> Delete(string id) { MideUser user = await userManager.FindByIdAsync(id);// FindByIdAsync(id); if (user != null) { IdentityResult result = await userManager.DeleteAsync(user); if (result.Succeeded) { return(RedirectToAction("Index")); } else { AddErrorsFromResult(result); } } else { ModelState.AddModelError("", "User Not Found"); } return(View("Index", userManager.Users)); }