diff --git a/common.props b/common.props index cdd75a48..70041163 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 0.4.4 + 0.4.5 $(NoWarn);CS1591 true EasyAbp Team diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/BasicPurchasableCheckProvider.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/BasicPurchasableCheckProvider.cs index 0dbd2b04..e0da78f4 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/BasicPurchasableCheckProvider.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/BasicPurchasableCheckProvider.cs @@ -11,7 +11,8 @@ namespace EasyAbp.EShop.Orders.Orders { public class BasicPurchasableCheckProvider : IPurchasableCheckProvider, ITransientDependency { - public async Task CheckAsync(CreateOrderDto input, Dictionary productDict) + public virtual async Task CheckAsync(CreateOrderDto input, Dictionary productDict, + Dictionary orderExtraProperties) { await CheckProductsPublishedAsync(input, productDict); diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckManager.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckManager.cs index 3062f4cc..32aeab3b 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckManager.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckManager.cs @@ -8,6 +8,7 @@ namespace EasyAbp.EShop.Orders.Orders { public interface IPurchasableCheckManager { - Task CheckAsync(CreateOrderDto input, Dictionary productDict); + Task CheckAsync(CreateOrderDto input, Dictionary productDict, + Dictionary orderExtraProperties); } } \ No newline at end of file diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckProvider.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckProvider.cs index 3bdf79d9..98b3c1d1 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckProvider.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckProvider.cs @@ -8,6 +8,7 @@ namespace EasyAbp.EShop.Orders.Orders { public interface IPurchasableCheckProvider { - Task CheckAsync(CreateOrderDto input, Dictionary productDict); + Task CheckAsync(CreateOrderDto input, Dictionary productDict, + Dictionary orderExtraProperties); } } \ No newline at end of file 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 3769d31e..02817206 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 @@ -7,6 +7,7 @@ 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.Data; using Volo.Abp.DependencyInjection; using Volo.Abp.Guids; using Volo.Abp.Json; @@ -62,7 +63,7 @@ namespace EasyAbp.EShop.Orders.Orders foreach (var orderExtraProperty in orderExtraProperties) { - order.ExtraProperties.Add(orderExtraProperty.Key, orderExtraProperty.Value); + order.SetProperty(orderExtraProperty.Key, orderExtraProperty.Value); } order.SetOrderLines(orderLines); diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs index 6b0a200c..b8a9fd8a 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs @@ -103,10 +103,10 @@ namespace EasyAbp.EShop.Orders.Orders var productDict = await GetProductDictionaryAsync(input.OrderLines.Select(dto => dto.ProductId).ToList(), input.StoreId); - await _purchasableCheckManager.CheckAsync(input, productDict); - var orderExtraProperties = new Dictionary(); + await _purchasableCheckManager.CheckAsync(input, productDict, orderExtraProperties); + var order = await _newOrderGenerator.GenerateAsync(input, productDict, orderExtraProperties); await _orderDiscountManager.DiscountAsync(order, input.ExtraProperties); diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/PurchasableCheckManager.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/PurchasableCheckManager.cs index 9c574d83..7aa9c8d8 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/PurchasableCheckManager.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/PurchasableCheckManager.cs @@ -16,14 +16,15 @@ namespace EasyAbp.EShop.Orders.Orders { _serviceProvider = serviceProvider; } - - public async Task CheckAsync(CreateOrderDto input, Dictionary productDict) + + public async Task CheckAsync(CreateOrderDto input, Dictionary productDict, + Dictionary orderExtraProperties) { var providers = _serviceProvider.GetServices(); foreach (var provider in providers) { - await provider.CheckAsync(input, productDict); + await provider.CheckAsync(input, productDict, orderExtraProperties); } } }