using Kean.Domain.Task.Commands;
using Kean.Domain.Task.Enums;
using Kean.Domain.Task.Repositories;
using System;
namespace Kean.Domain.Task.SharedServices
{
///
/// 重新上报
///
public sealed class Report
{
private readonly ICommandBus _commandBus;
private readonly ITaskRepository _taskRepository; // 任务仓库
///
/// 依赖注入
///
public Report(
ICommandBus commandBus,
ITaskRepository taskRepository)
{
_commandBus = commandBus;
_taskRepository = taskRepository;
}
///
/// 处理程序
///
/// 库房
/// 条码
/// 负载规格
/// 操作位置
/// 目标位置
/// 优先级
/// 操作者
/// 标签
/// 前序连接
public async System.Threading.Tasks.Task Handler(
string tag,
string barcode,
int destination,
int @operator)
{
// 创建任务
Models.Task task = new Models.Task();
task.Type = TaskType.Report;
task.Tag = tag;
task.Barcode = barcode;
task.Original = destination;
task.Timestamp = DateTime.Now;
task.Operator = @operator;
return await _taskRepository.CreateTask(task);
}
}
}