in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics/Controllers/DiagonizeIssuesController.cs [234:278]
public async Task<IActionResult> InitiateSendMessage(DiagnoseDetailPageViewModel data)
{
try
{
bool ShowMessageForm = false;
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");
if (data.UserSessions.Where(x => x.IsSelected == true).ToList().Count > 0)
{
ShowMessageForm = true;
ViewBag.ErrorMsg = "";
}
else
{
ViewBag.ErrorMsg = "Please select at least one user";
ShowMessageForm = false;
}
return View("ActivityHostDetails", new DiagnoseDetailPageViewModel()
{
Title = string.Empty,
Message = string.Empty,
ConnectionActivity = data.ConnectionActivity,
ShowConnectedUser = true,
ShowMessageForm = ShowMessageForm,
UserSessions = await GetUserSessions(accessToken, tenantGroupName, tenant, data.ConnectionActivity.SessionHostPoolName, data.ConnectionActivity.SessionHostName).ConfigureAwait(false),
selectedUsername = data.UserSessions.Where(x => x.IsSelected == true).ToList(),
VMPerformance = await GetVMPerformance(data.ConnectionActivity.SessionHostName).ConfigureAwait(false)
});
}
catch (Exception ex)
{
_logger.LogError($"Error Occured : {ex.Message.ToString()}");
return RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)HttpStatusCode.BadRequest, Message = ex.Message.ToString() });
}
}