using FluentValidation;
using Kean.Domain.Task.Models;
using System;
namespace Kean.Domain.Task.Commands
{
///
/// 创建避让命令
///
public class AvertCommand : CommandValidator, ICommand
{
///
/// 特征码
///
internal const string Feature = "@Avert";
///
/// 送入行为
/// (避让位置作为终点)
///
public const string Entering = nameof(Entering);
///
/// 取出行为
/// (避让位置作为起点)
///
public const string Leaving = nameof(Leaving);
///
/// 避让位置
///
public Cell Cell { get; set; }
///
/// 避让行为
///
public string Behavior { get; set; }
///
/// 优先级
///
public int? Priority { get; set; }
///
/// 前续连接
///
public int? Previous { get; set; }
///
/// 时间戳
///
internal DateTime? Timestamp { get; set; }
///
/// 验证项
///
protected override void Validation()
{
RuleFor(r => r.Cell).NotEmpty().WithMessage("位置不允许空");
RuleFor(r => r.Behavior).NotEmpty().WithMessage("行为不允许空");
}
///
/// 标识
///
[Output]
public int? Id { get; private set; }
}
}