private async void VerifyUserEmailAsync(ApplicationUser user) { //Verify email address is confirmed with identity var emailConfirmed = userManager.IsEmailConfirmedAsync(user).Result; if (!emailConfirmed) { string emailVerificationToken = userManager.GenerateEmailConfirmationTokenAsync(user).Result; var result = userManager.ConfirmEmailAsync(user, emailVerificationToken).Result; if (result.Succeeded) { var emailVerification = emailVerificationRepository.Find(null, p => p.PersonId == user.PersonId && p.IsVerified != true)?.Items?.FirstOrDefault(); if (emailVerification != null) { var verifiedEmailAddress = personEmailRepository.Find(null, p => p.Address.Equals(emailVerification.Address, StringComparison.OrdinalIgnoreCase))?.Items?.FirstOrDefault(); if (verifiedEmailAddress == null) { var personEmail = new PersonEmail() { EmailVerificationId = emailVerification.Id, IsPrimaryEmail = true, PersonId = emailVerification.PersonId, Address = emailVerification.Address }; personEmailRepository.Add(personEmail); } //Verification completed emailVerification.IsVerified = true; emailVerificationRepository.Update(emailVerification); } } } }