public async Task ActivityHostDetails()

in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics/Controllers/DiagonizeIssuesController.cs [410:458]


        public async Task<IActionResult> ActivityHostDetails(string id)
        {
            string upn = HttpContext.Session.Get<string>("SelectedUpn");
            tenantGroupName = HttpContext.Session.Get<string>("SelectedTenantGroupName");
            tenant = HttpContext.Session.Get<string>("SelectedTenantName");
            var refreshtoken = await HttpContext.GetTokenAsync("refresh_token").ConfigureAwait(false);
            accessToken = _commonService.GetAccessTokenWVD(refreshtoken); //await HttpContext.GetTokenAsync("access_token");
            var ConnectionActivity = await _diagnozeService.GetActivityHostDetails(accessToken, tenantGroupName, tenant, id).ConfigureAwait(false);
            if (ConnectionActivity?.Count > 0 && ConnectionActivity[0].ErrorDetails != null)
            {
                _logger.LogError($"Error Occured : {ConnectionActivity[0].ErrorDetails.Message}");
                return RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = ConnectionActivity[0].ErrorDetails.StatusCode, Message = ConnectionActivity[0].ErrorDetails.Message });
            }
            else
            {
                var userSessions = await GetUserSessions(accessToken, tenantGroupName, tenant, ConnectionActivity[0].SessionHostPoolName, ConnectionActivity[0].SessionHostName).ConfigureAwait(false);
                if (userSessions != null && userSessions.Count > 0 && userSessions[0].httpStatus == HttpStatusCode.OK)
                {
                    userSessions.ForEach(x => x.IsSelected = x.adUserName.ToString().Split(@"\")[1] == ConnectionActivity[0].userName.Split('@')[0] ? true : false);
                }
                else if (userSessions != null && userSessions.Count > 0 && (userSessions[0].httpStatus == HttpStatusCode.Forbidden || userSessions[0].httpStatus == HttpStatusCode.Unauthorized))
                {
                    return RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)userSessions[0].httpStatus, Message = "Access Denied! You are not authorized to view user sessions. Please contact system administrator." });
                }
                

                return View(new DiagnoseDetailPageViewModel()
                {
                    ConnectionActivity = new ConnectionActivity
                    {
                        activityId = ConnectionActivity[0].activityId,
                        activityType = ConnectionActivity[0].activityType,
                        outcome = ConnectionActivity[0].outcome,
                        Tenants = ConnectionActivity[0].Tenants,
                        userName = ConnectionActivity[0].userName,
                        ClientOS = ConnectionActivity[0].ClientOS,
                        ClientIPAddress = ConnectionActivity[0].ClientIPAddress,
                        startTime = Convert.ToDateTime(ConnectionActivity[0].startTime),
                        endTime = Convert.ToDateTime(ConnectionActivity[0].endTime),
                        SessionHostName = ConnectionActivity[0].SessionHostName,
                        SessionHostPoolName = ConnectionActivity[0].SessionHostPoolName
                    },
                    UserSessions = userSessions,
                    ShowConnectedUser = false,
                    ShowMessageForm = true,
                    VMPerformance = await GetVMPerformance(ConnectionActivity[0].SessionHostName).ConfigureAwait(false)
                });
            }
        }