// Token: 0x060014C1 RID: 5313 RVA: 0x00077808 File Offset: 0x00075A08 private static AnalyticsSignal CreateSignal(RecipientCacheSignalSource.RecipientInCache recipient) { Dictionary <string, string> properties = new Dictionary <string, string> { { "Weight", recipient.RecipientRank.ToString(CultureInfo.InvariantCulture) } }; AnalyticsSignal.AnalyticsActor analyticsActor = new AnalyticsSignal.AnalyticsActor(); analyticsActor.Id = null; analyticsActor.Properties = SharePointSignalRestDataProvider.CreateSignalProperties(null); AnalyticsSignal.AnalyticsAction analyticsAction = new AnalyticsSignal.AnalyticsAction(); analyticsAction.ActionType = "RecipientCache"; analyticsAction.Properties = SharePointSignalRestDataProvider.CreateSignalProperties(properties); analyticsAction.ExpireTime = DateTime.UtcNow.AddDays(42.0); AnalyticsSignal.AnalyticsItem analyticsItem = new AnalyticsSignal.AnalyticsItem(); analyticsItem.Id = recipient.SmtpAddress; analyticsItem.Properties = SharePointSignalRestDataProvider.CreateSignalProperties(null); return(new AnalyticsSignal { Actor = analyticsActor, Action = analyticsAction, Item = analyticsItem, Source = "Exchange" }); }
internal static string CreateAttachmentsSignal(MessageItem messageItem, List <Dictionary <string, string> > attachmentsProperties, string receiverEmail, Guid tenantId) { List <AnalyticsSignal> list = new List <AnalyticsSignal>(); Dictionary <string, string> properties = new Dictionary <string, string>(); Dictionary <string, string> properties2 = new Dictionary <string, string> { { "Context", "ReceivedRegularAttachment" } }; AnalyticsSignal.AnalyticsActor actor = new AnalyticsSignal.AnalyticsActor { Id = receiverEmail, Properties = SharePointSignalRestDataProvider.CreateSignalProperties(properties), TenantId = tenantId }; AnalyticsSignal.AnalyticsAction action = new AnalyticsSignal.AnalyticsAction { ActionType = "Received", Properties = SharePointSignalRestDataProvider.CreateSignalProperties(properties2) }; StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < messageItem.Recipients.Count; i++) { stringBuilder.AppendFormat("{0}|{1}", messageItem.Recipients[i].Participant.DisplayName, messageItem.Recipients[i].Participant.SmtpEmailAddress); if (i < messageItem.Recipients.Count - 1) { stringBuilder.Append(","); } } Dictionary <string, string> dictionary = new Dictionary <string, string> { { "ConversationId", OfficeGraphAgentUtils.GetCoversationIdBase64(messageItem) }, { "ConversationTopic", messageItem.ConversationTopic }, { "CreationTime", messageItem.CreationTime.ToISOString() }, { "FromDisplayName", messageItem.From.DisplayName }, { "FromEmail", messageItem.From.SmtpEmailAddress }, { "Subject", messageItem.Subject }, { "Importance", messageItem.Importance.ToString() }, { "MailPreview", messageItem.Preview }, { "Recipients", stringBuilder.ToString() }, { "StoreObjectId", messageItem.StoreObjectId.ToBase64String() } }; foreach (Dictionary <string, string> dictionary2 in attachmentsProperties) { Dictionary <string, string> dictionary3 = new Dictionary <string, string>(); foreach (KeyValuePair <string, string> keyValuePair in dictionary) { dictionary3.Add(keyValuePair.Key, keyValuePair.Value); } foreach (KeyValuePair <string, string> keyValuePair2 in dictionary2) { dictionary3.Add(keyValuePair2.Key, keyValuePair2.Value); } AnalyticsSignal.AnalyticsItem item = new AnalyticsSignal.AnalyticsItem { Id = dictionary2["AttachmentId"], Properties = SharePointSignalRestDataProvider.CreateSignalProperties(dictionary3) }; AnalyticsSignal item2 = new AnalyticsSignal { Actor = actor, Action = action, Item = item, Source = "Exchange Office Graph Delivery Agent" }; list.Add(item2); } Dictionary <string, object> dictionary4 = new Dictionary <string, object>(); dictionary4["signals"] = list; return(new JavaScriptSerializer().Serialize(dictionary4)); }
// Token: 0x06001BB0 RID: 7088 RVA: 0x0006A710 File Offset: 0x00068910 public IEnumerable <AnalyticsSignal> GetSignals() { Dictionary <string, string> properties = new Dictionary <string, string> { { "SharedBy", this.sender }, { "Recipients", this.recipients }, { "Context", "Click data from OWA" } }; Dictionary <string, string> properties2 = new Dictionary <string, string> { { "Title", this.title }, { "Description", this.desc }, { "ImageUrl", this.imgurl }, { "ImageWidth", this.imgwidth }, { "ImageHeight", this.imgheight } }; AnalyticsSignal.AnalyticsActor actor = new AnalyticsSignal.AnalyticsActor { Id = null, Properties = SharePointSignalRestDataProvider.CreateSignalProperties(null) }; AnalyticsSignal.AnalyticsAction action = new AnalyticsSignal.AnalyticsAction { ActionType = "SharedAndClicked", Properties = SharePointSignalRestDataProvider.CreateSignalProperties(properties) }; AnalyticsSignal.AnalyticsItem item = new AnalyticsSignal.AnalyticsItem { Id = this.url, Properties = SharePointSignalRestDataProvider.CreateSignalProperties(properties2) }; AnalyticsSignal item2 = new AnalyticsSignal { Actor = actor, Action = action, Item = item, Source = this.GetSourceName() }; return(new List <AnalyticsSignal> { item2 }); }