public async Task <IActionResult> ConfirmPhoneNumber([Bind(include: "Token")] UserManageVM model) { var currentUserId = User.Claims.ElementAt(0).Value; var result = await _userService.ConfirmPhoneNumberAsync(model.Token, currentUserId); if (result.Succeeded) { return(RedirectToAction("Index", "Message", new { Message = IdMessage.ConfirmedPhoneNumberSucces })); } return(RedirectToAction("Index", "Message", new { Message = IdMessage.ConfirmedPhoneNumberError })); }
public async Task <IActionResult> Delete([Bind(include: "Email")] UserManageVM model) { var currentUserId = User.Claims.ElementAt(0).Value; var result = await _userService.DeleteUserAsync(model.Email, currentUserId); if (result.Succeeded) { _logger.LogInformation("User with email: {0} delete account.", model.Email); return(RedirectToAction("Index", "Message", new { Message = IdMessage.AdminDeleteAccountSucces })); } _logger.LogError("User with email: {0} delete account errors: {1}", model.Email, result.Errors); return(View(model)); }
public async Task <IActionResult> ChangePassword([Bind(include: "OldPassword, NewPassword, ConfirmNewPassword ")] UserManageVM model) { if (ModelState.IsValid) { var currentUserId = User.Claims.ElementAt(0).Value; var result = await _userService.ChangePasswordAsync(model, currentUserId); if (result.Succeeded) { return(RedirectToAction("Index", "Message", new { Message = IdMessage.ChangePasswordSucces })); } result.Errors.ToList().ForEach(e => ModelState.AddModelError("ChangePassword", e.Description)); } return(View("Index", model)); }
public async Task <IActionResult> AddPhoneNumber([Bind(include: "PhoneNumber")] UserManageVM model) { if (model.PhoneNumber != null) { var currentUserId = User.Claims.ElementAt(0).Value; var result = await _userService.AddPhoneNumberAsync(model.PhoneNumber, currentUserId); if (result.Succeeded) { var code = await _userService.GenerateConfirmedPhoneNumberCodeAsync(model.PhoneNumber, currentUserId); var smsResult = await _smsService.SendConfirmPhoneNumberSmsAsync(model.PhoneNumber, code); if (smsResult != null) { return(RedirectToAction("Index", "Message", new { Message = IdMessage.AddPhoneNumberSucces })); } _logger.LogError(string.Format("The confirmation SMS has not been sent to the user : {0}.", User.Identity.Name)); } } return(RedirectToAction("Index", "Message", new { Message = IdMessage.AddPhoneNumberError })); }
public async Task <IdentityResult> ChangePasswordAsync(UserManageVM model, string userId) { var user = await _userManager.FindByIdAsync(userId); return(await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword)); }