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