Пример #1
0
        public async Task <ActionResult> ChangeEmail(UserChangeEmailViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = AspUserManager.FindById(User.Identity.GetUserId());

                user.Email          = model.Email;
                user.EmailConfirmed = false;
                user.UserName       = model.Email;

                var result = await AspUserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    //TODO: Wysłać email z potwierdzeniem

                    if (user != null)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                    }

                    return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeEmailSuccess }));
                }
                else
                {
                    return(RedirectToAction("Index", new { Message = ManageMessageId.Error }));
                }
            }
            else
            {
                return(View());
            }
        }
Пример #2
0
        public async Task <IActionResult> ChangeEmail(UserChangeEmailViewModel model)
        {
            if (ModelState.IsValid)
            {
                var isEmailTaken = await _accountService.IsEmailTakenAsync(model.Email);

                if (!isEmailTaken)
                {
                    await _accountService.ChangeEmailAsync(model.Email);

                    return(Json(new { success = true, responseText = "Your message successfuly sent!" }));
                }

                if (isEmailTaken)
                {
                    ModelState.AddModelError("Email", "Email is Taken");
                }
            }

            return(PartialView("_ChangeEmail", model));
        }