public MessageQueryTable <string> GetMessageQueryTable()
        {
            MessageQueryTable <string> destination = new MessageQueryTable <string>();

            InvertDictionary <string, MessageQuery>(this, destination);
            return(destination);
        }
Example #2
0
        public MessageQueryTable <string> GetMessageQueryTable()
        {
            MessageQueryTable <string> result = new MessageQueryTable <string>();

            InvertDictionary <string, MessageQuery>(this, result);
            return(result);
        }
 public MessageQuerySet(MessageQueryTable <string> queryTable)
 {
     if (queryTable == null)
     {
         throw FxTrace.Exception.ArgumentNull("queryTable");
     }
     InvertDictionary <MessageQuery, string>(queryTable, this);
 }
        public void AddQuery(MessageFilter where, MessageQueryTable <string> select,
                             IDictionary <string, MessageQueryTable <string> > selectAdditional, bool isContextQuery)
        {
            SelectRuntime selectRuntime = new SelectRuntime {
                Select = select, SelectAdditional = selectAdditional, IsContextQuery = isContextQuery
            };

            this.whereRuntime.Add(where, selectRuntime);
        }
Example #5
0
        public static MessageQueryTable <string> SetupTable()
        {
            // This is optional code to demonstrate using a MessageQueryTable.
            // Compare this to the MessageQueryCollection.
            MessageQueryTable <string> table   = new MessageQueryTable <string>();
            XPathMessageContext        context = new XPathMessageContext();

            // The code adds a KeyValuePair to the table. Each pair requires
            // a query used as the Key, and a value that is paired to the key.
            table.Add(new XPathMessageQuery(xpath, context), "value10");
            table.Add(new XPathMessageQuery(xpath2, context), "value20");
            table.Add(new XPathMessageQuery(xpath3, context), "value30");
            table.Add(new XPathMessageQuery(xpath4, context), "value40");
            table.Add(new XPathMessageQuery(xpath5, context), "value50");
            table.Add(new XPathMessageQuery(xpath6, context), "value60");
            table.Add(new XPathMessageQuery(xpath7, context), "value70");
            table.Add(new XPathMessageQuery(xpath8, context), "value80");
            table.Add(new XPathMessageQuery(xpath9, context), "value90");
            table.Add(new XPathMessageQuery(xpath10, context), "value100");
            table.Add(new XPathMessageQuery(xpath11, context), "value110");
            return(table);
        }
Example #6
0
 protected override IEnumerable <KeyValuePair <MessageQuery, string> > ExecuteSelect(Message target, Message messageToReadHeaders, MessageQueryTable <string> select, bool isContextQuery)
 {
     return(select.Evaluate <string>(target));
 }
Example #7
0
 protected abstract IEnumerable <KeyValuePair <MessageQuery, string> > ExecuteSelect(T target, Message messageToReadHeaders, MessageQueryTable <string> select, bool IsContextQuery);
 protected override IEnumerable <KeyValuePair <MessageQuery, string> > ExecuteSelect(MessageBuffer target, Message messageToReadHeaders,
                                                                                     MessageQueryTable <string> select, bool isContextQuery)
 {
     if (isContextQuery && messageToReadHeaders != null)
     {
         //we can pass in the message directly in this case since we know it is a context query that will read from the header
         return(select.Evaluate <string>(messageToReadHeaders));
     }
     else
     {
         return(select.Evaluate <string>(target));
     }
 }