public async Task <List <ConnectionActivity> > GetConnectionActivities(string upn, string tenantGroupName, string tenant, string startDate, string endDate, string outcome = null) { _logger.LogInformation($"Make api call to get connection activities of user {upn} within tenant {tenant} within tenant group {tenantGroupName}"); string token = Request.Headers["Authorization"]; return(await _diagnozeService.GetConnectionActivities(token, upn, tenantGroupName, tenant, startDate, endDate, outcome).ConfigureAwait(false)); }
public async Task <IActionResult> Index(DiagonizePageViewModel data) { var viewData = new DiagonizePageViewModel(); if (ModelState.IsValid) { tenantGroupName = HttpContext.Session.Get <string>("SelectedTenantGroupName"); tenant = HttpContext.Session.Get <string>("SelectedTenantName"); if (string.IsNullOrEmpty(tenantGroupName) || string.IsNullOrEmpty(tenant)) { return(RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)HttpStatusCode.Forbidden, Message = "Invalid tenant group name or tenant name." })); } else { var refreshtoken = await HttpContext.GetTokenAsync("refresh_token").ConfigureAwait(false); accessToken = _commonService.GetAccessTokenWVD(refreshtoken); //await HttpContext.GetTokenAsync("access_token"); string startDate, endDate = ""; if (data.DiagonizeQuery.StartDate == null) { startDate = $"{DateTime.Now.ToUniversalTime().AddDays(-7).ToString("yyyy-MM-dd")}T00:00:00Z"; endDate = $"{DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd")}T00:00:00Z"; } else { startDate = data.DiagonizeQuery.StartDate.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"); //+"T00:00:00Z"; endDate = data.DiagonizeQuery.EndDate.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"); //+"T00: 00:00Z"; } string activityoutcome = data.DiagonizeQuery.ActivityOutcome.ToString(); if (data.DiagonizeQuery.ActivityType == ActivityType.Management) { _logger.LogInformation($"Service call to get management activity details for selected tenant group {tenantGroupName} and tenant {tenant}"); //call from service layer viewData.ManagementActivity = await _diagnozeService.GetManagementActivities(accessToken, data.DiagonizeQuery.UPN, tenantGroupName, tenant, startDate, endDate, activityoutcome).ConfigureAwait(false); if (viewData.ManagementActivity?.Count > 0 && viewData.ManagementActivity[0].ErrorDetails != null) { _logger.LogError($"Error Occured : {viewData.ManagementActivity[0].ErrorDetails.Message}"); return(RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)viewData.ManagementActivity[0].ErrorDetails.StatusCode, Message = "Access Denied!You are not authorized.Please contact system administrator" })); } viewData.ActivityType = viewData.ManagementActivity?.Count() > 0 ? ActivityType.Management : ActivityType.None; } else if (data.DiagonizeQuery.ActivityType == ActivityType.Connection) { _logger.LogInformation($"Service Call to get connection activity details for selected tenant group {tenantGroupName} and tenant {tenant}"); //call from service layer viewData.ConnectionActivity = await _diagnozeService.GetConnectionActivities(accessToken, data.DiagonizeQuery.UPN, tenantGroupName, tenant, startDate, endDate, activityoutcome).ConfigureAwait(false); if (viewData.ConnectionActivity?.Count > 0 && viewData.ConnectionActivity[0].ErrorDetails != null) { _logger.LogError($"Error Occured : {viewData.ConnectionActivity[0].ErrorDetails.Message}"); return(RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)viewData.ConnectionActivity[0].ErrorDetails.StatusCode, Message = "Access Denied!You are not authorized.Please contact system administrator" })); } viewData.ActivityType = viewData.ConnectionActivity?.Count() > 0 ? ActivityType.Connection : ActivityType.None; } else if (data.DiagonizeQuery.ActivityType == ActivityType.Feed) { _logger.LogInformation($"Service call to get feed activity details for selected tenant group {tenantGroupName} and tenant {tenant}"); viewData.FeedActivity = await _diagnozeService.GetFeedActivities(accessToken, data.DiagonizeQuery.UPN, tenantGroupName, tenant, startDate, endDate, activityoutcome).ConfigureAwait(false); if (viewData.FeedActivity?.Count > 0 && viewData.FeedActivity[0].ErrorDetails != null) { _logger.LogError($"Error Occured : {viewData.FeedActivity[0].ErrorDetails.Message}"); return(RedirectToAction("Error", "Home", new ErrorDetails() { StatusCode = (int)viewData.FeedActivity[0].ErrorDetails.StatusCode, Message = viewData.FeedActivity[0].ErrorDetails.Message })); } viewData.ActivityType = viewData.FeedActivity?.Count() > 0 ? ActivityType.Feed : ActivityType.None; } } } HttpContext.Session.Set <DiagonizeQuery>("SearchQuery", data.DiagonizeQuery); viewData.DiagonizeQuery = data.DiagonizeQuery; return(View("SearchResults", viewData)); }