Esempio n. 1
0
 public void visitCompositeQuery(CompositeQuery compositeQuery)
 {
     this.run(
         ModelElementType.CompositeQuery,
         compositeQuery,
         this.MetaModelService.GetQueryModelInfo(compositeQuery.Name).FirstOrDefault <ModelInfo>());
 }
            protected override void Act()
            {
                string[] orderedFieldNames =
                {
                    KeyOne, KeyTwo
                };

                IEnumerable <object> futureQuery = new List <Hashtable>
                {
                    new Hashtable(
                        new Dictionary <string, string>
                    {
                        {
                            KeyOne, ValueOne1
                        },
                        {
                            KeyTwo, ValueTwo2
                        },
                        {
                            KeyStartsWithUnderscores, KeyStartsWithUnderscores
                        },
                        {
                            KeyEndsWithUnderscoresNamespace, KeyEndsWithUnderscoresNamespace
                        },
                        {
                            KeyStartsWithHUnderscore, KeyStartsWithHUnderscore
                        }
                    })
                };

                var query      = new CompositeQuery(DisplayName, orderedFieldNames, futureQuery, isSingleItemResult: true);
                var childQuery = new CompositeQuery(DisplayName, orderedFieldNames, futureQuery, isSingleItemResult: true);

                query.ChildQueries.Add(childQuery);

                var parentRow = new Hashtable(
                    new Dictionary <string, string>
                {
                    {
                        KeyOne, ValueOne1
                    },
                    {
                        KeyTwo, ValueTwo2
                    }
                });

                string[] parentKeys =
                {
                    KeyOne, KeyTwo
                };

                _actual = SystemUnderTest.ProcessResults(query, parentRow, parentKeys, new List <SelectedResourceMember>(), NullValueHandling.Ignore);
            }
Esempio n. 3
0
        public void Visit(CompositeQuery component)
        {
            foreach (var expr in component.CommonTableExpression)
            {
                expr.Accept(this);
            }
            component.Query.Accept(this);

            foreach (var uQuery in component.UnionQueries)
            {
                uQuery.Accept(this);
            }
        }
Esempio n. 4
0
        public void TestCompositeQueryProperties()
        {
            SelectQuery  selectQuery  = new SelectQuery(new [] { "Body", "IsRead" });
            SearchFilter searchFilter = new SearchFilter.IsEqualTo(
                MessageObjectSchema.Body,
                "test");

            CompositeQuery compositeQuery = new CompositeQuery(
                new IQuery[]
            {
                selectQuery,
                searchFilter
            });

            Assert.AreEqual(
                "$select=Body,IsRead&$filter=Body eq 'test'",
                compositeQuery.Query);

            compositeQuery = new CompositeQuery(new [] { selectQuery });

            Assert.AreEqual(
                "$select=Body,IsRead",
                compositeQuery.Query);
        }
Esempio n. 5
0
        public void Test_CompositeQuery()
        {
            IUrlQuery pageQuery      = new PageQuery(17, 11);
            IUrlQuery isEqualToQuery = new SearchFilter.IsEqualTo(MessageObjectSchema.Id, "abcd");
            IUrlQuery selectQuery    = new SelectQuery(new[] { MessageObjectSchema.Id, MessageObjectSchema.Categories });

            IUrlQuery compositeQuery = new CompositeQuery(new[]
            {
                pageQuery,
                isEqualToQuery,
                selectQuery
            });

            Assert.AreEqual(
                "$top=11&$skip=17&$filter=Id eq 'abcd'&$select=Id,Categories",
                compositeQuery.GetUrlQuery());

            isEqualToQuery = new SearchFilter.IsEqualTo(MessageObjectSchema.From, "*****@*****.**");
            compositeQuery = new CompositeQuery(new IUrlQuery[] { isEqualToQuery });

            Assert.AreEqual(
                "$filter=From/EmailAddress/Address eq '*****@*****.**'",
                compositeQuery.GetUrlQuery());
        }
Esempio n. 6
0
        public static ICompositeQuery AsCompositeQuery(this ISQLContext context)
        {
            ICompositeQuery query = new CompositeQuery(context);

            return(query);
        }
Esempio n. 7
0
 public void Visit(CompositeQuery component)
 {
     throw new NotImplementedException();
 }