示例#1
0
        private IQueryable <TestTable> TestQuery(TestDataQueryArgs args)
        {
            IQueryable <TestTable> testQuery =
                _paginationDbContext.TestTables.AsQueryable();

            if (args.Id > 0)
            {
                testQuery = testQuery.Where(t => t.Id == args.Id);
            }

            if (!string.IsNullOrEmpty(args.Name))
            {
                testQuery = testQuery
                            .Where(t => t.Name.Contains(args.Name));
            }

            if (!string.IsNullOrEmpty(args.Address))
            {
                testQuery = testQuery
                            .Where(t => t.Address.Contains(args.Address));
            }

            if (!string.IsNullOrEmpty(args.Phone))
            {
                testQuery = testQuery
                            .Where(t => t.Phone.Contains(args.Phone));
            }

            return(testQuery);
        }
示例#2
0
        GetTestDataUsingAutomapper([FromQuery] TestDataQueryArgs args)
        {
            IQueryable <TestTable> testQuery = this.TestQuery(args);
            PagedViewModel <TestTableViewModel> testDataWithAutomappper =
                await _pagingManager
                .PageAsync <TestTableViewModel, TestDataQueryArgs>(testQuery, args);

            return(Ok(testDataWithAutomappper));
        }
示例#3
0
        GetTestData([FromQuery] TestDataQueryArgs args)
        {
            IQueryable <TestTable>          testQuery      = this.TestQuery(args);
            IQueryable <TestTableViewModel> testProjection = testQuery
                                                             .Select(t => new TestTableViewModel
            {
                Id      = t.Id,
                Name    = t.Name,
                Phone   = t.Phone,
                Address = t.Address
            });

            PagedViewModel <TestTableViewModel> testData
                = await _pagingManager.PageAsync(testProjection, args);

            return(Ok(testData));
        }