public async Task<CategoryPageOutput> GetTagByPage(CategoryPageInput input) { return await GetByPage(input, TaxonomyEnum.PostTag); }
public async Task<CategoryPageOutput> GetByPage(CategoryPageInput input, TaxonomyEnum taxonomy) { //跳过条数 var skipCount = (input.PageIndex - 1) * input.PageSize; //获取条数 var maxResultCount = input.PageSize; //获取总条数 var totalCount = await _categoryRepository.CountAsync(w => w.Taxonomy == taxonomy); //获取集合 var categoryList = await _categoryRepository.GetEnumerableByPage(skipCount, maxResultCount, taxonomy, o => o.CreationTime); var result = new CategoryPageOutput { TotalCount = totalCount, Items = Mapper.Map<IReadOnlyList<CategoryDto>>(categoryList), PageIndex = input.PageIndex }; return result; }
public async void Should_GetByPage() { var input1 = new CategoryPageInput() { PageIndex = 1, PageSize = 5 }; var input2 = new CategoryPageInput() { PageIndex = 0, PageSize = 0 }; var input3 = new CategoryPageInput() { PageIndex = 2, PageSize = 5 }; var output1 = await _categoryService.GetCategoryByPage(input1); var output2 = await _categoryService.GetCategoryByPage(input2); var output3 = await _categoryService.GetCategoryByPage(input3); output1.TotalCount.ShouldBe(1); output1.TotalCount.ShouldBe(output2.TotalCount); output1.Items.Count.ShouldBe(output2.Items.Count); output1.Items.Count().ShouldBe(1); output3.TotalCount.ShouldBe(1); output3.Items.Count.ShouldBe(0); }