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);
        }
Esempio n. 2
0
        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;
            }
        }