public async Task <IActionResult> DeletePersonalData(DeletePersonalData model) { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } if (!await _userManager.CheckPasswordAsync(user, model.Password)) { ModelState.AddModelError(string.Empty, "Password not correct."); return(View()); } var result = await _userManager.DeleteAsync(user); var userId = await _userManager.GetUserIdAsync(user); if (!result.Succeeded) { throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'."); } await _signInManager.SignOutAsync(); return(Redirect("~/")); }
public async Task <IActionResult> DeletePersonalData() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } RequirePassword = await _userManager.HasPasswordAsync(user); var model = new DeletePersonalData(); return(View(model)); }
public async Task <IActionResult> DeletePersonalData(DeletePersonalData model) { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } //inainte de stergerea contului, user-ul trebuie sa introduca parola contului RequirePassword = await _userManager.HasPasswordAsync(user); if (RequirePassword) { if (!await _userManager.CheckPasswordAsync(user, model.Password)) { ModelState.AddModelError(string.Empty, "Parolă incorectă."); return(View(model)); } } var result = await _userManager.DeleteAsync(user); //stergere cont var userId = await _userManager.GetUserIdAsync(user); if (!result.Succeeded) { throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'."); } await _signInManager.SignOutAsync(); //iesirea de pe platforma _logger.LogInformation("User with ID '{UserId}' deleted themselves.", userId); return(Redirect("~/")); }