in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics/Controllers/DiagonizeIssuesController.cs [482:562]
public async Task<IActionResult> IssuesInterval(DiagonizePageViewModel diagonizePageViewModel, string interval = null, string outcome = null, string upn = null)
{
if (diagonizePageViewModel.DiagonizeQuery == null)
{
diagonizePageViewModel.DiagonizeQuery = new DiagonizeQuery();
diagonizePageViewModel.DiagonizeQuery.UPN = upn;
}
HttpContext.Session.Set<string>("SelectedUpn", diagonizePageViewModel.DiagonizeQuery.UPN);
try
{
if (diagonizePageViewModel.DiagonizeQuery.UPN != null)
{
if (!string.IsNullOrEmpty(interval))
{
HttpContext.Session.Set<string>("SelectedInterval", interval);
}
else
{
diagonizePageViewModel.DiagonizeQuery.StartDate = DateTime.Now.AddDays(-7);
diagonizePageViewModel.DiagonizeQuery.EndDate = DateTime.Now;
interval = HttpContext.Session.Get<string>("SelectedInterval");
}
if (!string.IsNullOrEmpty(outcome))
{
HttpContext.Session.Set<string>("SelectedOutcome", outcome);
}
else
{
outcome = HttpContext.Session.Get<string>("SelectedOutcome");
}
diagonizePageViewModel.DiagonizeQuery.ActivityOutcome = outcome != null ? (ActivityOutcome)Enum.Parse(typeof(ActivityOutcome), outcome) : ActivityOutcome.All;
if (interval == startDateEnum.Lastonehour.ToString())
{
diagonizePageViewModel.DiagonizeQuery.StartDate = DateTime.Now.AddMinutes(-60);
diagonizePageViewModel.DiagonizeQuery.EndDate = DateTime.Now;
}
else if (interval == startDateEnum.sixhoursago.ToString())
{
diagonizePageViewModel.DiagonizeQuery.StartDate = DateTime.Now.AddHours(-6);
diagonizePageViewModel.DiagonizeQuery.EndDate = DateTime.Now;
}
else if (interval == startDateEnum.onedayago.ToString())
{
diagonizePageViewModel.DiagonizeQuery.StartDate = DateTime.Now.AddDays(-1);
diagonizePageViewModel.DiagonizeQuery.EndDate = DateTime.Now;
}
else if (interval == startDateEnum.oneweekago.ToString())
{
diagonizePageViewModel.DiagonizeQuery.StartDate = DateTime.Now.AddDays(-7);
diagonizePageViewModel.DiagonizeQuery.EndDate = DateTime.Now;
}
return await Index(diagonizePageViewModel);
}
else
{
return View("Index", diagonizePageViewModel);
}
}
catch (Exception ex)
{
return RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)HttpStatusCode.BadRequest, Message = ex.Message.ToString() });
}
}