using Kean.Domain.Task.Events;
using Kean.Domain.Task.Repositories;
using Kean.Domain.Task.SharedServices.Proxies;
using System.Threading;
namespace Kean.Domain.Task.EventHandlers
{
///
/// 创建输送命令成功时,下达控制任务
///
public sealed class BypassHithumSuccessEventHandler_Wcs : EventHandler
{
private readonly WcsProxy _wcsProxy; // 控制域
private readonly IWarehouseRepository _warehouseRepository;
///
/// 依赖注入
///
public BypassHithumSuccessEventHandler_Wcs(
IWarehouseRepository warehouseRepository,
WcsProxy wcsProxy)
{
_warehouseRepository = warehouseRepository;
_wcsProxy = wcsProxy;
}
///
/// 处理程序
///
public override async System.Threading.Tasks.Task Handle(BypassHithumSuccessEvent @event, CancellationToken cancellationToken)
{
await _wcsProxy.SendOutput(
@event.Id,
@event.Original.Warehouse.ToString(),
4,
@event.Priority ?? 0,
@event.Barcode,
@event.Original.Device,
@event.Destination.Device,
@event.Destination.Warehouse.ToString(),
@event.Timestamp,
@event.Operator);
}
}
}