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