示例#1
0
        public async Task <IActionResult> Profile(AccountProfileVM viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            //Updater vår userProfile
            var myUser = await userManager.GetUserAsync(HttpContext.User);

            User user = mysticoContext.GetUserByAspUserId(myUser.Id);

            try
            {
                mysticoContext.UpdateUserProfile(viewModel, user);

                var resultUserName = await userManager.SetUserNameAsync(myUser, viewModel.Email);

                var resultEmail = await userManager.SetEmailAsync(myUser, viewModel.Email);

                await userManager.UpdateNormalizedUserNameAsync(myUser);

                await userManager.UpdateNormalizedEmailAsync(myUser);

                if (viewModel.Password != null)
                {
                    var resultPassWord = await userManager.ChangePasswordAsync(myUser, viewModel.CurrentPassword, viewModel.Password);
                }

                viewModel.Message = "Du har uppdaterat din profil";
            }
            catch
            {
                viewModel.Message = "Knas!";
            }
            finally
            {
                viewModel.Password        = "";
                viewModel.CurrentPassword = "";
                viewModel.PasswordCheck   = "";
            }
            return(View(viewModel));
        }