using FluentValidation;
using PromotionService.API.Application.Commands;

namespace PromotionService.API.Application.Validations;

/// <summary>
/// EN: Validator for ExtendVoucherExpiryCommand.
/// VI: Validator cho ExtendVoucherExpiryCommand.
/// </summary>
public class ExtendVoucherExpiryCommandValidator : AbstractValidator<ExtendVoucherExpiryCommand>
{
    public ExtendVoucherExpiryCommandValidator()
    {
        RuleFor(x => x.VoucherId)
            .NotEmpty().WithMessage("Voucher ID is required / ID voucher là bắt buộc");

        RuleFor(x => x.AdditionalDays)
            .GreaterThan(0).WithMessage("Additional days must be positive / Số ngày gia hạn phải dương")
            .LessThanOrEqualTo(365).WithMessage("Additional days max 365 / Số ngày gia hạn tối đa 365");
    }
}
