autobus-api_old/AutobusApi.Application/VehicleEnrollments/Commands/CreateVehicleEnrollment/CreateVehicleEnrollmentCommandValidator.cs

21 lines
780 B
C#

using FluentValidation;
namespace AutobusApi.Application.VehicleEnrollments.Commands.CreateVehicleEnrollment;
public class CreateVehicleEnrollmentCommandValidator : AbstractValidator<CreateVehicleEnrollmentCommand>
{
public CreateVehicleEnrollmentCommandValidator()
{
RuleFor(v => v.VehicleId).GreaterThan(0);
RuleFor(v => v.RouteId).GreaterThan(0);
RuleForEach(v => v.RouteAddressDetails).ChildRules(detail =>
{
detail.RuleFor(v => v.RouteAddressId).GreaterThan(0);
detail.RuleFor(v => v.TimeToNextAddress).GreaterThan(TimeSpan.Zero);
detail.RuleFor(v => v.CurrentAddressStopTime).GreaterThan(TimeSpan.Zero);
detail.RuleFor(v => v.CostToNextAddress).GreaterThan(0.0);
});
}
}