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