diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/ProductAppService.cs b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/ProductAppService.cs index 90d16ec7b5..c993f27f02 100644 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/ProductAppService.cs +++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/ProductAppService.cs @@ -1,9 +1,13 @@ using System; using System.Collections.Generic; +using System.Linq; +using System.Linq.Dynamic.Core; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.Domain.Repositories; namespace ProductManagement { @@ -11,9 +15,9 @@ namespace ProductManagement public class ProductAppService : ApplicationService, IProductAppService { private readonly ProductManager _productManager; - private readonly IProductRepository _productRepository; + private readonly IRepository _productRepository; - public ProductAppService(ProductManager productManager, IProductRepository productRepository) + public ProductAppService(ProductManager productManager, IRepository productRepository) { _productManager = productManager; _productRepository = productRepository; @@ -23,7 +27,11 @@ namespace ProductManagement { await NormalizeMaxResultCountAsync(input); - var products = await _productRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount); + var products = await _productRepository + .OrderBy(input.Sorting) + .Skip(input.SkipCount) + .Take(input.MaxResultCount) + .ToListAsync(); var totalCount = await _productRepository.GetCountAsync(); diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/PublicProductAppService.cs b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/PublicProductAppService.cs index 866cc31b34..b1f9f3fafc 100644 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/PublicProductAppService.cs +++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application/ProductManagement/PublicProductAppService.cs @@ -1,15 +1,17 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.Domain.Repositories; namespace ProductManagement { public class PublicProductAppService : ApplicationService, IPublicProductAppService { - private readonly IProductRepository _productRepository; + private readonly IRepository _productRepository; - public PublicProductAppService(IProductRepository productRepository) + public PublicProductAppService(IRepository productRepository) { _productRepository = productRepository; } diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/IProductRepository.cs b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/IProductRepository.cs deleted file mode 100644 index c6a1c865c1..0000000000 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/IProductRepository.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; - -namespace ProductManagement -{ - public interface IProductRepository : IBasicRepository - { - Task> GetListAsync(string sorting, int maxResultCount, int skipCount); - } -} diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement/EfCoreProductRepository.cs b/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement/EfCoreProductRepository.cs deleted file mode 100644 index c229505c36..0000000000 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement/EfCoreProductRepository.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using ProductManagement.EntityFrameworkCore; -using Volo.Abp.Domain.Repositories.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; -using System.Linq; -using System.Linq.Dynamic.Core; -using Microsoft.EntityFrameworkCore; - -namespace ProductManagement -{ - public class EfCoreProductRepository : EfCoreRepository, IProductRepository - { - public EfCoreProductRepository(IDbContextProvider dbContextProvider) - : base(dbContextProvider) - { - } - - public async Task> GetListAsync(string sorting, int maxResultCount, int skipCount) - { - // TODO: refactor sorting - var products = await DbSet.OrderBy(sorting ?? "creationTime desc") - .PageBy(skipCount, maxResultCount) - .ToListAsync(); - - return products; - } - } -} diff --git a/samples/MicroserviceDemo/modules/product/test/ProductManagement.Application.Tests/ProductManagement/ProductAppService_Tests.cs b/samples/MicroserviceDemo/modules/product/test/ProductManagement.Application.Tests/ProductManagement/ProductAppService_Tests.cs index 4964f5df98..2cdd7a0a61 100644 --- a/samples/MicroserviceDemo/modules/product/test/ProductManagement.Application.Tests/ProductManagement/ProductAppService_Tests.cs +++ b/samples/MicroserviceDemo/modules/product/test/ProductManagement.Application.Tests/ProductManagement/ProductAppService_Tests.cs @@ -1,10 +1,9 @@ using System; -using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Shouldly; using Volo.Abp.Application.Dtos; +using Volo.Abp.Domain.Repositories; using Xunit; namespace ProductManagement @@ -12,13 +11,13 @@ namespace ProductManagement public class ProductAppService_Tests : ProductManagementApplicationTestBase { private readonly IProductAppService _productAppService; - private readonly IProductRepository _productRepository; + private readonly IRepository _productRepository; private readonly ProductManagementTestData _testData; public ProductAppService_Tests() { _productAppService = GetRequiredService(); - _productRepository = GetRequiredService(); + _productRepository = GetRequiredService>(); _testData = GetRequiredService(); }