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

namespace PromotionService.API.Application.Validations;

/// <summary>
/// EN: Validator for ExchangeVoucherCommand.
/// VI: Validator cho ExchangeVoucherCommand.
/// </summary>
public class ExchangeVoucherCommandValidator : AbstractValidator<ExchangeVoucherCommand>
{
    public ExchangeVoucherCommandValidator()
    {
        RuleFor(x => x.CampaignId)
            .NotEmpty().WithMessage("Campaign ID is required / ID chiến dịch là bắt buộc");

        RuleFor(x => x.UserId)
            .NotEmpty().WithMessage("User ID is required / ID người dùng là bắt buộc");

        RuleFor(x => x.UserWalletId)
            .NotEmpty().WithMessage("User wallet ID is required / ID ví người dùng là bắt buộc");
    }
}
