using Kean.Domain.Task.Models; using Kean.Domain.Task.Repositories; using System.Linq; using System.Threading.Tasks; namespace Kean.Domain.Task.Strategies { /// /// 简单上架策略 /// public sealed class InfeedStrategy_Simple : InfeedStrategy { private readonly IWarehouseRepository _warehouseRepository; // 库房仓库 /// /// 依赖注入 /// public InfeedStrategy_Simple( IWarehouseRepository warehouseRepository) { _warehouseRepository = warehouseRepository; } /* * 实现 Kean.Domain.Task.Strategies.InfeedStrategy.AutoDestination 方法 */ public override async Task AutoDestination(string pallet, Station original, int? spec, int? goodsid) { return (await _warehouseRepository.GetFreeCell(original.Device, spec, pallet, goodsid)) ?.FirstOrDefault(); } } }