using FluentValidation;

namespace CMSMicroservice.Application.PackageCQ.Commands.VerifyGoldenPackagePurchase;

public class VerifyGoldenPackagePurchaseCommandValidator : AbstractValidator<VerifyGoldenPackagePurchaseCommand>
{
    public VerifyGoldenPackagePurchaseCommandValidator()
    {
        RuleFor(x => x.OrderId)
            .GreaterThan(0)
            .WithMessage("شناسه سفارش باید بزرگتر از 0 باشد");

        RuleFor(x => x.Authority)
            .NotEmpty()
            .WithMessage("کد Authority الزامی است");

        RuleFor(x => x.Status)
            .NotEmpty()
            .WithMessage("وضعیت پرداخت الزامی است")
            .Must(s => s == "OK" || s == "NOK")
            .WithMessage("وضعیت باید OK یا NOK باشد");
    }
}
