public async Task <IActionResult> GetLoggedInUserDetails() { LoggedInUserDetailsViewModel loggedInUserDetailsViewModel = await GetUserDetailsFromCookies(); UserAccountModel userAccountModel = _mapper.Map <UserAccountModel>(loggedInUserDetailsViewModel); var userLoginDetails = this._IUserAccountService.GetUserDetailsForLastLogin(userAccountModel); loggedInUserDetailsViewModel.LastLoggedInUserDetailsViewModel = new LoggedInUserDetailsViewModel(); loggedInUserDetailsViewModel.CurrentLoggedInUserDetailsViewModel = new LoggedInUserDetailsViewModel(); IpPropertiesModal ipPropertiesModal = new IpPropertiesModal(); string ipAddress = this._IHttpContextAccessor .HttpContext.Connection.RemoteIpAddress .ToString(); ipPropertiesModal = this._IAppAnalyticsService.GetIpAddressDetails(ipAddress); loggedInUserDetailsViewModel.LastLoggedInUserDetailsViewModel = _mapper.Map <LoggedInUserDetailsViewModel>(userLoginDetails.LastSessionDetails); loggedInUserDetailsViewModel.CurrentLoggedInUserDetailsViewModel = _mapper.Map <LoggedInUserDetailsViewModel>(userLoginDetails.CurrentSessionDetails); string partialViewHtml = await this.RenderViewAsync("_LoggedInUserDetails", loggedInUserDetailsViewModel, true); return(Json(partialViewHtml)); }
private async Task <LoggedInUserDetailsViewModel> GetUserDetailsFromCookies() { var getUserDetailsTask = Task.Run(() => this.User.GetLoggedInUserDetails()); var loggedInUserDetails = await getUserDetailsTask; LoggedInUserDetailsViewModel loggedInUserDetailsViewModel = new LoggedInUserDetailsViewModel(); loggedInUserDetailsViewModel.UserName = loggedInUserDetails.UserName; loggedInUserDetailsViewModel.FirstName = loggedInUserDetails.FirstName; loggedInUserDetailsViewModel.LastName = loggedInUserDetails.LastName; loggedInUserDetailsViewModel.UserId = loggedInUserDetails.UserId; loggedInUserDetailsViewModel.UserRoles = loggedInUserDetails.UserRoles; loggedInUserDetailsViewModel.Email = loggedInUserDetails.Email; loggedInUserDetailsViewModel.CookieUniqueId = loggedInUserDetails.CookieUniqueId; return(loggedInUserDetailsViewModel); }