Exemplo n.º 1
0
 private static void UploadContacts(MailboxSession mailboxSession, string accessToken)
 {
     NewFacebookSubscription.Tracer.TraceFunction(0L, "Entering NewFacebookSubscription.UploadContacts. Mailbox {0}.", new object[]
     {
         mailboxSession.Identity
     });
     try
     {
         IPeopleConnectApplicationConfig peopleConnectApplicationConfig = CachedPeopleConnectApplicationConfig.Instance.ReadFacebook();
         string graphApiEndpoint = peopleConnectApplicationConfig.GraphApiEndpoint;
         using (FacebookClient facebookClient = new FacebookClient(new Uri(graphApiEndpoint)))
         {
             ContactsUploaderPerformanceTracker contactsUploaderPerformanceTracker = new ContactsUploaderPerformanceTracker();
             IActivityScope currentActivityScope = ActivityContext.GetCurrentActivityScope();
             if (currentActivityScope != null)
             {
                 currentActivityScope.UserState = contactsUploaderPerformanceTracker;
             }
             else
             {
                 NewFacebookSubscription.Tracer.TraceFunction(0L, "Can't add metadata for Contacts upload as there is no current activity scope.");
             }
             FacebookContactsUploader facebookContactsUploader = new FacebookContactsUploader(contactsUploaderPerformanceTracker, facebookClient, peopleConnectApplicationConfig, (PropertyDefinition[] propertiesToLoad) => new RecursiveContactsEnumerator(mailboxSession, new XSOFactory(), DefaultFolderType.Contacts, propertiesToLoad));
             facebookContactsUploader.UploadContacts(accessToken);
         }
     }
     finally
     {
         NewFacebookSubscription.Tracer.TraceFunction(0L, "Leaving NewFacebookSubscription.UploadContacts. Mailbox {0}.", new object[]
         {
             mailboxSession.Identity
         });
     }
 }
        public ICollection <KeyValuePair <string, object> > GetEventData()
        {
            this.EnforceInternalState(ContactsUploaderPerformanceTracker.InternalState.Stopped, "GetEventData");
            List <KeyValuePair <string, object> > list = new List <KeyValuePair <string, object> >
            {
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.ContactsRead, this.contactsRead),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.ContactsExported, this.contactsExported),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.ContactsReceived, this.ReceivedContactsCount),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.DataSize, this.ExportedDataSize),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.RpcCount, this.storeRpcCount),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.RpcLatency, this.storeRpcLatency.TotalMilliseconds),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.CpuTime, this.cpuTime.TotalMilliseconds),
                ContactsUploaderPerformanceTracker.CreateEventData(ContactsUploaderPerformanceTrackerSchema.Result, this.OperationResult)
            };

            this.AddBookmarkData(list);
            return(list);
        }