public async Task <ActionResult> ChangeData(AdminDataViewModel model) { if (ModelState.IsValid) { var adminData = await AspUserManager.FindByIdAsync(User.Identity.GetUserId()); adminData.FirstName = model.FirstName; adminData.LastName = model.LastName; adminData.Email = model.Email; adminData.UserName = model.Email; var result = await AspUserManager.UpdateAsync(adminData); if (result.Succeeded) { await SignInManager.SignInAsync(adminData, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Index", "Home", new { Message = Message.ChangeDataSuccess })); } else { return(RedirectToAction("Index", "Home", new { Message = Message.Error })); } } else { return(RedirectToAction("Index", "Home", new { Message = Message.Error })); } }
private async Task UpdateInternal(Usuario user) { CheckErrors(await UserManager.UpdateAsync(user)); //TODO: Un mecanismo desacoplado, se puede utilizar eventos de dominio. //Verificar si el usuario autentificado, se esta actualizado. //Si es el caso, se debe establecer el usuario en aplicacion. var userAutentificado = application.GetCurrentUser(); if (userAutentificado.Id == user.Id) { var moduloAutentificado = application.GetCurrentModule(); userAutentificado = MapTo(user, moduloAutentificado); application.SetCurrentUser(userAutentificado); } return; }