using FluentValidation; using FluentValidation.Results; using Kean.Infrastructure.Configuration; namespace Kean.Domain.Material.Commands { /// /// 创建物料命令 /// public class CreateMaterialCommand : MaterialProperty, ICommand { /// /// 品类 /// public int? Category { get; set; } /// /// 物料组 /// public string Group { get; set; } /// /// 料号 /// public string Code { get; set; } /// /// 名称 /// public string Name { get; set; } /// /// 验证器 /// 由于命令需要继承 MaterialProperty,所以无法直接实现 CommandValidator /// internal class Validator : AbstractValidator { /// /// 初始化 Kean.Domain.Material.Commands.CreateMaterialCommand.Validator 类的新实例 /// internal Validator() { RuleFor(r => r.Code).NotEmpty().WithMessage("料号不允许空"); RuleFor(r => r.Name).NotEmpty().WithMessage("名称不允许空"); } } /// /// 验证结果 /// public ValidationResult ValidationResult => new Validator().Validate(this); /// /// 标识 /// [Output] public int Id { get; private set; } } }