예제 #1
0
        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>());
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }