예제 #1
0
        public override Expression <Func <Blog, bool> > SatisfiedBy()
        {
            Criterion <Blog> c = new TrueCriterion <Blog>();

            if (IsEnabled.HasValue)
            {
                c &= IsEnabled.Value ? EnabledCriteria.Enabled <Blog>() : EnabledCriteria.Disabled <Blog>();
            }

            if (string.IsNullOrEmpty(Keyword))
            {
                c &= BlogCriteria.Keyword(Keyword);
            }

            return(c.SatisfiedBy());
        }
예제 #2
0
        public async Task GetPagedResultAsync_returns_data()
        {
            //Arrange
            await SeedAsync();

            using var db = _fixture.GetConnection();
            var blogCriteria = new BlogCriteria {
                Search = "category", CurrentPage = 2, PageSize = 4
            };
            var expected = await db.Blogs.Where(x => x.Category.Contains(blogCriteria.Search)).GetPagedResultAsync(blogCriteria);

            var             expected_item = expected.Results.First();
            IBlogRepository service       = new BlogService(db);

            //Act
            PagedResult <Blog> result = await service.GetPagedAsync(blogCriteria);

            //Assert
            var result_item = result.Results.First();

            Assert.Equal(expected_item.Title, result_item.Title);
        }
예제 #3
0
        public async Task <IActionResult> Get([FromQuery] BlogCriteria blogCriteria)
        {
            var result = await _service.GetPagedAsync(blogCriteria);

            return(Ok(result));
        }