using Kean.Domain.Task.Events;
using Kean.Domain.Task.SharedServices.Proxies;
using System.Threading;
namespace Kean.Domain.Task.EventHandlers
{
///
/// 任务完成命令成功时,移动库存
///
[EventHandlerIndex(0)]
public sealed class CompleteSuccessEventHandler_Stock : EventHandler
{
private readonly StockProxy _stockProxy; // 仓储域
///
/// 依赖注入
///
public CompleteSuccessEventHandler_Stock(
StockProxy stockProxy)
{
_stockProxy = stockProxy;
}
///
/// 处理程序
///
public override async System.Threading.Tasks.Task Handle(CompleteSuccessEvent @event, CancellationToken cancellationToken)
{
await _stockProxy.Relocate(
@event.Type.ToString(),
@event.Barcode,
@event.Spec,
@event.Original,
@event.Destination,
@event.Operator,
@event.Tag,
(@event.Created, @event.Timestamp));
}
}
}