using FluentValidation;
using Indotalent.Shared.Consts;

namespace Indotalent.Features.Setting.Tax.Cqrs;

public class UpdateTaxValidator : AbstractValidator<UpdateTaxRequest>
{
    public UpdateTaxValidator()
    {
        RuleFor(x => x.Id)
            .NotEmpty().WithMessage("ID is required for update");

        RuleFor(x => x.Code)
            .NotEmpty().WithMessage("Tax Code is required")
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.Name)
            .NotEmpty().WithMessage("Tax Name is required")
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.Category)
            .NotEmpty().WithMessage("Category is required")
            .MaximumLength(GlobalConsts.StringLengthShort);
    }
}