public IEnumerable <User> GetUsersInGroup(string accessToken, string groupId) { CallContext currentCallContext = new CallContext(accessToken, Guid.NewGuid()); GraphConnection graphConnection = new GraphConnection(currentCallContext); var fieldAgentsGroup = graphConnection.Get <Group>(groupId); var fieldAgentMembers = graphConnection.GetLinks(fieldAgentsGroup, "members", null); return(fieldAgentMembers.Results.OfType <User>()); }
public void UpdateUsersManager(string accessToken, string agentsGroupId, string managersGroupId) { CallContext currentCallContext = new CallContext(accessToken, Guid.NewGuid()); GraphConnection graphConnection = new GraphConnection(currentCallContext); var fieldAgentsGroup = graphConnection.Get <Group>(agentsGroupId); var managersGroup = graphConnection.Get <Group>(managersGroupId); var fieldAgentMembers = graphConnection.GetLinks(fieldAgentsGroup, "members", null); var managersMemebers = graphConnection.GetLinks(managersGroup, "members", null); var fieldAgents = fieldAgentMembers.Results.OfType <User>(); var manager = managersMemebers.Results.OfType <User>().FirstOrDefault(); if (manager == null) { Console.WriteLine("Error: Atleast one manager needed"); return; } foreach (User user in fieldAgents) { graphConnection.AddLink(user, manager, "manager", true); } }
public List <String> GetUsersInGroup(string accessToken, string groupId) { CallContext currentCallContext = new CallContext(accessToken, Guid.NewGuid()); GraphConnection graphConnection = new GraphConnection(currentCallContext); var fieldAgentsGroup = graphConnection.Get <Group>(groupId); var fieldAgentMembers = graphConnection.GetLinks(fieldAgentsGroup, "members", null); var fieldAgents = fieldAgentMembers.Results.OfType <User>(); List <String> agentIds = new List <string>(); foreach (User user in fieldAgents) { agentIds.Add(user.ObjectId); } return(agentIds); }
public string GetManagerEmail(string objectId, string accessToken) { if (objectId == AuthorizeAadGroupAttribute.LocalUserObjectId) { // When running locally return(null); } CallContext currentCallContext = new CallContext(accessToken, Guid.NewGuid()); GraphConnection graphConnection = new GraphConnection(currentCallContext); var user = graphConnection.Get <User>(objectId); var userManagerLink = graphConnection.GetLinks(user, "manager", null).Results.FirstOrDefault(); string result = null; if (userManagerLink != null) { User manager = graphConnection.Get <User>(userManagerLink.ObjectId); result = manager.OtherMails.FirstOrDefault(); } return(result); }