From 8bbefef2a9fd37071c9e29c8937682ef56daab21 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Wed, 7 Apr 2021 17:13:10 +0800 Subject: [PATCH] Fix CheckUniqueNameAsync --- common.props | 2 +- .../DuplicatedProductUniqueNameException.cs | 0 .../Products/ProductCodeDuplicatedException.cs | 13 ------------- .../EShop/Products/Products/ProductManager.cs | 2 +- .../EShop/Products/Products/ProductRepository.cs | 5 +++++ 5 files changed, 7 insertions(+), 15 deletions(-) rename modules/EasyAbp.EShop.Products/src/{EasyAbp.EShop.Products.EntityFrameworkCore => EasyAbp.EShop.Products.Domain}/EasyAbp/EShop/Products/Products/DuplicatedProductUniqueNameException.cs (100%) delete mode 100644 modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductCodeDuplicatedException.cs diff --git a/common.props b/common.props index b521e912..dd6cfe15 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 2.1.3 + 2.1.4 $(NoWarn);CS1591 true EasyAbp Team diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/Products/DuplicatedProductUniqueNameException.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/DuplicatedProductUniqueNameException.cs similarity index 100% rename from modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/Products/DuplicatedProductUniqueNameException.cs rename to modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/DuplicatedProductUniqueNameException.cs diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductCodeDuplicatedException.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductCodeDuplicatedException.cs deleted file mode 100644 index 591d47e7..00000000 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductCodeDuplicatedException.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using Volo.Abp; - -namespace EasyAbp.EShop.Products.Products -{ - public class ProductCodeDuplicatedException : BusinessException - { - public ProductCodeDuplicatedException(string code) : base( - message: $"Product code {code} is duplicate.") - { - } - } -} \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductManager.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductManager.cs index de4c4c2c..62b10b21 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductManager.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductManager.cs @@ -152,7 +152,7 @@ namespace EasyAbp.EShop.Products.Products if (await _productRepository.FindAsync(x => x.UniqueName == product.UniqueName && x.Id != product.Id) != null) { - throw new ProductCodeDuplicatedException(product.UniqueName); + throw new DuplicatedProductUniqueNameException(product.UniqueName); } } diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/Products/ProductRepository.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/Products/ProductRepository.cs index 9be1dc07..4b796cf9 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/Products/ProductRepository.cs +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/Products/ProductRepository.cs @@ -31,6 +31,11 @@ namespace EasyAbp.EShop.Products.Products protected virtual async Task CheckUniqueNameAsync(Product entity, CancellationToken cancellationToken = new CancellationToken()) { + if (entity.UniqueName.IsNullOrEmpty()) + { + return; + } + if (await (await GetDbSetAsync()).AnyAsync( x => x.StoreId == entity.StoreId && x.UniqueName == entity.UniqueName && x.Id != entity.Id, cancellationToken))