public ViewResult AssignExtAttribToUser() { ManageApplicationExtensionsAssignment model = new ManageApplicationExtensionsAssignment(); try { var azureClient = GraphAuthService.GetActiveDirectoryClient(ConfigHelper.UseApplicationPermissions); var apps = azureClient.Applications.ExecuteAsync().Result; var enumeratedApps = AzureADExtensions.EnumerateAllAsync(apps).Result; foreach (var app in enumeratedApps.OrderBy(a => a.DisplayName)) { model.TenantApplications.Add(new SelectListItem() { Text = app.DisplayName, Value = app.DisplayName }); } model.isOk = true; } catch (Exception ex) { model.message = ex.Message + (ex.InnerException != null ? Environment.NewLine + ex.InnerException.Message : ""); } return(View("AssignExtAttribToUser", model)); }
public async Task <ActionResult> AssignExtAttribToUser(ManageApplicationExtensionsAssignment model) { List <ResultsItem> items = new List <ResultsItem>(); if (ModelState.IsValid) { try { var azureClient = GraphAuthService.GetActiveDirectoryClient(ConfigHelper.UseApplicationPermissions); Tuple <bool, string, string, string, string> tup = await usersService.AssignExtensionAttributeToUser(azureClient, model.UserEmailAddress, model.AppName, model.AppExtAttribName, model.ExtAttribValue); Microsoft.Azure.ActiveDirectory.GraphClient.User user = (Microsoft.Azure.ActiveDirectory.GraphClient.User)azureClient.Users.Where(u => u.Mail.Equals( model.UserEmailAddress, StringComparison.CurrentCultureIgnoreCase) || u.UserPrincipalName.Equals(model.UserEmailAddress, StringComparison.CurrentCultureIgnoreCase) ).ExecuteAsync().Result.CurrentPage.FirstOrDefault(); if (user != null) { foreach (var s in user.GetExtendedProperties()) { items.Add(new ResultsItem() { Id = s.Key, Display = (s.Value == null ? "" : s.Value.ToString()) }); } } return(View("ListuserExtAttributes", new Tuple <bool, string, string, List <ResultsItem> >(tup.Item1, tup.Item2, model.UserEmailAddress, items))); } catch (Exception ex) { model.isOk = false; model.message = ex.Message + (ex.InnerException != null ? Environment.NewLine + ex.InnerException.Message : ""); } } return(View("AssignExtAttribToUser", model)); }