Browse Source

Merge branch 'dev' into orderly-attributes

pull/153/head
gdlcf88 4 years ago
parent
commit
928f52e4d0
  1. 13
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductInventories/ProductInventoryAppService.cs
  2. 8
      modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/CreateModal.cshtml.cs

13
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Application/EasyAbp/EShop/Products/ProductInventories/ProductInventoryAppService.cs

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Authorization;
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Entities;
namespace EasyAbp.EShop.Products.ProductInventories
{
@ -32,6 +33,13 @@ namespace EasyAbp.EShop.Products.ProductInventories
if (productInventory == null)
{
var product = await _productRepository.GetAsync(productId);
if (!product.ProductSkus.Exists(x => x.Id == productSkuId))
{
throw new EntityNotFoundException(typeof(ProductSku), productSkuId);
}
productInventory = new ProductInventory(GuidGenerator.Create(), CurrentTenant.Id, productId,
productSkuId, 0, 0);
@ -45,6 +53,11 @@ namespace EasyAbp.EShop.Products.ProductInventories
{
var product = await _productRepository.GetAsync(input.ProductId);
if (!product.ProductSkus.Exists(x => x.Id == input.ProductSkuId))
{
throw new EntityNotFoundException(typeof(ProductSku), input.ProductSkuId);
}
await AuthorizationService.CheckMultiStorePolicyAsync(product.StoreId,
ProductsPermissions.ProductInventory.Update, ProductsPermissions.ProductInventory.CrossStore);

8
modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Web/Pages/EShop/Products/Products/ProductSku/CreateModal.cshtml.cs

@ -71,12 +71,14 @@ namespace EasyAbp.EShop.Products.Web.Pages.EShop.Products.Products.ProductSku
createDto.ProductDetailId = detail.Id;
}
var skuDto = await _productAppService.CreateSkuAsync(ProductId, createDto);
var product = await _productAppService.CreateSkuAsync(ProductId, createDto);
var productSku = product.ProductSkus
.Single(x => !x.AttributeOptionIds.Except(createDto.AttributeOptionIds).Any());
await _productInventoryAppService.UpdateAsync(new UpdateProductInventoryDto
{
ProductId = ProductId,
ProductSkuId = skuDto.Id,
ProductId = product.Id,
ProductSkuId = productSku.Id,
ChangedInventory = ProductSku.Inventory
});

Loading…
Cancel
Save