using Kean.Application.Command.Interfaces;
using Kean.Application.Command.ViewModels;
using Kean.Domain.Stock.Commands;
using System;
using System.Threading.Tasks;
namespace Kean.Application.Command.Implements
{
///
/// 库存交互聚合颗粒
///
partial class AggregateGrain
{
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.Inbound 方法
*/
public Task Inbound(InboundCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).Inbound(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.Outbound 方法
*/
public Task Outbound(OutboundCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).Outbound(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.Update 方法
*/
public Task Update(UpdateCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).Update(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.Combine 方法
*/
public Task Combine(CombineCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).Combine(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.Inventory 方法
*/
public Task Inventory(InventoryCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).Inventory(command);
/////////////////////////////////////////////
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.ScanInbound 方法
*/
public Task<(string Device, Failure Failure)> ScanInbound(ScanInboundCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).ScanInbound(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.PalletIn 方法
*/
public Task PalletIn(PalletInCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).PalletIn(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.PreScanInbound 方法
*/
public Task<(string Device, Failure Failure)> PreScanInbound(PreScanInboundCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).PreScanInbound(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.RecordInterface 方法
*/
public Task RecordInterface(InterfaceRecordCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).RecordInterface(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.SetRollResult 方法
*/
public Task SetRollResult(SetRollResultCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).SetRollResult(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.PreSetQcStatus 方法
*/
public Task<(int barcodeCount, Failure Failure)> PreSetQcStatus(PreSetQcStatusCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).PreSetQcStatus(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.ChangeStorageProperty 方法
*/
public Task ChangeStorageProperty(ChangeStoragePropertyCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).ChangeStorageProperty(command);
/*
* 实现 Kean.Application.Command.Interfaces.IAggregateGrain.ChangeStorageProperty 方法
*/
public Task BatchReFeedback(BatchReFeedbackCommand command) =>
GrainFactory.GetGrain(Guid.NewGuid()).BatchReFeedback(command);
}
}