// GET: Manage public async Task <ActionResult> Index(ManageMessageId?message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Ваш пароль был изменен." : message == ManageMessageId.SetPasswordSuccess ? "Ваш пароль был установлен." : message == ManageMessageId.SetTwoFactorSuccess ? "Вы прошли двухфакторную авторизацию." : message == ManageMessageId.Error ? "Произошла ошибка." : message == ManageMessageId.AddPhoneSuccess ? "Ваш номнр телефона добавлен." : message == ManageMessageId.RemovePhoneSuccess ? "Ваш номер телефона удален." : ""; var user = await _userManager.FindByIdAsync(User.Identity.GetUserId()); var model = new IndexManageViewModel() { AccountImage = user.AccountImage, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, HasPassword = HasPassword(), PhoneNumber = await _userManager.GetPhoneNumberAsync(user.Id), TwoFactor = await _userManager.GetTwoFactorEnabledAsync(user.Id), Logins = await _userManager.GetLoginsAsync(user.Id), BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(user.Id) }; return(View(model)); }
public async Task <ActionResult> ChangePassword(IndexManageViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("ChangePassword")); } Mapper.Initialize(cfg => cfg.CreateMap <IndexManageViewModel, ClientViewModelBLL>() .ForMember("Id", opt => opt.MapFrom(c => User.Identity.GetUserId <int>())) .ForMember("UserName", opt => opt.MapFrom(c => c.OldPassword)) .ForMember("Password", opt => opt.MapFrom(c => c.NewPassword)) ); ClientViewModelBLL client = Mapper.Map <IndexManageViewModel, ClientViewModelBLL>(model); var result = await _userService.ChangePassword(client); if (result.Succeeded) { return(RedirectToAction("Index", "Home", new { Message = ManageMessageId.ChangePasswordSuccess })); } AddErrors(result); return(RedirectToAction("ChangePassword")); }