From 455f203dc8f7962683b538d644feea9f3bb7d265 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 6 Jul 2020 16:16:11 +0800 Subject: [PATCH] Close #73: Check inventory when creating an order --- common.props | 2 +- .../EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/common.props b/common.props index 6bf304ab..dd287038 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 0.3.8 + 0.4.0 $(NoWarn);CS1591 true EasyAbp Team diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs index 5d779371..8149572f 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using EasyAbp.EShop.Orders.Orders.Dtos; +using EasyAbp.EShop.Products.ProductInventories; using EasyAbp.EShop.Products.Products; using EasyAbp.EShop.Products.Products.Dtos; using Volo.Abp.DependencyInjection; @@ -75,6 +76,12 @@ namespace EasyAbp.EShop.Orders.Orders { throw new OrderLineInvalidQuantityException(product.Id, productSku.Id, input.Quantity); } + + if (productSku.Inventory < input.Quantity) + { + throw new InventoryInsufficientException(input.ProductId, input.ProductSkuId, input.Quantity, + productSku.Inventory); + } return new OrderLine( id: _guidGenerator.Create(),