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); } } }