예제 #1
0
        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));
        }
예제 #2
0
        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);
        }