private Dictionary <string, string> DeserializeCustomPropertiesDictionary(out bool isTruncatedResult) { byte[] valueOrDefault = this.propertyBag.GetValueOrDefault <byte[]>(ActivitySchema.CustomProperties, null); if (valueOrDefault == null || valueOrDefault.Length == 0) { isTruncatedResult = false; return(new Dictionary <string, string>()); } AbstractCustomPropertySerializer deserializer = CustomPropertySerializerFactory.GetDeserializer(valueOrDefault); if (deserializer == null) { isTruncatedResult = false; return(new Dictionary <string, string>()); } return(deserializer.Deserialize(valueOrDefault, out isTruncatedResult)); }
private void SerializeCustomPropertiesDictionary(IDictionary <string, string> data, out bool isTruncatedResult) { if (data == null || data.Count == 0) { isTruncatedResult = false; return; } AbstractCustomPropertySerializer serializer = CustomPropertySerializerFactory.GetSerializer(); if (serializer == null) { isTruncatedResult = false; return; } byte[] array = serializer.Serialize(data, out isTruncatedResult); if (array != null) { this.propertyBag.SetProperty(ActivitySchema.CustomProperties, array); } }