Browse Source

Add orderExtraProperties param to IPurchasableCheckManager.CheckAsync()

pull/87/head v0.4.5
gdlcf88 6 years ago
parent
commit
68664c3871
  1. 2
      common.props
  2. 3
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/BasicPurchasableCheckProvider.cs
  3. 3
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckManager.cs
  4. 3
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/IPurchasableCheckProvider.cs
  5. 3
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs
  6. 4
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs
  7. 7
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/PurchasableCheckManager.cs

2
common.props

@ -1,7 +1,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<Version>0.4.4</Version> <Version>0.4.5</Version>
<NoWarn>$(NoWarn);CS1591</NoWarn> <NoWarn>$(NoWarn);CS1591</NoWarn>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>EasyAbp Team</Authors> <Authors>EasyAbp Team</Authors>

3
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 class BasicPurchasableCheckProvider : IPurchasableCheckProvider, ITransientDependency
{ {
public async Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict) public virtual async Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict,
Dictionary<string, object> orderExtraProperties)
{ {
await CheckProductsPublishedAsync(input, productDict); await CheckProductsPublishedAsync(input, productDict);

3
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 public interface IPurchasableCheckManager
{ {
Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict); Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict,
Dictionary<string, object> orderExtraProperties);
} }
} }

3
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 public interface IPurchasableCheckProvider
{ {
Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict); Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict,
Dictionary<string, object> orderExtraProperties);
} }
} }

3
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.ProductInventories;
using EasyAbp.EShop.Products.Products; using EasyAbp.EShop.Products.Products;
using EasyAbp.EShop.Products.Products.Dtos; using EasyAbp.EShop.Products.Products.Dtos;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.Json; using Volo.Abp.Json;
@ -62,7 +63,7 @@ namespace EasyAbp.EShop.Orders.Orders
foreach (var orderExtraProperty in orderExtraProperties) foreach (var orderExtraProperty in orderExtraProperties)
{ {
order.ExtraProperties.Add(orderExtraProperty.Key, orderExtraProperty.Value); order.SetProperty(orderExtraProperty.Key, orderExtraProperty.Value);
} }
order.SetOrderLines(orderLines); order.SetOrderLines(orderLines);

4
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(), var productDict = await GetProductDictionaryAsync(input.OrderLines.Select(dto => dto.ProductId).ToList(),
input.StoreId); input.StoreId);
await _purchasableCheckManager.CheckAsync(input, productDict);
var orderExtraProperties = new Dictionary<string, object>(); var orderExtraProperties = new Dictionary<string, object>();
await _purchasableCheckManager.CheckAsync(input, productDict, orderExtraProperties);
var order = await _newOrderGenerator.GenerateAsync(input, productDict, orderExtraProperties); var order = await _newOrderGenerator.GenerateAsync(input, productDict, orderExtraProperties);
await _orderDiscountManager.DiscountAsync(order, input.ExtraProperties); await _orderDiscountManager.DiscountAsync(order, input.ExtraProperties);

7
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; _serviceProvider = serviceProvider;
} }
public async Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict) public async Task CheckAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict,
Dictionary<string, object> orderExtraProperties)
{ {
var providers = _serviceProvider.GetServices<IPurchasableCheckProvider>(); var providers = _serviceProvider.GetServices<IPurchasableCheckProvider>();
foreach (var provider in providers) foreach (var provider in providers)
{ {
await provider.CheckAsync(input, productDict); await provider.CheckAsync(input, productDict, orderExtraProperties);
} }
} }
} }

Loading…
Cancel
Save