public async Task <Result <AddEmailTwoFactorAuthenticationViewModel> > GetEmailViewModel() { Result <AppUserEntity> getAppUserResult = await GetAppUser(); if (getAppUserResult.Failure) { return(Result.Fail <AddEmailTwoFactorAuthenticationViewModel>(getAppUserResult.Errors)); } AppUserEntity appUser = getAppUserResult.Value; if (string.IsNullOrEmpty(appUser.Email)) { _logger.LogError($"User does not have a phone number"); return(Result.Fail <AddEmailTwoFactorAuthenticationViewModel>("no_email_address", "No Email address")); } AddEmailTwoFactorAuthenticationViewModel emailTwoFactorAuthenticationViewModel = new AddEmailTwoFactorAuthenticationViewModel(); return(Result.Ok(emailTwoFactorAuthenticationViewModel)); }
public async Task <IActionResult> AddTwoFactorEmailAuthentication() { Result <AddEmailTwoFactorAuthenticationViewModel> result = await _twoFactorAuthorizationDataService.GetEmailViewModel(); if (result.Failure) { SaveTempData(INDEX_STATUS_ALERT_TEMP_DATA_KEY, StatusAlertViewExtension.Get(result)); return(RedirectToAction(nameof(Index))); } AddEmailTwoFactorAuthenticationViewModel addEmailTwoFactorAuthenticationViewModel = new AddEmailTwoFactorAuthenticationViewModel(); StatusAlertViewModel statusAlert = GetTempData <StatusAlertViewModel>(EMAIL_STATUS_ALERT_TEMP_DATA_KEY); if (statusAlert != null) { ModelState.AddErrors(statusAlert.ValidationErrors); addEmailTwoFactorAuthenticationViewModel.StatusAlert = statusAlert; } Result sendMailResult = await _twoFactorAuthService.GenerateAndSendEmailCode(GetUserId()); return(View(addEmailTwoFactorAuthenticationViewModel)); }