namespace CMSMicroservice.Application.UserOrderCQ.Commands.ApplyDiscountToOrder;

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

        RuleFor(x => x.DiscountAmount)
            .GreaterThan(0)
            .WithMessage("مبلغ تخفیف باید بزرگتر از 0 باشد");

        RuleFor(x => x.Reason)
            .NotEmpty()
            .WithMessage("دلیل تخفیف الزامی است")
            .MaximumLength(500)
            .WithMessage("دلیل تخفیف نمی‌تواند بیشتر از 500 کاراکتر باشد");
    }
}
