using FluentValidation; using System.Collections.Generic; namespace Kean.Domain.Material.Commands { /// /// 创建安全库存命令 /// public class CreateSafetyCommand : CommandValidator, ICommand { /// /// 物料 /// public int Material { get; set; } /// /// 库房 /// public IEnumerable Warehouse { get; set; } /// /// 安全下限 /// public decimal? LowerLimit { get; set; } /// /// 安全上限 /// public decimal? UpperLimit { get; set; } /// /// 验证项 /// protected override void Validation() { RuleFor(r => r.Material).NotEmpty().WithMessage("物料不允许空"); //RuleFor(r => r.Warehouse).NotEmpty().WithMessage("库房不允许空"); RuleFor(r => r.LowerLimit).NotNull().WithMessage("安全限制不允许空").When(r => !r.UpperLimit.HasValue); RuleFor(r => r.UpperLimit).GreaterThanOrEqualTo(r => r.LowerLimit).WithMessage("上限必须大于下限").When(r => r.LowerLimit.HasValue && r.UpperLimit.HasValue); } /// /// 标识 /// [Output] public int Id { get; private set; } } }