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