コード例 #1
0
        public async Task <ActionResult> EditProfile(AccountEditProfileApplicationUserViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await _accountService.FindUserByUserNameAsync(HttpContext.User.Identity.Name);

            if (!model.FirstName.Equals(user.FirstName))
            {
                var response = await _accountService.ChangeNameInNavbarAsync(user.Id, user.FirstName, model.FirstName);

                if (response.ResponseType == ResponseType.Error)
                {
                    ModelState.AddModelError("", "Wystąpił błąd podczas zapisu");
                    return(View(model));
                }
                TempData["success"] = "Imię zostanie zaktualizowane przy następnym logowaniu.";
            }

            _mapper.Map(model, user);

            var result = await _accountService.UpdateUserAsync(user);

            if (result.Succeeded)
            {
                TempData["success"] += "Profil został zaktualizowany";
            }
            else
            {
                ModelState.AddModelError("", "Wystąpił błąd podczas zapisu");
            }

            return(View(model));
        }
コード例 #2
0
        public async Task <IHttpActionResult> EditProfile(AccountEditProfileApplicationUserViewModel model)
        {
            var user = await _accountService.FindUserByIdAsync(User.Identity.GetUserId());

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

            _mapper.Map(model, user);

            var result = await _accountService.UpdateUserAsync(user);

            return(!result.Succeeded ? GetErrorResult(result) : Ok());
        }