Exemplo n.º 1
0
        private TopicExpression GetTopicExpression(FilterTopic filterTopic)
        {
            if (filterTopic == null)
            {
                return(new AnyTopic());
            }

            return(new OrExpression(new[]
            {
                GetTopicExpression(filterTopic.First),
                GetTopicExpression(filterTopic.Second)
            }));
        }
Exemplo n.º 2
0
 private TopicExpression GetTopicExpression(FilterTopic filterTopic)
 {
     if (filterTopic == null)
     {
         return(AnyTopic.Instance);
     }
     else if (filterTopic.Topic != null)
     {
         return(new SpecificTopic(filterTopic.Topic));
     }
     else if (filterTopic.Topics.Any())
     {
         return(new OrExpression(filterTopic.Topics.Select(t => new SpecificTopic(t)).ToArray <TopicExpression>()));
     }
     else
     {
         return(AnyTopic.Instance);
     }
 }