Ejemplo n.º 1
0
 void OnGetRelatedPeople(RelatedPeopleRequest request)
 {
     foreach (PersonEntity person in request.relatedPeople)
     {
         Debug.WriteLine(string.Format("Person {0} is related to Person {1}", person.FullName, request.person.FullName));
     }
 }
Ejemplo n.º 2
0
        public void OnGetCurrentUser(PersonRequest request)
        {
            // get joined teams
            TeamDataRequest tdrequest = new TeamDataRequest();

            tdrequest.person = request.person;
            TeamService.Instance.GetJoinedTeams(tdrequest, OnGetTeams);

            // get related people
            RelatedPeopleRequest relatedRequest = new RelatedPeopleRequest();

            relatedRequest.person = request.person;
            PeopleService.Instance.GetRelatedPeople(relatedRequest, OnGetRelatedPerson, OnGetRelatedPeople);
        }
Ejemplo n.º 3
0
    public void OnGetPersonCompleted(PersonRequest request)
    {
        error = true;

        if (request.expection.Error != Office365DataHub.ServiceError.NoError)
        {
            DebugInformation.Instance.Log(request.expection.Exception.Message);
            DebugInformation.Instance.Log(request.expection.Exception.StackTrace);
            DebugInformation.Instance.Log(request.expection.Exception.InnerException.Message);
        }

        Queue.AddToQueue(null, request.person);

        RelatedPeopleRequest relrequest = new RelatedPeopleRequest
        {
            person = request.person
        };

        Office365DataHub.Services.PeopleService.Instance.GetRelatedPeople(relrequest, OnGetRelatedPersonCompleted, OnGetRelatedPeopleCompleted);
    }
Ejemplo n.º 4
0
 void OnGetRelatedPerson(RelatedPeopleRequest request)
 {
     Debug.WriteLine(string.Format("Person {0} is related to Person {1}", request.relatedPerson.FullName, request.person.FullName));
 }
Ejemplo n.º 5
0
 public void OnGetRelatedPeopleCompleted(RelatedPeopleRequest request)
 {
 }
Ejemplo n.º 6
0
 public void OnGetRelatedPersonCompleted(RelatedPeopleRequest request)
 {
     Queue.AddToQueue(request.person, request.relatedPerson);
 }
Ejemplo n.º 7
0
 public void GetRelatedPeople(RelatedPeopleRequest request, OnGetRelatedPersonCompleted onGetRelatedPersonCompleted, OnGetRelatedPeopleCompleted onGetRelatedPeopleCompleted)
 {
 }
Ejemplo n.º 8
0
        public async Task GetRelatedPeopleASync(RelatedPeopleRequest request, OnGetRelatedPersonCompleted onGetRelatedPersonCompleted, OnGetRelatedPeopleCompleted onGetRelatedPeopleCompleted)
        {
            List <Person> persons = new List <Person>();

            var graphClient = AuthenticationHelper.Instance.GetAuthenticatedClient();

            string filter = "personType/class eq 'Person' and personType/subclass eq 'OrganizationUser'";

            if (graphClient != null)
            {
                if (request.person.Id == "")
                {
                    IUserPeopleCollectionPage people = await graphClient.Me.People.Request().Filter(filter).GetAsync();

                    persons.AddRange(people);
                }
                else
                {
                    try
                    {
                        IUserPeopleCollectionPage people = await graphClient.Users[request.person.Id].People.Request().Filter(filter).GetAsync();
                        persons.AddRange(people);
                    }
                    catch (Exception)
                    {
                    }
                }
            }

            foreach (Person person in persons)
            {
                switch (person.PersonType.Class)
                {
                case "Person":
                    PhotoDetail detail = await GetPhotoAsync(person.Id);

                    PersonEntity data = new PersonEntity()
                    {
                        FullName       = person.DisplayName,
                        Surname        = person.Surname,
                        GivenName      = person.GivenName,
                        JobTitle       = person.JobTitle,
                        Department     = person.Department,
                        OfficeLocation = person.OfficeLocation,
                        PhoneNumber    = person.Phones.Any() ? person.Phones.First().Number : "",
                        EmailAddress   = person.ScoredEmailAddresses.Any() ? person.ScoredEmailAddresses.First().Address : "",
                        Id             = person.Id,
                        PhotoDetail    = detail
                    };

                    request.relatedPerson = data;
                    onGetRelatedPersonCompleted(request);
                    request.relatedPeople.Add(data);
                    break;

                case "Group":
                    break;
                }
            }

            request.relatedPerson = null;
            onGetRelatedPeopleCompleted(request);
        }
Ejemplo n.º 9
0
 public void GetRelatedPeople(RelatedPeopleRequest request, OnGetRelatedPersonCompleted onGetRelatedPersonCompleted, OnGetRelatedPeopleCompleted onGetRelatedPeopleCompleted)
 {
     System.Threading.Tasks.Task.Run(
         () => GetRelatedPeopleASync(request, onGetRelatedPersonCompleted, onGetRelatedPeopleCompleted));
 }