Browse Source

Close #60: Rename Code properties in Product aggregate.

pull/87/head
gdlcf88 6 years ago
parent
commit
b18a956b9e
  1. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/CreateUpdateProductDto.cs
  2. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/CreateUpdateProductSkuDto.cs
  3. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/ProductDto.cs
  4. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/ProductSkuDto.cs
  5. 3
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs
  6. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json
  7. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json
  8. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json
  9. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json
  10. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json
  11. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json
  12. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json
  13. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json
  14. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json
  15. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/IProduct.cs
  16. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/IProductSku.cs
  17. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/ProductEto.cs
  18. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/ProductSkuEto.cs
  19. 6
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/Product.cs
  20. 18
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductManager.cs
  21. 8
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductSku.cs
  22. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/EntityFrameworkCore/ProductsDbContextModelCreatingExtensions.cs
  23. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/Index.cshtml
  24. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/ViewModels/CreateEditProductViewModel.cs
  25. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/index.js
  26. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/Index.cshtml
  27. 4
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/ViewModels/EditProductSkuViewModel.cs
  28. 2
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/index.js
  29. 3840
      samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710151847_RenamedCodeToName.Designer.cs
  30. 33
      samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710151847_RenamedCodeToName.cs
  31. 3844
      samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710152518_MadeUniqueNameUniqueIndex.Designer.cs
  32. 40
      samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710152518_MadeUniqueNameUniqueIndex.cs
  33. 16
      samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/EShopSampleMigrationsDbContextModelSnapshot.cs

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/CreateUpdateProductDto.cs

@ -23,8 +23,8 @@ namespace EasyAbp.EShop.Products.Products.Dtos
[DisplayName("ProductCategory")]
public ICollection<Guid> CategoryIds { get; set; }
[DisplayName("ProductCode")]
public string Code { get; set; }
[DisplayName("ProductUniqueName")]
public string UniqueName { get; set; }
[Required]
[DisplayName("ProductDisplayName")]

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/CreateUpdateProductSkuDto.cs

@ -7,8 +7,8 @@ namespace EasyAbp.EShop.Products.Products.Dtos
{
public class UpdateProductSkuDto
{
[DisplayName("ProductSkuCode")]
public string Code { get; set; }
[DisplayName("ProductSkuName")]
public string Name { get; set; }
[Required]
[DisplayName("ProductSkuCurrency")]

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/ProductDto.cs

@ -14,7 +14,7 @@ namespace EasyAbp.EShop.Products.Products.Dtos
public Guid ProductDetailId { get; set; }
public string Code { get; set; }
public string UniqueName { get; set; }
public string DisplayName { get; set; }

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application.Contracts/EasyAbp/EShop/Products/Products/Dtos/ProductSkuDto.cs

@ -8,7 +8,7 @@ namespace EasyAbp.EShop.Products.Products.Dtos
{
public List<Guid> AttributeOptionIds { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Currency { get; set; }

3
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/Products/ProductAppService.cs

@ -77,7 +77,6 @@ namespace EasyAbp.EShop.Products.Products
return MapToGetOutputDto(product);
}
public override async Task<ProductDto> UpdateAsync(Guid id, CreateUpdateProductDto input)
{
await CheckUpdatePolicyAsync();
@ -225,7 +224,7 @@ namespace EasyAbp.EShop.Products.Products
{
await CheckGetPolicyAsync();
var product = await _repository.GetAsync(x => x.Code == code);
var product = await _repository.GetAsync(x => x.UniqueName == code);
if (!product.IsPublished)
{

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json

@ -8,7 +8,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -22,7 +22,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json

@ -9,7 +9,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -23,7 +23,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json

@ -8,7 +8,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -22,7 +22,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json

@ -8,7 +8,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -22,7 +22,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json

@ -9,7 +9,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -23,7 +23,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json

@ -9,7 +9,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -23,7 +23,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json

@ -8,7 +8,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -22,7 +22,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json

@ -9,7 +9,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -23,7 +23,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json

@ -9,7 +9,7 @@
"ProductProductTypeId": "ProductProductTypeId",
"ProductDetailId": "ProductDetailId",
"ProductProductStoreId": "ProductProductStoreId",
"ProductCode": "ProductCode",
"ProductUniqueName": "ProductUniqueName",
"ProductDisplayName": "ProductDisplayName",
"ProductDetailProductId": "ProductDetailProductId",
"ProductDetailProductSkuId": "ProductDetailProductSkuId",
@ -23,7 +23,7 @@
"ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder",
"ProductSku": "ProductSku",
"ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds",
"ProductSkuCode": "ProductSkuCode",
"ProductSkuName": "ProductSkuName",
"ProductSkuCurrency": "ProductSkuCurrency",
"ProductSkuOriginalPrice": "ProductSkuOriginalPrice",
"ProductSkuPrice": "ProductSkuPrice",

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/IProduct.cs

@ -10,7 +10,7 @@ namespace EasyAbp.EShop.Products.Products
Guid ProductDetailId { get; }
string Code { get; }
string UniqueName { get; }
string DisplayName { get; }

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/IProductSku.cs

@ -6,7 +6,7 @@ namespace EasyAbp.EShop.Products.Products
{
string SerializedAttributeOptionIds { get; }
string Code { get; }
string Name { get; }
string Currency { get; }

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/ProductEto.cs

@ -11,7 +11,7 @@ namespace EasyAbp.EShop.Products.Products
public Guid ProductDetailId { get; set; }
public string Code { get; set; }
public string UniqueName { get; set; }
public string DisplayName { get; set; }

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Products/ProductSkuEto.cs

@ -8,7 +8,7 @@ namespace EasyAbp.EShop.Products.Products
public string SerializedAttributeOptionIds { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Currency { get; set; }

6
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/Product.cs

@ -13,7 +13,7 @@ namespace EasyAbp.EShop.Products.Products
public virtual Guid ProductDetailId { get; protected set; }
[CanBeNull]
public virtual string Code { get; protected set; }
public virtual string UniqueName { get; protected set; }
[NotNull]
public virtual string DisplayName { get; protected set; }
@ -59,7 +59,7 @@ namespace EasyAbp.EShop.Products.Products
{
ProductTypeId = productTypeId;
ProductDetailId = productDetailId;
Code = code?.Trim();
UniqueName = code?.Trim();
DisplayName = displayName;
InventoryStrategy = inventoryStrategy;
IsPublished = isPublished;
@ -81,7 +81,7 @@ namespace EasyAbp.EShop.Products.Products
public void TrimCode()
{
Code = Code?.Trim();
UniqueName = UniqueName?.Trim();
}
}
}

18
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductManager.cs

@ -84,7 +84,7 @@ namespace EasyAbp.EShop.Products.Products
await CheckSkuAttributeOptionsAsync(product, productSku);
await CheckProductSkuCodeUniqueAsync(product, productSku);
await CheckProductSkuNameUniqueAsync(product, productSku);
productSku.TrimCode();
@ -93,17 +93,17 @@ namespace EasyAbp.EShop.Products.Products
return await _productRepository.UpdateAsync(product, true);
}
protected virtual Task CheckProductSkuCodeUniqueAsync(Product product, ProductSku productSku)
protected virtual Task CheckProductSkuNameUniqueAsync(Product product, ProductSku productSku)
{
if (productSku.Code.IsNullOrEmpty())
if (productSku.Name.IsNullOrEmpty())
{
return Task.CompletedTask;
}
if (product.ProductSkus.Where(sku => sku.Id != productSku.Id)
.FirstOrDefault(sku => sku.Code == productSku.Code) != null)
.FirstOrDefault(sku => sku.Name == productSku.Name) != null)
{
throw new ProductSkuCodeDuplicatedException(product.Id, productSku.Code);
throw new ProductSkuCodeDuplicatedException(product.Id, productSku.Name);
}
return Task.CompletedTask;
@ -122,7 +122,7 @@ namespace EasyAbp.EShop.Products.Products
public virtual async Task<Product> UpdateSkuAsync(Product product, ProductSku productSku)
{
await CheckProductSkuCodeUniqueAsync(product, productSku);
await CheckProductSkuNameUniqueAsync(product, productSku);
return await _productRepository.UpdateAsync(product, true);
}
@ -142,14 +142,14 @@ namespace EasyAbp.EShop.Products.Products
protected virtual async Task CheckProductCodeUniqueAsync(Product product)
{
if (product.Code.IsNullOrEmpty())
if (product.UniqueName.IsNullOrEmpty())
{
return;
}
if (await _productRepository.FindAsync(x => x.Code == product.Code && x.Id != product.Id) != null)
if (await _productRepository.FindAsync(x => x.UniqueName == product.UniqueName && x.Id != product.Id) != null)
{
throw new ProductCodeDuplicatedException(product.Code);
throw new ProductCodeDuplicatedException(product.UniqueName);
}
}

8
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/Products/ProductSku.cs

@ -10,7 +10,7 @@ namespace EasyAbp.EShop.Products.Products
public virtual string SerializedAttributeOptionIds { get; protected set; }
[CanBeNull]
public virtual string Code { get; protected set; }
public virtual string Name { get; protected set; }
[NotNull]
public virtual string Currency { get; protected set; }
@ -36,7 +36,7 @@ namespace EasyAbp.EShop.Products.Products
public ProductSku(
Guid id,
[NotNull] string serializedAttributeOptionIds,
[CanBeNull] string code,
[CanBeNull] string name,
[NotNull] string currency,
decimal? originalPrice,
decimal price,
@ -47,7 +47,7 @@ namespace EasyAbp.EShop.Products.Products
Guid? productDetailId) : base(id)
{
SerializedAttributeOptionIds = serializedAttributeOptionIds;
Code = code?.Trim();
Name = name?.Trim();
Currency = currency;
OriginalPrice = originalPrice;
Price = price;
@ -60,7 +60,7 @@ namespace EasyAbp.EShop.Products.Products
public void TrimCode()
{
Code = Code?.Trim();
Name = Name?.Trim();
}
public void SetSerializedAttributeOptionIds(string serializedAttributeOptionIds)

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.EntityFrameworkCore/EasyAbp/EShop/Products/EntityFrameworkCore/ProductsDbContextModelCreatingExtensions.cs

@ -54,6 +54,8 @@ namespace EasyAbp.EShop.Products.EntityFrameworkCore
b.ToTable(options.TablePrefix + "Products", options.Schema);
b.ConfigureByConvention();
/* Configure more properties here */
b.HasIndex(x => x.UniqueName).IsUnique();
});
builder.Entity<ProductDetail>(b =>

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/Index.cshtml

@ -46,7 +46,7 @@
<tr>
<th>@L["Actions"]</th>
<th>@L["ProductProductTypeId"]</th>
<th>@L["ProductCode"]</th>
<th>@L["ProductUniqueName"]</th>
<th>@L["ProductDisplayName"]</th>
<th>@L["ProductInventoryStrategy"]</th>
<th>@L["ProductSold"]</th>

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/ViewModels/CreateEditProductViewModel.cs

@ -24,8 +24,8 @@ namespace EasyAbp.EShop.Products.Web.Pages.EShop.Products.Products.Product.ViewM
[Display(Name = "ProductCategory")]
public List<Guid> CategoryIds { get; set; }
[Display(Name = "ProductCode")]
public string Code { get; set; }
[Display(Name = "ProductUniqueName")]
public string UniqueName { get; set; }
[Required]
[Display(Name = "ProductDisplayName")]

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/Product/index.js

@ -51,7 +51,7 @@ $(function () {
}
},
{ data: "productTypeId" },
{ data: "code" },
{ data: "uniqueName" },
{ data: "displayName" },
{ data: "inventoryStrategy" },
{ data: "sold" },

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/Index.cshtml

@ -51,7 +51,7 @@
<thead>
<tr>
<th>@L["Actions"]</th>
<th>@L["ProductSkuCode"]</th>
<th>@L["ProductSkuName"]</th>
<th>@L["ProductSkuContentDescription"]</th>
<th>@L["ProductSkuPrice"]</th>
<th>@L["ProductSkuInventory"]</th>

4
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/ViewModels/EditProductSkuViewModel.cs

@ -8,8 +8,8 @@ namespace EasyAbp.EShop.Products.Web.Pages.EShop.Products.Products.ProductSku.Vi
{
public class EditProductSkuViewModel
{
[Display(Name = "ProductSkuCode")]
public string Code { get; set; }
[Display(Name = "ProductSkuName")]
public string Name { get; set; }
[Required]
[Display(Name = "ProductSkuCurrency")]

2
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/index.js

@ -59,7 +59,7 @@ $(function () {
]
}
},
{ data: "code" },
{ data: "name" },
{ data: "contentDescription" },
{ data: "price" },
{ data: "inventory" },

3840
samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710151847_RenamedCodeToName.Designer.cs

File diff suppressed because it is too large

33
samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710151847_RenamedCodeToName.cs

@ -0,0 +1,33 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace EShopSample.Migrations
{
public partial class RenamedCodeToName : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "Code",
newName: "Name",
table: "EShopProductsProductSkus");
migrationBuilder.RenameColumn(
name: "Code",
newName: "UniqueName",
table: "EShopProductsProducts");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "Name",
newName: "Code",
table: "EShopProductsProductSkus");
migrationBuilder.RenameColumn(
name: "UniqueName",
newName: "Code",
table: "EShopProductsProducts");
}
}
}

3844
samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710152518_MadeUniqueNameUniqueIndex.Designer.cs

File diff suppressed because it is too large

40
samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/20200710152518_MadeUniqueNameUniqueIndex.cs

@ -0,0 +1,40 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace EShopSample.Migrations
{
public partial class MadeUniqueNameUniqueIndex : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<string>(
name: "UniqueName",
table: "EShopProductsProducts",
nullable: true,
oldClrType: typeof(string),
oldType: "nvarchar(max)",
oldNullable: true);
migrationBuilder.CreateIndex(
name: "IX_EShopProductsProducts_UniqueName",
table: "EShopProductsProducts",
column: "UniqueName",
unique: true,
filter: "[UniqueName] IS NOT NULL");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_EShopProductsProducts_UniqueName",
table: "EShopProductsProducts");
migrationBuilder.AlterColumn<string>(
name: "UniqueName",
table: "EShopProductsProducts",
type: "nvarchar(max)",
nullable: true,
oldClrType: typeof(string),
oldNullable: true);
}
}
}

16
samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore.DbMigrations/Migrations/EShopSampleMigrationsDbContextModelSnapshot.cs

@ -1062,9 +1062,6 @@ namespace EShopSample.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("Code")
.HasColumnType("nvarchar(max)");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnName("ConcurrencyStamp")
@ -1135,8 +1132,15 @@ namespace EShopSample.Migrations
b.Property<string>("SpecifiedInventoryProviderName")
.HasColumnType("nvarchar(max)");
b.Property<string>("UniqueName")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("UniqueName")
.IsUnique()
.HasFilter("[UniqueName] IS NOT NULL");
b.ToTable("EShopProductsProducts");
});
@ -1256,9 +1260,6 @@ namespace EShopSample.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("Code")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("CreationTime")
.HasColumnName("CreationTime")
.HasColumnType("datetime2");
@ -1295,6 +1296,9 @@ namespace EShopSample.Migrations
b.Property<string>("MediaResources")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<int>("OrderMaxQuantity")
.HasColumnType("int");

Loading…
Cancel
Save