示例#1
0
        public async Task <IActionResult> Index()
        {
            CredentailsViewModel credentailsViewModel = await _credentialsDataService.GetViewModel();

            StatusAlertViewModel statusAlert = GetTempData <StatusAlertViewModel>(STATUS_ALERT_TEMP_DATA_KEY);

            if (statusAlert != null)
            {
                ModelState.AddErrors(statusAlert.ValidationErrors);
                credentailsViewModel.StatusAlert = statusAlert;
            }

            return(View(credentailsViewModel));
        }
        public async Task <CredentailsViewModel> GetViewModel()
        {
            string userId = _httpContextAccessor.HttpContext.User.GetUserId();

            AppUserEntity appUser = await _userManager.FindByIdAsync(userId);

            IList <UserLoginInfo> logins = await _userManager.GetLoginsAsync(appUser);

            CredentailsViewModel credentailsViewModel = new CredentailsViewModel(
                hasPassword: !string.IsNullOrEmpty(appUser.PasswordHash),
                hasExternalLoginProvider: logins.Count > 0,
                externalLoginProvider: logins.Select(x => x.ProviderDisplayName).SingleOrDefault());

            return(credentailsViewModel);
        }