// Microsoft.Graph.Device private async Task AddAdditionalInformationAboutAlert(Alert alert, AlertDetailsViewModel alertModel) { try { var startAdd = DateTime.Now; if (!string.IsNullOrWhiteSpace(alert.AssignedTo)) { UserAccountDevice assignedTo = _memoryCacheHelper.GetUserAccountDevice(alert.AssignedTo); if (assignedTo == null) { assignedTo = await _graphService.GetUserDetailsAsync(alert.AssignedTo, populatePicture: true, populateManager : true, populateDevices : true); alertModel.AssignedTo = assignedTo; _memoryCacheHelper.SetUserAccountDevice(alert.AssignedTo, assignedTo); } alertModel.AssignedTo = assignedTo; } List <UserAccountDevice> userAccountDevices = new List <UserAccountDevice>(); foreach (var userState in alert?.UserStates) { // Get info about user var principalName = userState.UserPrincipalName; if (!string.IsNullOrWhiteSpace(principalName)) { UserAccountDevice userAccountDevice = _memoryCacheHelper.GetUserAccountDevice(principalName); if (userAccountDevice == null) { userAccountDevice = await _graphService.GetUserDetailsAsync(principalName, populatePicture : true, populateManager : true, populateDevices : true, populateRiskyUser : true); if (!string.IsNullOrWhiteSpace(userAccountDevice.Manager.Upn)) { userAccountDevice.Manager = await _graphService.GetUserDetailsAsync(userAccountDevice.Manager.Upn, populatePicture : false, populateManager : false, populateDevices : false); } if (!string.IsNullOrWhiteSpace(userState.DomainName)) { userAccountDevice.DomainName = userState.DomainName; } userAccountDevice.RiskScore = userState?.RiskScore; userAccountDevice.LogonId = userState?.LogonId; userAccountDevice.EmailRole = userState?.EmailRole.ToString(); if (userAccountDevice?.RegisteredDevices?.Count() == 0 && userAccountDevice?.OwnedDevices?.Count() == 0) { userAccountDevice.RegisteredDevices = _demoExample.GetDevices(); userAccountDevice.OwnedDevices = _demoExample.GetDevices(); } _memoryCacheHelper.SetUserAccountDevice(principalName, userAccountDevice); } if (userAccountDevice != null) { userAccountDevices.Add(userAccountDevice); } } } alertModel.UserAccountDevices = userAccountDevices; Debug.WriteLine($"Executing time AddAdditionalInformationAboutAlert: {DateTime.Now - startAdd}"); } catch (Exception exception) { Trace.WriteLine(exception.Message); } }
public AlertDetailsResponse(AlertDetailsViewModel alertDetails, ResultQueriesViewModel queries) { AlertDetails = alertDetails; Queries = queries; }
public AlertUpdatedResponse(AlertDetailsViewModel alert, ResultQueriesViewModel queries) { Alert = alert; Queries = queries; }