コード例 #1
0
        private ISubscriberResponse CreateSubscriber(string email, string firstName, string lastName, string resolveKey)
        {
            ISubscriberResponse subscriberOne = Mock.Create <ISubscriberResponse>();

            Mock.Arrange(() => subscriberOne.Email).Returns(email);
            Mock.Arrange(() => subscriberOne.FirstName).Returns(firstName);
            Mock.Arrange(() => subscriberOne.LastName).Returns(lastName);
            Mock.Arrange(() => subscriberOne.ResolveKey).Returns(resolveKey);
            return(subscriberOne);
        }
コード例 #2
0
        /// <summary>
        /// Creates a dictionary with merge tags from the subscriber properties.
        /// </summary>
        /// <param name="subscriber">The subscriber.</param>
        /// <returns>The subscriber properties as dictionary.</returns>
        /// <example>
        /// Here is an example content in the dictionary:
        /// <code>
        /// { Key = "Subscriber.Id", Value = "0c43c999-d8fa-6a02-bd4d-ff0000ee95d1" },
        /// { Key = "Subscriber.Email, Value = "*****@*****.**" },
        /// { Key = "Subscriber.CustomPropertyName", Value = "customPropertyValueAsString" }
        /// </code>
        /// </example>
        public static Dictionary <string, string> ToDictionary(this ISubscriberResponse subscriber)
        {
            var dict = new Dictionary <string, string>();

            dict.Add(GetMergeTag("Id"), subscriber.Id.ToString());
            dict.Add(GetMergeTag("Email"), GetPropertyValue(subscriber.Email));
            dict.Add(GetMergeTag("FirstName"), GetPropertyValue(subscriber.FirstName));
            dict.Add(GetMergeTag("LastName"), GetPropertyValue(subscriber.LastName));
            dict.Add(GetMergeTag("ResolveKey"), GetPropertyValue(subscriber.ResolveKey));

            foreach (var item in subscriber.CustomProperties)
            {
                dict.Add(GetMergeTag(item.Key), item.Value);
            }

            return(dict);
        }