feat(api): JobAutoControlController - управление автоматическим созданием/деактивацией/активацией РР
This commit is contained in:
33
PARR.API/Validators/JobAutoControlRequestValidator.cs
Normal file
33
PARR.API/Validators/JobAutoControlRequestValidator.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using FluentValidation;
|
||||
using PARR.API.Contracts.V1.Requests;
|
||||
using PARR.DAL.Contracts;
|
||||
|
||||
namespace PARR.API.Validators
|
||||
{
|
||||
public class JobAutoControlRequestValidator : AbstractValidator<JobAutoControlRequest>
|
||||
{
|
||||
public JobAutoControlRequestValidator()
|
||||
{
|
||||
RuleFor(t => t.EkMasks).Must(items =>
|
||||
items.Count(t => t.Trim().Length > 0) > 0
|
||||
).WithMessage("Должна быть указана хотя бы одна маска ЭК");
|
||||
|
||||
RuleFor(t => t.EnabledEkStatuses).Must(
|
||||
items => items.Distinct().Count() == items.Count()
|
||||
).WithMessage("Статусы ЭК не должны повторяться");
|
||||
|
||||
RuleFor(t => t.EnabledEkStatuses).Must(items =>
|
||||
{
|
||||
return !items.Any(item => !Enum.IsDefined(typeof(EkStatusEnum), item)) && !items.Any(t => t == 0);
|
||||
})
|
||||
.WithMessage($"Допустимые значения: {(int)EkStatusEnum.New} ({EkStatusEnum.New}), " +
|
||||
$"{(int)EkStatusEnum.Preapre} ({EkStatusEnum.Preapre}), " +
|
||||
$"{(int)EkStatusEnum.Exploitation} ({EkStatusEnum.Exploitation}), " +
|
||||
$"{(int)EkStatusEnum.Repair} ({EkStatusEnum.Repair}), " +
|
||||
$"{(int)EkStatusEnum.Reserve} ({EkStatusEnum.Reserve}), " +
|
||||
$"{(int)EkStatusEnum.OutOfService} ({EkStatusEnum.OutOfService}), " +
|
||||
$"{(int)EkStatusEnum.Test} ({EkStatusEnum.Test}), " +
|
||||
$"{(int)EkStatusEnum.Development} ({EkStatusEnum.Development})");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user