Esempio n. 1
0
        public async Task <ActionResult> UserProfile(EditUserAccountViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                List <string>     listError = new List <string>();
                EditUserViewModel editUser  = new EditUserViewModel
                {
                    Id    = viewModel.Id,
                    Email = viewModel.Email
                };
                var user = await UserManager.FindByIdAsync(editUser.Id);

                if (user == null)
                {
                    return(HttpNotFound());
                }

                var findWithEmail = await UserManager.FindByEmailAsync(viewModel.Email);

                if (findWithEmail != null && !findWithEmail.UserName.Equals(user.UserName))
                {
                    listError.Add("Email is exists");
                    return(RedirectToAction("UserProfile", "Account", new { errors = listError.First() }));
                }

                user.Email = editUser.Email;

                var userRoles = await UserManager.GetRolesAsync(user.Id);

                var result = await UserManager.UpdateAsync(user);

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", result.Errors.First());
                    return(RedirectToAction("UserProfile", "Account", new { errors = listError.First() }));
                }
                else //update userinfor
                {
                    UserInfo userInfo = new UserInfo
                    {
                        Company         = viewModel.Company,
                        CountExperience = viewModel.CountExperience,
                        CurrentJob      = viewModel.CurrentJob,
                        FullName        = viewModel.FullName,
                        TimeUnit        = viewModel.TimeUnit,
                        UserName        = user.UserName,
                        IsActive        = true,
                        Email           = user.Email
                    };
                    var resultUserInfo = await _userBus.Update(userInfo, new List <string>());
                }
                TempData["isSuccess"] = true;
                return(RedirectToAction("UserProfile", "Account"));
            }
            ModelState.AddModelError("", "Something failed.");
            return(View());
        }
Esempio n. 2
0
        //EndDocSection:Signout


        //DocSection:EditUser
        /// <summary>
        /// Displays a form where user information can be changed.
        /// </summary>
        public async Task <IActionResult> EditUser(bool avatarUpdateFailed = false)
        {
            // Finds the user based on their current user name
            ApplicationUser user = await userManager.FindByNameAsync(User.Identity.Name);

            EditUserAccountViewModel model = new EditUserAccountViewModel()
            {
                User = user,
                AvatarUpdateFailed = avatarUpdateFailed
            };

            return(View(model));
        }
        /// <summary>
        /// Displays a form where user information can be changed.
        /// </summary>
        public ActionResult EditUser(bool avatarUpdateFailed = false)
        {
            // Finds the user based on their current user name
            User user = KenticoUserManager.FindByName(User.Identity.Name);

            EditUserAccountViewModel model = new EditUserAccountViewModel()
            {
                User = user,
                AvatarUpdateFailed = avatarUpdateFailed
            };

            return(View(model));
        }