using FluentValidation;

namespace SIGCM2.Application.IngresosBrutos.Update;

public sealed class UpdateIngresosBrutosCommandValidator : AbstractValidator<UpdateIngresosBrutosCommand>
{
    private const int DescripcionMaxLength = 255;

    public UpdateIngresosBrutosCommandValidator()
    {
        RuleFor(x => x.Id)
            .GreaterThan(0).WithMessage("El id debe ser mayor a 0.");

        RuleFor(x => x.Descripcion)
            .NotEmpty().WithMessage("La descripción es requerida.")
            .MaximumLength(DescripcionMaxLength)
            .WithMessage($"La descripción no puede superar los {DescripcionMaxLength} caracteres.");
    }
}
