山东雷驰
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

59 lines
1.7 KiB

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