Ejemplo n.º 1
0
        public async Task <IActionResult> SendVerificationEmail(IndexViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            ApplicationUser user = await userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new CustomApplicationException($"Unable to load user with ID '{userManager.GetUserId(User)}'.");
            }

            string code = await userManager.GenerateEmailConfirmationTokenAsync(user);

            string callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
            string email       = user.Email;
            await notificationSender.SendEmailConfirmationAsync(email, callbackUrl);

            StatusMessage = "Verification email sent. Please check your email.";
            return(RedirectToAction(nameof(Index)));
        }