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); }