public async Task <IActionResult> Modifier([FromRoute] string Id, string editBtn, Person person) { if (!ModelState.IsValid) { return(View(User)); } // Récupération de l'utilisateur var OriginalUser = await _userManager.FindByIdAsync(person.Id); // Mise à jour de l'utilisateur OriginalUser.Address = person.Address; OriginalUser.ZIPCode = person.ZIPCode; OriginalUser.Email = person.Email; OriginalUser.Surname = person.Surname; OriginalUser.PhoneNumber = person.PhoneNumber; OriginalUser.Name = person.Name; OriginalUser.Town = person.Town; OriginalUser.Status = person.Status; OriginalUser.Civility = person.Civility; var result = await _userManager.UpdateAsync(OriginalUser); if (!result.Succeeded) { // Retour des erreurs foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(View(User)); } if (editBtn == "edit_resend") { // Génération du token pour la génération du mot de passe var Token = await _userManager.GeneratePasswordResetTokenAsync(OriginalUser); // Envoi du mail pour la création du compte var callbackUrl = Url.Action("ResetPassword", "Login", new { area = "", userId = OriginalUser.Id, code = Token }, Request.Scheme); await _emailSender.SendEmailAsync(OriginalUser.Email, "Veuillez définir votre mot de passe", $"Veuillez définir votre mot de passe <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>En cliquant ici</a>."); } return(RedirectToAction(nameof(Index))); }