Exemple #1
0
        public async Task TestDomainService_QueryDirect()
        {
            TestDomainServices.LTS.Catalog provider = ServerTestHelper.CreateInitializedDomainService <TestDomainServices.LTS.Catalog>(DomainOperationType.Query);

            DomainServiceDescription serviceDescription = DomainServiceDescription.GetDescription(provider.GetType());
            DomainOperationEntry     method             = serviceDescription.DomainOperationEntries.Where(p => p.Operation == DomainOperation.Query).First(p => p.Name == "GetProductsByCategory");
            QueryDescription         qd = new QueryDescription(method, new object[] { 1 });

            var queryResult = await provider.QueryAsync <DataTests.AdventureWorks.LTS.Product>(qd, CancellationToken.None);

            int count = queryResult.Result.Cast <DataTests.AdventureWorks.LTS.Product>().Count();

            Assert.AreEqual(32, count);

            // verify that we can use the same provider to execute another query
            qd          = new QueryDescription(method, new object[] { 2 });
            queryResult = await provider.QueryAsync <DataTests.AdventureWorks.LTS.Product>(qd, CancellationToken.None);

            count = queryResult.Result.Cast <DataTests.AdventureWorks.LTS.Product>().Count();
            Assert.AreEqual(43, count);
        }
Exemple #2
0
        public void TestDomainService_QueryDirect()
        {
            TestDomainServices.LTS.Catalog provider = ServerTestHelper.CreateInitializedDomainService <TestDomainServices.LTS.Catalog>(DomainOperationType.Query);

            DomainServiceDescription serviceDescription = DomainServiceDescription.GetDescription(provider.GetType());
            DomainOperationEntry     method             = serviceDescription.DomainOperationEntries.Where(p => p.Operation == DomainOperation.Query).First(p => p.Name == "GetProductsByCategory");
            QueryDescription         qd = new QueryDescription(method, new object[] { 1 });
            int totalCount;
            IEnumerable <ValidationResult> validationErrors;
            IEnumerable result = provider.Query(qd, out validationErrors, out totalCount);

            int count = result.Cast <DataTests.AdventureWorks.LTS.Product>().Count();

            Assert.AreEqual(32, count);

            // verify that we can use the same provider to execute another query
            qd     = new QueryDescription(method, new object[] { 2 });
            result = provider.Query(qd, out validationErrors, out totalCount);
            count  = result.Cast <DataTests.AdventureWorks.LTS.Product>().Count();
            Assert.AreEqual(43, count);
        }