public override Filter Create() { CorrelationFilter correlationFilter = new CorrelationFilter(); CorrelationFilterTemplate.MapSystemPropertiesActionCompiler.Value(this, correlationFilter); foreach (KeyValuePair <string, object> property in this.Properties) { correlationFilter.Properties[property.Key] = PropertyReference.GetValue <object>(property.Value); } return(correlationFilter); }
internal override void UpdateForVersion(ApiVersion version, Filter existingFilter = null) { string messageId; string to; string replyTo; string label; string sessionId; string replyToSessionId; string contentType; PropertyDictionary propertyDictionaries; CorrelationFilter correlationFilter = existingFilter as CorrelationFilter; base.UpdateForVersion(version, existingFilter); if (version < ApiVersion.Two) { if (correlationFilter == null) { messageId = null; } else { messageId = correlationFilter.MessageId; } this.MessageId = messageId; if (correlationFilter == null) { to = null; } else { to = correlationFilter.To; } this.To = to; if (correlationFilter == null) { replyTo = null; } else { replyTo = correlationFilter.ReplyTo; } this.ReplyTo = replyTo; if (correlationFilter == null) { label = null; } else { label = correlationFilter.Label; } this.Label = label; if (correlationFilter == null) { sessionId = null; } else { sessionId = correlationFilter.SessionId; } this.SessionId = sessionId; if (correlationFilter == null) { replyToSessionId = null; } else { replyToSessionId = correlationFilter.ReplyToSessionId; } this.ReplyToSessionId = replyToSessionId; if (correlationFilter == null) { contentType = null; } else { contentType = correlationFilter.ContentType; } this.ContentType = contentType; if (correlationFilter == null) { propertyDictionaries = null; } else { propertyDictionaries = correlationFilter.properties; } this.properties = propertyDictionaries; } }